/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 tests/test_mapping.py

  • Committer: Jelmer Vernooij
  • Date: 2010-05-02 18:32:55 UTC
  • mto: (0.200.912 trunk)
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jelmer@samba.org-20100502183255-vdvzcj2sb66cga3p
Fix file id map (de)serialization.

Show diffs side-by-side

added added

removed removed

Lines of Context:
84
84
        c.commit_timezone = 60 * 5
85
85
        c.author_timezone = 60 * 3
86
86
        c.author = "Author"
87
 
        rev, file_ids = BzrGitMappingv1().import_commit(c)
 
87
        rev = BzrGitMappingv1().import_commit(c)
88
88
        self.assertEquals("Some message", rev.message)
89
89
        self.assertEquals("Committer", rev.committer)
90
90
        self.assertEquals("Author", rev.properties['author'])
105
105
        c.author_timezone = 60 * 3
106
106
        c.author = u"Authér".encode("iso8859-1")
107
107
        c.encoding = "iso8859-1"
108
 
        rev, file_ids = BzrGitMappingv1().import_commit(c)
 
108
        rev = BzrGitMappingv1().import_commit(c)
109
109
        self.assertEquals(u"Authér", rev.properties['author'])
110
110
        self.assertEquals("iso8859-1", rev.properties["git-explicit-encoding"])
111
111
        self.assertTrue("git-implicit-encoding" not in rev.properties)
120
120
        c.commit_timezone = 60 * 5
121
121
        c.author_timezone = 60 * 3
122
122
        c.author = u"Authér".encode("latin1")
123
 
        rev, file_ids = BzrGitMappingv1().import_commit(c)
 
123
        rev = BzrGitMappingv1().import_commit(c)
124
124
        self.assertEquals(u"Authér", rev.properties['author'])
125
125
        self.assertEquals("latin1", rev.properties["git-implicit-encoding"])
126
126
        self.assertTrue("git-explicit-encoding" not in rev.properties)
135
135
        c.commit_timezone = 60 * 5
136
136
        c.author_timezone = 60 * 3
137
137
        c.author = u"Authér".encode("utf-8")
138
 
        rev, file_ids = BzrGitMappingv1().import_commit(c)
 
138
        rev = BzrGitMappingv1().import_commit(c)
139
139
        self.assertEquals(u"Authér", rev.properties['author'])
140
140
        self.assertTrue("git-explicit-encoding" not in rev.properties)
141
141
        self.assertTrue("git-implicit-encoding" not in rev.properties)
149
149
        self._parent_map = {}
150
150
        self._lookup_parent = self._parent_map.__getitem__
151
151
 
152
 
    def assertRoundtripRevision(self, orig_rev, orig_file_ids):
 
152
    def assertRoundtripRevision(self, orig_rev):
153
153
        commit = self.mapping.export_commit(orig_rev, "mysha",
154
 
            self._lookup_parent, True, orig_file_ids)
155
 
        rev, file_ids = self.mapping.import_commit(commit)
156
 
        self.assertEquals(orig_file_ids, file_ids)
 
154
            self._lookup_parent, True)
 
155
        rev = self.mapping.import_commit(commit)
157
156
        self.assertEquals(orig_rev.revision_id, rev.revision_id)
158
157
        self.assertEquals(orig_rev.properties, rev.properties)
159
158
        self.assertEquals(orig_rev.committer, rev.committer)
170
169
        r.timestamp = 453543543
171
170
        r.timezone = 0
172
171
        r.properties = {}
173
 
        self.assertRoundtripRevision(r, {})
 
172
        self.assertRoundtripRevision(r)
174
173
 
175
174
    def test_revision_id(self):
176
175
        r = Revision("myrevid")
180
179
        r.timestamp = 453543543
181
180
        r.timezone = 0
182
181
        r.properties = {}
183
 
        self.assertRoundtripRevision(r, {})
 
182
        self.assertRoundtripRevision(r)
184
183
 
185
184
    def test_ghost_parent(self):
186
185
        r = Revision("myrevid")
190
189
        r.timestamp = 453543543
191
190
        r.timezone = 0
192
191
        r.properties = {}
193
 
        self.assertRoundtripRevision(r, {})
 
192
        self.assertRoundtripRevision(r)
194
193
 
195
194
    def test_custom_property(self):
196
195
        r = Revision("myrevid")
200
199
        r.committer = "Jelmer Vernooij <jelmer@apache.org>"
201
200
        r.timestamp = 453543543
202
201
        r.timezone = 0
203
 
        self.assertRoundtripRevision(r, {})
204
 
 
205
 
    def test_file_ids(self):
206
 
        r = Revision("myrevid")
207
 
        r.message = "MyCommitMessage"
208
 
        r.parent_ids = []
209
 
        r.committer = "Jelmer Vernooij <jelmer@apache.org>"
210
 
        r.timestamp = 453543543
211
 
        r.timezone = 0
212
 
        r.properties = {}
213
 
        self.assertRoundtripRevision(r, {"foo/bar": "fileid"})
 
202
        self.assertRoundtripRevision(r)
214
203
 
215
204
 
216
205
class RoundtripRevisionsFromGit(tests.TestCase):
226
215
        raise NotImplementedError(self.assertRoundtripBlob)
227
216
 
228
217
    def assertRoundtripCommit(self, commit1):
229
 
        rev, file_ids = self.mapping.import_commit(commit1)
 
218
        rev = self.mapping.import_commit(commit1)
230
219
        commit2 = self.mapping.export_commit(rev, "12341212121212", None,
231
 
            True, file_ids)
 
220
            True)
232
221
        self.assertEquals(commit1.committer, commit2.committer)
233
222
        self.assertEquals(commit1.commit_time, commit2.commit_time)
234
223
        self.assertEquals(commit1.commit_timezone, commit2.commit_timezone)