~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_knit.py

  • Committer: Robert Collins
  • Date: 2010-04-10 09:22:04 UTC
  • mto: This revision was merged to the branch mainline in revision 5142.
  • Revision ID: robertc@robertcollins.net-20100410092204-jrdwwf7vtfr0t41k
``bzrlib.mutabletree.MutableTree.commit`` will now support a passed in
config as in previous versions of bzrlib. (Robert Collins)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
"""Tests for Knit data structure"""
18
18
 
19
19
from cStringIO import StringIO
 
20
import difflib
 
21
import gzip
20
22
import sys
21
23
 
22
24
from bzrlib import (
23
25
    errors,
 
26
    generate_ids,
24
27
    knit,
25
28
    multiparent,
26
29
    osutils,
27
30
    pack,
28
31
    tests,
29
 
    transport,
30
 
    tuned_gzip,
31
32
    )
32
33
from bzrlib.errors import (
 
34
    RevisionAlreadyPresent,
33
35
    KnitHeaderError,
 
36
    RevisionNotPresent,
34
37
    NoSuchFile,
35
38
    )
36
39
from bzrlib.index import *
37
40
from bzrlib.knit import (
38
41
    AnnotatedKnitContent,
39
42
    KnitContent,
 
43
    KnitSequenceMatcher,
40
44
    KnitVersionedFiles,
41
45
    PlainKnitContent,
42
46
    _VFContentMapGenerator,
46
50
    _KnitKeyAccess,
47
51
    make_file_factory,
48
52
    )
49
 
from bzrlib.patiencediff import PatienceSequenceMatcher
50
53
from bzrlib.repofmt import pack_repo
51
54
from bzrlib.tests import (
 
55
    Feature,
 
56
    KnownFailure,
52
57
    TestCase,
53
58
    TestCaseWithMemoryTransport,
54
59
    TestCaseWithTransport,
55
60
    TestNotApplicable,
56
61
    )
 
62
from bzrlib.transport import get_transport
 
63
from bzrlib.transport.memory import MemoryTransport
 
64
from bzrlib.tuned_gzip import GzipFile
57
65
from bzrlib.versionedfile import (
58
66
    AbsentContentFactory,
59
67
    ConstantMapper,
98
106
        line_delta = source_content.line_delta(target_content)
99
107
        delta_blocks = list(KnitContent.get_line_delta_blocks(line_delta,
100
108
            source_lines, target_lines))
101
 
        matcher = PatienceSequenceMatcher(None, source_lines, target_lines)
102
 
        matcher_blocks = list(matcher.get_matching_blocks())
 
109
        matcher = KnitSequenceMatcher(None, source_lines, target_lines)
 
110
        matcher_blocks = list(list(matcher.get_matching_blocks()))
103
111
        self.assertEqual(matcher_blocks, delta_blocks)
104
112
 
105
113
    def test_get_line_delta_blocks(self):
692
700
 
693
701
    def create_gz_content(self, text):
694
702
        sio = StringIO()
695
 
        gz_file = tuned_gzip.GzipFile(mode='wb', fileobj=sio)
 
703
        gz_file = gzip.GzipFile(mode='wb', fileobj=sio)
696
704
        gz_file.write(text)
697
705
        gz_file.close()
698
706
        return sio.getvalue()
1571
1579
        # could leave an empty .kndx file, which bzr would later claim was a
1572
1580
        # corrupted file since the header was not present. In reality, the file
1573
1581
        # just wasn't created, so it should be ignored.
1574
 
        t = transport.get_transport('.')
 
1582
        t = get_transport('.')
1575
1583
        t.put_bytes('test.kndx', '')
1576
1584
 
1577
1585
        knit = self.make_test_knit()
1578
1586
 
1579
1587
    def test_knit_index_checks_header(self):
1580
 
        t = transport.get_transport('.')
 
1588
        t = get_transport('.')
1581
1589
        t.put_bytes('test.kndx', '# not really a knit header\n\n')
1582
1590
        k = self.make_test_knit()
1583
1591
        self.assertRaises(KnitHeaderError, k.keys)