~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to tests/test_groupcompress.py

Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
            'factory':make_pack_factory(False, False, 1),
41
41
            'graph': False,
42
42
            'key_length':1,
 
43
            'support_partial_insertion':False,
43
44
            }
44
45
        )
45
46
    applier = TestScenarioApplier()
76
77
    def test_two_nosha_delta(self):
77
78
        compressor = groupcompress.GroupCompressor(True)
78
79
        sha1_1, _ = compressor.compress(('label',),
79
 
            ['strange\n', 'common\n'], None)
 
80
            ['strange\n', 'common long line\n'], None)
80
81
        expected_lines = list(compressor.lines)
81
82
        sha1_2, end_point = compressor.compress(('newlabel',),
82
 
            ['common\n', 'different\n'], None)
83
 
        self.assertEqual(sha_strings(['common\n', 'different\n']), sha1_2)
 
83
            ['common long line\n', 'different\n'], None)
 
84
        self.assertEqual(sha_strings(['common long line\n', 'different\n']),
 
85
                         sha1_2)
84
86
        expected_lines.extend([
85
87
            'label: newlabel\n',
86
88
            'sha1: %s\n' % sha1_2,
87
89
            # copy the line common
88
 
            'c,72,7\n',
89
 
            # add the line different
90
 
            'i,1\n',
 
90
            'c,72,17\n',
 
91
            # add the line different, and the trailing newline
 
92
            'i,2\n',
91
93
            'different\n',
92
 
            # Insert the trailing newline.
93
 
            'i,1\n',
94
94
            '\n'
95
95
            ])
96
 
        self.assertEqual(expected_lines, compressor.lines)
 
96
        self.assertEqualDiff(''.join(expected_lines), ''.join(compressor.lines))
97
97
        self.assertEqual(sum(map(len, expected_lines)), end_point)
98
98
 
99
99
    def test_three_nosha_delta(self):
101
101
        # both parents.
102
102
        compressor = groupcompress.GroupCompressor(True)
103
103
        sha1_1, end_point = compressor.compress(('label',),
104
 
            ['strange\n', 'common\n'], None)
 
104
            ['strange\n', 'common long line\n'], None)
105
105
        sha1_2, _ = compressor.compress(('newlabel',),
106
 
            ['common\n', 'different\n', 'moredifferent\n'], None)
 
106
            ['common long line\n', 'different\n', 'moredifferent\n'], None)
107
107
        expected_lines = list(compressor.lines)
108
108
        sha1_3, end_point = compressor.compress(('label3',),
109
 
            ['new\n', 'common\n', 'different\n', 'moredifferent\n'], None)
 
109
            ['new\n', 'common long line\n', 'different\n', 'moredifferent\n'],
 
110
            None)
110
111
        self.assertEqual(
111
 
            sha_strings(['new\n', 'common\n', 'different\n', 'moredifferent\n']),
 
112
            sha_strings(['new\n', 'common long line\n', 'different\n',
 
113
                         'moredifferent\n']),
112
114
            sha1_3)
113
115
        expected_lines.extend([
114
116
            'label: label3\n',
117
119
            'i,1\n',
118
120
            'new\n',
119
121
            # copy the line common
120
 
            'c,72,7\n',
121
 
            # copy the lines different, moredifferent
122
 
            'c,154,24\n',
123
 
            # Insert the trailing newline.
124
 
            'i,1\n',
125
 
            '\n'
 
122
            'c,72,17\n',
 
123
            # copy the lines different, moredifferent and trailing newline
 
124
            'c,165,25\n',
126
125
            ])
127
126
        self.assertEqualDiff(''.join(expected_lines),
128
127
                             ''.join(compressor.lines))