Rev 2301: Add tests for parent ids in test_test_trees in http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/utf8_file_ids

John Arbash Meinel john at arbash-meinel.com
Sat Feb 17 22:03:15 GMT 2007


At http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/utf8_file_ids

------------------------------------------------------------
revno: 2301
revision-id: john at arbash-meinel.com-20070217220308-1zol1ee5a0stse1u
parent: john at arbash-meinel.com-20070217215417-fpufrf0o749ce85d
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: utf8_file_ids
timestamp: Sat 2007-02-17 16:03:08 -0600
message:
  Add tests for parent ids in test_test_trees
modified:
  bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
  bzrlib/tests/tree_implementations/test_test_trees.py test_tree_trees.py-20060720091921-3nwi5h21lf06vf5p-1
-------------- next part --------------
=== modified file 'bzrlib/tests/tree_implementations/__init__.py'
--- a/bzrlib/tests/tree_implementations/__init__.py	2007-02-17 21:12:55 +0000
+++ b/bzrlib/tests/tree_implementations/__init__.py	2007-02-17 22:03:08 +0000
@@ -181,7 +181,7 @@
         # testing.
         file_ids = [u'TREE_ROOT',
                     u'f\xf6-id',
-                    u'b\xe5-r-id',
+                    u'b\xe5r-id',
                     u'b\xe1z-id',
                    ]
         try:

=== modified file 'bzrlib/tests/tree_implementations/test_test_trees.py'
--- a/bzrlib/tests/tree_implementations/test_test_trees.py	2007-02-17 21:12:55 +0000
+++ b/bzrlib/tests/tree_implementations/test_test_trees.py	2007-02-17 22:03:08 +0000
@@ -133,10 +133,10 @@
         tree = self.get_tree_with_utf8(tree)
 
         revision_id = u'r\xe9v-1'.encode('utf8')
-        path_and_ids = [(u'', u'TREE_ROOT'),
-                        (u'b\xe5r', u'b\xe5-r-id'),
-                        (u'f\xf6', u'f\xf6-id'),
-                        (u'b\xe5r/b\xe1z', u'b\xe1z-id'),
+        path_and_ids = [(u'', u'TREE_ROOT', None),
+                        (u'b\xe5r', u'b\xe5r-id', u'TREE_ROOT'),
+                        (u'f\xf6', u'f\xf6-id', u'TREE_ROOT'),
+                        (u'b\xe5r/b\xe1z', u'b\xe1z-id', u'b\xe5r-id'),
                        ]
         tree.lock_read()
         try:
@@ -144,22 +144,28 @@
         finally:
             tree.unlock()
 
-        for expected, actual in zip(path_and_ids, path_entries):
-            self.assertEqual(expected[0], actual[0]) # Paths should match
-            self.assertEqual(expected[1], actual[1].file_id)
-            if isinstance(actual[1].file_id, str):
+        for expected, (path, ie) in zip(path_and_ids, path_entries):
+            self.assertEqual(expected[0], path) # Paths should match
+            self.assertIsInstance(path, unicode)
+            self.assertEqual(expected[1], ie.file_id)
+            if isinstance(ie.file_id, str):
                 # file_ids might be plain strings, but only if they are ascii
-                actual[1].file_id.decode('ascii')
+                ie.file_id.decode('ascii')
             else:
-                self.assertIsInstance(actual[1].file_id, unicode)
+                self.assertIsInstance(ie.file_id, unicode)
+            self.assertEqual(expected[2], ie.parent_id)
+            if expected[2] is not None:
+                if isinstance(ie.parent_id, str):
+                    ie.parent_id.decode('ascii')
+                else:
+                    self.assertIsInstance(ie.parent_id, unicode)
             # WorkingTree's return None for the last modified revision
-            if actual[1].revision is not None:
-                self.assertIsInstance(actual[1].revision, str)
-                if expected[0] == '':
+            if ie.revision is not None:
+                self.assertIsInstance(ie.revision, str)
+                if expected[0] != '':
                     # Some trees will preserve the revision id of the tree root,
                     # but not all will
-                    continue
-                self.assertEqual(revision_id, actual[1].revision)
+                    self.assertEqual(revision_id, ie.revision)
         self.assertEqual(len(path_and_ids), len(path_entries))
         get_revision_id = getattr(tree, 'get_revision_id', None)
         if get_revision_id is not None:
@@ -174,11 +180,13 @@
 
         revision_id_1 = u'r\xe9v-1'.encode('utf8')
         revision_id_2 = u'r\xe9v-2'.encode('utf8')
-        path_and_ids = [(u'', u'TREE_ROOT', None),
-                        (u'b\xe5r', u'b\xe5-r-id', revision_id_1),
-                        (u'f\xf6', u'f\xf6-id', revision_id_1),
-                        (u'b\xe5r/b\xe1z', u'b\xe1z-id', revision_id_1),
-                        (u'b\xe5r/z\xf7z', u'z\xf7z-id', revision_id_2),
+        path_and_ids = [(u'', u'TREE_ROOT', None, None),
+                        (u'b\xe5r', u'b\xe5r-id', u'TREE_ROOT', revision_id_1),
+                        (u'f\xf6', u'f\xf6-id', u'TREE_ROOT', revision_id_1),
+                        (u'b\xe5r/b\xe1z', u'b\xe1z-id', u'b\xe5r-id',
+                            revision_id_1),
+                        (u'b\xe5r/z\xf7z', u'z\xf7z-id', u'b\xe5r-id',
+                            revision_id_2),
                        ]
         tree.lock_read()
         try:
@@ -186,22 +194,29 @@
         finally:
             tree.unlock()
 
-        for expected, actual in zip(path_and_ids, path_entries):
-            self.assertEqual(expected[0], actual[0]) # Paths should match
-            self.assertEqual(expected[1], actual[1].file_id)
-            if isinstance(actual[1].file_id, str):
+        for expected, (path, ie) in zip(path_and_ids, path_entries):
+            self.assertEqual(expected[0], path) # Paths should match
+            self.assertIsInstance(path, unicode)
+            self.assertEqual(expected[1], ie.file_id)
+            if isinstance(ie.file_id, str):
                 # file_ids might be plain strings, but only if they are ascii
-                actual[1].file_id.decode('ascii')
+                ie.file_id.decode('ascii')
             else:
-                self.assertIsInstance(actual[1].file_id, unicode)
+                self.assertIsInstance(ie.file_id, unicode)
+            self.assertEqual(expected[2], ie.parent_id)
+            if expected[2] is not None:
+                if isinstance(ie.parent_id, str):
+                    ie.parent_id.decode('ascii')
+                else:
+                    self.assertIsInstance(ie.parent_id, unicode)
             # WorkingTree's return None for the last modified revision
-            if actual[1].revision is not None:
-                self.assertIsInstance(actual[1].revision, str)
+            if ie.revision is not None:
+                self.assertIsInstance(ie.revision, str)
                 if expected[0] == '':
                     # Some trees will preserve the revision id of the tree root,
                     # but not all will
                     continue
-                self.assertEqual(expected[2], actual[1].revision)
+                self.assertEqual(expected[3], ie.revision)
         self.assertEqual(len(path_and_ids), len(path_entries))
         get_revision_id = getattr(tree, 'get_revision_id', None)
         if get_revision_id is not None:



More information about the bazaar-commits mailing list