Rev 2363: Start splitting up the overzealous test into focused tests. in http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/iter_changes_unicode_unknowns

John Arbash Meinel john at arbash-meinel.com
Thu Mar 15 23:10:33 GMT 2007


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

------------------------------------------------------------
revno: 2363
revision-id: john at arbash-meinel.com-20070315231020-441uvn2zn3qs2p52
parent: john at arbash-meinel.com-20070315223535-d3d4964oe1hc8zhg
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: iter_changes_unicode_unknowns
timestamp: Thu 2007-03-15 18:10:20 -0500
message:
  Start splitting up the overzealous test into focused tests.
  And find the bug in add (I was decoding the wrong parameter)
modified:
  bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
  bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
-------------- next part --------------
=== modified file 'bzrlib/tests/intertree_implementations/test_compare.py'
--- a/bzrlib/tests/intertree_implementations/test_compare.py	2007-03-15 22:35:35 +0000
+++ b/bzrlib/tests/intertree_implementations/test_compare.py	2007-03-15 23:10:20 +0000
@@ -1052,6 +1052,70 @@
             ])
         self.assertEqual(expected, self.do_iter_changes(tree1, tree2))
 
+    def test_added_unicode(self):
+        tree1 = self.make_branch_and_tree('tree1')
+        tree2 = self.make_to_branch_and_tree('tree2')
+        root_id = tree1.get_root_id()
+        tree2.set_root_id(root_id)
+
+        # u'\u03b1' == GREEK SMALL LETTER ALPHA
+        # u'\u03c9' == GREEK SMALL LETTER OMEGA
+        a_id = u'\u03b1-id'.encode('utf8')
+        added_id = u'\u03c9_added_id'.encode('utf8')
+        self.build_tree([u'tree1/\u03b1/',
+                         u'tree2/\u03b1/',
+                         u'tree2/\u03b1/\u03c9-added',
+                        ])
+        tree1.add([u'\u03b1'], [a_id])
+        tree2.add([u'\u03b1', u'\u03b1/\u03c9-added'], [a_id, added_id])
+
+        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
+        tree1.lock_read()
+        self.addCleanup(tree1.unlock)
+        tree2.lock_read()
+        self.addCleanup(tree2.unlock)
+
+        expected = sorted([
+            self.added(tree2, added_id),
+            ])
+        self.assertEqual(expected,
+                         self.do_iter_changes(tree1, tree2))
+        expected = sorted([
+            self.added(tree2, added_id),
+            ])
+        self.assertEqual(expected,
+                         self.do_iter_changes(tree1, tree2,
+                                              specific_files=[u'\u03b1']))
+
+    def test_removed_unicode(self):
+        tree1 = self.make_branch_and_tree('tree1')
+        tree2 = self.make_to_branch_and_tree('tree2')
+        root_id = tree1.get_root_id()
+        tree2.set_root_id(root_id)
+
+        # u'\u03b1' == GREEK SMALL LETTER ALPHA
+        # u'\u03c9' == GREEK SMALL LETTER OMEGA
+        a_id = u'\u03b1-id'.encode('utf8')
+        removed_id = u'\u03c9_removed_id'.encode('utf8')
+        self.build_tree([u'tree1/\u03b1/',
+                         u'tree1/\u03b1/\u03c9-removed',
+                         u'tree2/\u03b1/',
+                        ])
+        tree1.add([u'\u03b1', u'\u03b1/\u03c9-removed'], [a_id, removed_id])
+        tree2.add([u'\u03b1'], [a_id])
+
+        tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
+        tree1.lock_read()
+        self.addCleanup(tree1.unlock)
+        tree2.lock_read()
+        self.addCleanup(tree2.unlock)
+
+        self.assertEqual([self.deleted(tree1, removed_id)],
+                         self.do_iter_changes(tree1, tree2))
+        self.assertEqual([self.deleted(tree1, removed_id)],
+                         self.do_iter_changes(tree1, tree2,
+                                              specific_files=[u'\u03b1']))
+
     def test_trees_with_unknowns_and_unicode(self):
         tree1 = self.make_branch_and_tree('tree1')
         tree2 = self.make_to_branch_and_tree('tree2')
@@ -1071,7 +1135,7 @@
                          u'tree2/\u03b1/unknown_dir/',
                          u'tree2/\u03b1/unknown_file',
                          u'tree2/\u03b1/unknown_dir/file',
-                         # u'tree2/\u03b1/\u03c9-added',
+                         u'tree2/\u03b1/\u03c9-added',
                          u'tree2/\u03b1/\u03c9-modified',
                          u'tree2/\u03c9-unknown_root_file',
                         ])
@@ -1082,8 +1146,8 @@
                    u'\u03b1/\u03c9-removed'],
                   [a_id, mod_id, rename_id, removed_id])
         tree2.add([u'\u03b1', u'\u03b1/\u03c9-modified',
-                   u'\u03b1/\u03c9-target'], #, u'\u03b1/\u03c9-added'],
-                  [a_id, mod_id, rename_id])# , added_id])
+                   u'\u03b1/\u03c9-target', u'\u03b1/\u03c9-added'],
+                  [a_id, mod_id, rename_id , added_id])
 
         tree1, tree2 = self.mutable_trees_to_test_trees(tree1, tree2)
         tree1.lock_read()
@@ -1093,7 +1157,7 @@
         expected = sorted([
             self.unchanged(tree1, root_id),
             self.unchanged(tree1, a_id),
-            # self.added(tree2, added_id),
+            self.added(tree2, added_id),
             self.deleted(tree1, removed_id),
             self.renamed(tree1, tree2, rename_id, False),
             self.content_changed(tree1, mod_id),
@@ -1113,7 +1177,7 @@
         # We should also be able to select just a subset
         expected = sorted([
             self.unchanged(tree1, a_id),
-            # self.added(tree2, added_id),
+            self.added(tree2, added_id),
             self.deleted(tree1, removed_id),
             self.renamed(tree1, tree2, rename_id, False),
             self.content_changed(tree1, mod_id),

=== modified file 'bzrlib/workingtree_4.py'
--- a/bzrlib/workingtree_4.py	2007-03-15 22:35:35 +0000
+++ b/bzrlib/workingtree_4.py	2007-03-15 23:10:20 +0000
@@ -1937,8 +1937,8 @@
                     return ((entry[0][2], (None, path), True,
                             (False, True),
                             (None, parent_id),
-                            (None, entry[0][1]),
-                            (None, utf8_decode(path_info[2])[0]),
+                            (None, utf8_decode(entry[0][1])[0]),
+                            (None, path_info[2]),
                             (None, target_exec)),)
                 else:
                     # but its not on disk: we deliberately treat this as just



More information about the bazaar-commits mailing list