Mercurial > kallithea
comparison rhodecode/tests/vcs/test_changesets.py @ 3912:91f440a11b94 beta
fixes issues #849 IMC failed for non-ascii files
- added set of regression tests into vcs lib
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 29 May 2013 00:20:27 +0200 |
parents | 42981614c624 |
children | ffd45b185016 |
comparison
equal
deleted
inserted
replaced
3911:7cca0d07c12b | 3912:91f440a11b94 |
---|---|
1 # encoding: utf8 | |
1 from __future__ import with_statement | 2 from __future__ import with_statement |
2 | 3 |
3 import time | 4 import time |
4 import datetime | 5 import datetime |
5 from rhodecode.lib import vcs | 6 from rhodecode.lib import vcs |
300 'message': u'Initial', | 301 'message': u'Initial', |
301 'author': u'Joe Doe <joe.doe@example.com>', | 302 'author': u'Joe Doe <joe.doe@example.com>', |
302 'date': datetime.datetime(2010, 1, 1, 20), | 303 'date': datetime.datetime(2010, 1, 1, 20), |
303 'added': [ | 304 'added': [ |
304 FileNode('foo/bar', content='foo'), | 305 FileNode('foo/bar', content='foo'), |
306 FileNode('foo/bał', content='foo'), | |
305 FileNode('foobar', content='foo'), | 307 FileNode('foobar', content='foo'), |
306 FileNode('qwe', content='foo'), | 308 FileNode('qwe', content='foo'), |
307 ], | 309 ], |
308 }, | 310 }, |
309 { | 311 { |
321 | 323 |
322 def test_initial_commit(self): | 324 def test_initial_commit(self): |
323 changeset = self.repo.get_changeset(0) | 325 changeset = self.repo.get_changeset(0) |
324 self.assertItemsEqual(changeset.added, [ | 326 self.assertItemsEqual(changeset.added, [ |
325 changeset.get_node('foo/bar'), | 327 changeset.get_node('foo/bar'), |
328 changeset.get_node('foo/bał'), | |
326 changeset.get_node('foobar'), | 329 changeset.get_node('foobar'), |
327 changeset.get_node('qwe'), | 330 changeset.get_node('qwe'), |
328 ]) | 331 ]) |
329 self.assertItemsEqual(changeset.changed, []) | 332 self.assertItemsEqual(changeset.changed, []) |
330 self.assertItemsEqual(changeset.removed, []) | 333 self.assertItemsEqual(changeset.removed, []) |
342 ]) | 345 ]) |
343 self.assertTrue(isinstance(changeset.removed, RemovedFileNodesGenerator)) | 346 self.assertTrue(isinstance(changeset.removed, RemovedFileNodesGenerator)) |
344 self.assertEqual(len(changeset.removed), 1) | 347 self.assertEqual(len(changeset.removed), 1) |
345 self.assertEqual(list(changeset.removed)[0].path, 'qwe') | 348 self.assertEqual(list(changeset.removed)[0].path, 'qwe') |
346 | 349 |
350 def test_get_filemode(self): | |
351 changeset = self.repo.get_changeset() | |
352 self.assertEqual(33188, changeset.get_file_mode('foo/bar')) | |
353 | |
354 def test_get_filemode_non_ascii(self): | |
355 changeset = self.repo.get_changeset() | |
356 self.assertEqual(33188, changeset.get_file_mode('foo/bał')) | |
357 self.assertEqual(33188, changeset.get_file_mode(u'foo/bał')) | |
347 | 358 |
348 # For each backend create test case class | 359 # For each backend create test case class |
349 for alias in SCM_TESTS: | 360 for alias in SCM_TESTS: |
350 attrs = { | 361 attrs = { |
351 'backend_alias': alias, | 362 'backend_alias': alias, |