/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/plugins/changelog_merge/tests/test_changelog_merge.py

  • Committer: Jelmer Vernooij
  • Date: 2019-06-02 02:35:46 UTC
  • mfrom: (7309 work)
  • mto: This revision was merged to the branch mainline in revision 7319.
  • Revision ID: jelmer@jelmer.uk-20190602023546-lqco868tnv26d8ow
merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
127
127
        def guess_edits(new, deleted):
128
128
            #import pdb; pdb.set_trace()
129
129
            return changelog_merge.default_guess_edits(new, deleted,
130
 
                    entry_as_str=lambda x: x)
 
130
                                                       entry_as_str=lambda x: x)
131
131
        result_entries = changelog_merge.merge_entries(
132
132
            sample2_base_entries, sample2_this_entries, sample2_other_entries,
133
133
            guess_edits=guess_edits)
147
147
        # resolve.  (Ideally perhaps we'd generate a nice conflict file, but
148
148
        # for now we just give up.)
149
149
        self.assertRaises(changelog_merge.EntryConflict,
150
 
            changelog_merge.merge_entries,
151
 
            [(entry, ) for entry in sample2_base_entries],
152
 
            [],
153
 
            [(entry, ) for entry in sample2_other_entries])
 
150
                          changelog_merge.merge_entries,
 
151
                          [(entry, ) for entry in sample2_base_entries],
 
152
                          [],
 
153
                          [(entry, ) for entry in sample2_other_entries])
154
154
 
155
155
    def test_default_guess_edits(self):
156
156
        """default_guess_edits matches a new entry only once.
157
 
        
 
157
 
158
158
        (Even when that entry is the best match for multiple old entries.)
159
159
        """
160
160
        new_in_other = [(b'AAAAA',), (b'BBBBB',)]
163
163
        result = changelog_merge.default_guess_edits(
164
164
            new_in_other, deleted_in_other)
165
165
        self.assertEqual(
166
 
            ([(b'AAAAA',)], # new
167
 
             [(b'DDDDD',), (b'BBBBBxx',)], # deleted
168
 
             [((b'BBBBBx',), (b'BBBBB',))]), # edits
 
166
            ([(b'AAAAA',)],  # new
 
167
             [(b'DDDDD',), (b'BBBBBxx',)],  # deleted
 
168
             [((b'BBBBBx',), (b'BBBBB',))]),  # edits
169
169
            result)
170
170
 
171
171
 
172
172
class TestChangeLogMerger(tests.TestCaseWithTransport):
173
173
    """Tests for ChangeLogMerger class.
174
 
    
 
174
 
175
175
    Most tests should be unit tests for merge_entries (and its helpers).
176
176
    This class is just to cover the handful of lines of code in ChangeLogMerger
177
177
    itself.
185
185
    def make_changelog_merger(self, base_text, this_text, other_text):
186
186
        builder = self.make_builder()
187
187
        builder.add_file(b'clog-id', builder.tree_root, 'ChangeLog',
188
 
            base_text, True)
 
188
                         base_text, True)
189
189
        builder.change_contents(b'clog-id', other=other_text, this=this_text)
190
190
        merger = builder.make_merger(merge.Merge3Merger, [b'clog-id'])
191
191
        # The following can't use config stacks until the plugin itself does
194
194
        merger.this_branch.get_config().set_user_option(
195
195
            'changelog_merge_files', 'ChangeLog')
196
196
        merge_hook_params = merge.MergeFileHookParams(merger, b'clog-id',
197
 
                ['ChangeLog', 'ChangeLog', 'ChangeLog'], None,
198
 
                'file', 'file', 'conflict')
 
197
                                                      ['ChangeLog', 'ChangeLog',
 
198
                                                          'ChangeLog'], None,
 
199
                                                      'file', 'file', 'conflict')
199
200
        changelog_merger = changelog_merge.ChangeLogMerger(merger)
200
201
        return changelog_merger, merge_hook_params
201
202
 
222
223
        self.assertEqual(
223
224
            ('success', [b'other text\n', b'this text\n']),
224
225
            (status, list(lines)))
225