##// END OF EJS Templates
api: wrap changeset file paths with safe_unicode...
domruf -
r6979:3725f86e default
parent child Browse files
Show More
@@ -393,9 +393,9 b' class BaseChangeset(object):'
393 message=self.message,
393 message=self.message,
394 date=self.date,
394 date=self.date,
395 author=self.author,
395 author=self.author,
396 added=[el.path for el in self.added],
396 added=[safe_unicode(el.path) for el in self.added],
397 changed=[el.path for el in self.changed],
397 changed=[safe_unicode(el.path) for el in self.changed],
398 removed=[el.path for el in self.removed],
398 removed=[safe_unicode(el.path) for el in self.removed],
399 )
399 )
400 else:
400 else:
401 return dict(
401 return dict(
@@ -667,9 +667,9 b' class BaseChangeset(object):'
667 data = get_dict_for_attrs(self, ['id', 'raw_id', 'short_id',
667 data = get_dict_for_attrs(self, ['id', 'raw_id', 'short_id',
668 'revision', 'date', 'message'])
668 'revision', 'date', 'message'])
669 data['author'] = {'name': self.author_name, 'email': self.author_email}
669 data['author'] = {'name': self.author_name, 'email': self.author_email}
670 data['added'] = [node.path for node in self.added]
670 data['added'] = [safe_unicode(node.path) for node in self.added]
671 data['changed'] = [node.path for node in self.changed]
671 data['changed'] = [safe_unicode(node.path) for node in self.changed]
672 data['removed'] = [node.path for node in self.removed]
672 data['removed'] = [safe_unicode(node.path) for node in self.removed]
673 return data
673 return data
674
674
675 @LazyProperty
675 @LazyProperty
@@ -30,7 +30,7 b' class TestBaseChangeset(unittest.TestCas'
30 changeset.date = datetime.datetime(2011, 1, 30, 1, 45)
30 changeset.date = datetime.datetime(2011, 1, 30, 1, 45)
31 changeset.message = 'Message of a commit'
31 changeset.message = 'Message of a commit'
32 changeset.author = 'Joe Doe <joe.doe@example.com>'
32 changeset.author = 'Joe Doe <joe.doe@example.com>'
33 changeset.added = [FileNode('foo/bar/baz'), FileNode('foobar')]
33 changeset.added = [FileNode('foo/bar/baz'), FileNode(u'foobar'), FileNode(u'blΓ₯bΓ¦rgrΓΈd')]
34 changeset.changed = []
34 changeset.changed = []
35 changeset.removed = []
35 changeset.removed = []
36 self.assertEqual(changeset.as_dict(), {
36 self.assertEqual(changeset.as_dict(), {
@@ -44,7 +44,7 b' class TestBaseChangeset(unittest.TestCas'
44 'name': 'Joe Doe',
44 'name': 'Joe Doe',
45 'email': 'joe.doe@example.com',
45 'email': 'joe.doe@example.com',
46 },
46 },
47 'added': ['foo/bar/baz', 'foobar'],
47 'added': ['foo/bar/baz', 'foobar', u'bl\xe5b\xe6rgr\xf8d'],
48 'changed': [],
48 'changed': [],
49 'removed': [],
49 'removed': [],
50 })
50 })
@@ -341,6 +341,8 b' class _ChangesetsChangesTestCaseMixin(_B'
341 ])
341 ])
342 self.assertItemsEqual(changeset.changed, [])
342 self.assertItemsEqual(changeset.changed, [])
343 self.assertItemsEqual(changeset.removed, [])
343 self.assertItemsEqual(changeset.removed, [])
344 assert u'foo/ba\u0142' in changeset.as_dict()['added']
345 assert u'foo/ba\u0142' in changeset.__json__(with_file_list=True)['added']
344
346
345 def test_head_added(self):
347 def test_head_added(self):
346 changeset = self.repo.get_changeset()
348 changeset = self.repo.get_changeset()
@@ -373,17 +375,17 b' for alias in SCM_TESTS:'
373 'backend_alias': alias,
375 'backend_alias': alias,
374 }
376 }
375 # tests with additional commits
377 # tests with additional commits
376 cls_name = ''.join(('%s changesets with commits test' % alias).title().split())
378 cls_name = alias.title() + 'ChangesetsWithCommitsTest'
377 bases = (_ChangesetsWithCommitsTestCaseixin, unittest.TestCase)
379 bases = (_ChangesetsWithCommitsTestCaseixin, unittest.TestCase)
378 globals()[cls_name] = type(cls_name, bases, attrs)
380 globals()[cls_name] = type(cls_name, bases, attrs)
379
381
380 # tests without additional commits
382 # tests without additional commits
381 cls_name = ''.join(('%s changesets test' % alias).title().split())
383 cls_name = alias.title() + 'ChangesetsTest'
382 bases = (_ChangesetsTestCaseMixin, unittest.TestCase)
384 bases = (_ChangesetsTestCaseMixin, unittest.TestCase)
383 globals()[cls_name] = type(cls_name, bases, attrs)
385 globals()[cls_name] = type(cls_name, bases, attrs)
384
386
385 # tests changes
387 # tests changes
386 cls_name = ''.join(('%s changesets changes test' % alias).title().split())
388 cls_name = alias.title() + 'ChangesetsChangesTest'
387 bases = (_ChangesetsChangesTestCaseMixin, unittest.TestCase)
389 bases = (_ChangesetsChangesTestCaseMixin, unittest.TestCase)
388 globals()[cls_name] = type(cls_name, bases, attrs)
390 globals()[cls_name] = type(cls_name, bases, attrs)
389
391
General Comments 0
You need to be logged in to leave comments. Login now