diff 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
line wrap: on
line diff
--- a/rhodecode/tests/vcs/test_changesets.py	Tue May 28 23:27:44 2013 +0200
+++ b/rhodecode/tests/vcs/test_changesets.py	Wed May 29 00:20:27 2013 +0200
@@ -1,3 +1,4 @@
+# encoding: utf8
 from __future__ import with_statement
 
 import time
@@ -302,6 +303,7 @@
                 'date': datetime.datetime(2010, 1, 1, 20),
                 'added': [
                     FileNode('foo/bar', content='foo'),
+                    FileNode('foo/bał', content='foo'),
                     FileNode('foobar', content='foo'),
                     FileNode('qwe', content='foo'),
                 ],
@@ -323,6 +325,7 @@
         changeset = self.repo.get_changeset(0)
         self.assertItemsEqual(changeset.added, [
             changeset.get_node('foo/bar'),
+            changeset.get_node('foo/bał'),
             changeset.get_node('foobar'),
             changeset.get_node('qwe'),
         ])
@@ -344,6 +347,14 @@
         self.assertEqual(len(changeset.removed), 1)
         self.assertEqual(list(changeset.removed)[0].path, 'qwe')
 
+    def test_get_filemode(self):
+        changeset = self.repo.get_changeset()
+        self.assertEqual(33188, changeset.get_file_mode('foo/bar'))
+
+    def test_get_filemode_non_ascii(self):
+        changeset = self.repo.get_changeset()
+        self.assertEqual(33188, changeset.get_file_mode('foo/bał'))
+        self.assertEqual(33188, changeset.get_file_mode(u'foo/bał'))
 
 # For each backend create test case class
 for alias in SCM_TESTS: