Rev 2365: Split out the unicode tests properly. in http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/iter_changes_unicode_unknowns
John Arbash Meinel
john at arbash-meinel.com
Fri Mar 16 16:55:31 GMT 2007
At http://bzr.arbash-meinel.com/branches/bzr/0.15-dev/iter_changes_unicode_unknowns
------------------------------------------------------------
revno: 2365
revision-id: john at arbash-meinel.com-20070316165516-ebryccbzw9xv2ohr
parent: john at arbash-meinel.com-20070315232208-4t93v94kr37ducen
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: iter_changes_unicode_unknowns
timestamp: Fri 2007-03-16 11:55:16 -0500
message:
Split out the unicode tests properly.
modified:
bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
-------------- next part --------------
=== modified file 'bzrlib/tests/intertree_implementations/test_compare.py'
--- a/bzrlib/tests/intertree_implementations/test_compare.py 2007-03-15 23:22:08 +0000
+++ b/bzrlib/tests/intertree_implementations/test_compare.py 2007-03-16 16:55:16 +0000
@@ -1015,19 +1015,13 @@
tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
- expected = sorted([
- self.added(tree2, added_id),
- ])
- self.assertEqual(expected,
+ self.assertEqual([self.added(tree2, added_id)],
self.do_iter_changes(tree1, tree2))
- expected = sorted([
- self.added(tree2, added_id),
- ])
- self.assertEqual(expected,
+ self.assertEqual([self.added(tree2, added_id)],
self.do_iter_changes(tree1, tree2,
specific_files=[u'\u03b1']))
- def test_removed_unicode(self):
+ def test_deleted_unicode(self):
tree1 = self.make_branch_and_tree('tree1')
tree2 = self.make_to_branch_and_tree('tree2')
root_id = tree1.get_root_id()
@@ -1036,64 +1030,142 @@
# 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')
+ deleted_id = u'\u03c9_deleted_id'.encode('utf8')
self.build_tree([u'tree1/\u03b1/',
- u'tree1/\u03b1/\u03c9-removed',
+ u'tree1/\u03b1/\u03c9-deleted',
u'tree2/\u03b1/',
])
- tree1.add([u'\u03b1', u'\u03b1/\u03c9-removed'], [a_id, removed_id])
+ tree1.add([u'\u03b1', u'\u03b1/\u03c9-deleted'], [a_id, deleted_id])
tree2.add([u'\u03b1'], [a_id])
tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
- self.assertEqual([self.deleted(tree1, removed_id)],
+ self.assertEqual([self.deleted(tree1, deleted_id)],
self.do_iter_changes(tree1, tree2))
- self.assertEqual([self.deleted(tree1, removed_id)],
+ self.assertEqual([self.deleted(tree1, deleted_id)],
self.do_iter_changes(tree1, tree2,
specific_files=[u'\u03b1']))
- def test_trees_with_unknowns_and_unicode(self):
+ def test_modified_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')
mod_id = u'\u03c9_mod_id'.encode('utf8')
- rename_id = u'\u03c9_rename_id'.encode('utf8')
- removed_id = u'\u03c9_removed_id'.encode('utf8')
- added_id = u'\u03c9_added_id'.encode('utf8')
self.build_tree([u'tree1/\u03b1/',
u'tree1/\u03b1/\u03c9-modified',
- u'tree1/\u03b1/\u03c9-removed',
u'tree2/\u03b1/',
- 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-modified',
- u'tree2/\u03c9-unknown_root_file',
+ ])
+ tree1.add([u'\u03b1', u'\u03b1/\u03c9-modified'], [a_id, mod_id])
+ tree2.add([u'\u03b1', u'\u03b1/\u03c9-modified'], [a_id, mod_id])
+
+ tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
+
+ self.assertEqual([self.content_changed(tree1, mod_id)],
+ self.do_iter_changes(tree1, tree2))
+ self.assertEqual([self.content_changed(tree1, mod_id)],
+ self.do_iter_changes(tree1, tree2,
+ specific_files=[u'\u03b1']))
+
+ def test_renamed_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')
+ rename_id = u'\u03c9_rename_id'.encode('utf8')
+ self.build_tree([u'tree1/\u03b1/',
+ u'tree2/\u03b1/',
])
self.build_tree_contents([(u'tree1/\u03c9-source', 'contents\n'),
(u'tree2/\u03b1/\u03c9-target', 'contents\n'),
])
- tree1.add([u'\u03b1', u'\u03b1/\u03c9-modified', u'\u03c9-source',
- 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])
+ tree1.add([u'\u03b1', u'\u03c9-source'], [a_id, rename_id])
+ tree2.add([u'\u03b1', u'\u03b1/\u03c9-target'], [a_id, rename_id])
+
+ tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
+
+ self.assertEqual([self.renamed(tree1, tree2, rename_id, False)],
+ self.do_iter_changes(tree1, tree2))
+ self.assertEqual([self.renamed(tree1, tree2, rename_id, False)],
+ self.do_iter_changes(tree1, tree2,
+ specific_files=[u'\u03b1']))
+
+ def test_unchanged_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')
+ subfile_id = u'\u03c9-subfile-id'.encode('utf8')
+ rootfile_id = u'\u03c9-root-id'.encode('utf8')
+ self.build_tree([u'tree1/\u03b1/',
+ u'tree2/\u03b1/',
+ ])
+ self.build_tree_contents([
+ (u'tree1/\u03b1/\u03c9-subfile', 'sub contents\n'),
+ (u'tree2/\u03b1/\u03c9-subfile', 'sub contents\n'),
+ (u'tree1/\u03c9-rootfile', 'root contents\n'),
+ (u'tree2/\u03c9-rootfile', 'root contents\n'),
+ ])
+ tree1.add([u'\u03b1', u'\u03b1/\u03c9-subfile', u'\u03c9-rootfile'],
+ [a_id, subfile_id, rootfile_id])
+ tree2.add([u'\u03b1', u'\u03b1/\u03c9-subfile', u'\u03c9-rootfile'],
+ [a_id, subfile_id, rootfile_id])
tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
expected = sorted([
self.unchanged(tree1, root_id),
self.unchanged(tree1, a_id),
- self.added(tree2, added_id),
- self.deleted(tree1, removed_id),
- self.renamed(tree1, tree2, rename_id, False),
- self.content_changed(tree1, mod_id),
+ self.unchanged(tree1, subfile_id),
+ self.unchanged(tree1, rootfile_id),
+ ])
+ self.assertEqual(expected,
+ self.do_iter_changes(tree1, tree2,
+ include_unchanged=True))
+
+ # We should also be able to select just a subset
+ expected = sorted([
+ self.unchanged(tree1, a_id),
+ self.unchanged(tree1, subfile_id),
+ ])
+ self.assertEqual(expected,
+ self.do_iter_changes(tree1, tree2,
+ specific_files=[u'\u03b1'],
+ include_unchanged=True))
+
+ def test_unknown_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')
+ self.build_tree([u'tree1/\u03b1/',
+ u'tree2/\u03b1/',
+ u'tree2/\u03b1/unknown_dir/',
+ u'tree2/\u03b1/unknown_file',
+ u'tree2/\u03b1/unknown_dir/file',
+ u'tree2/\u03c9-unknown_root_file',
+ ])
+ tree1.add([u'\u03b1'], [a_id])
+ tree2.add([u'\u03b1'], [a_id])
+
+ tree1, tree2 = self.mutable_trees_to_locked_test_trees(tree1, tree2)
+
+ expected = sorted([
self.unversioned(tree2, u'\u03b1/unknown_dir'),
self.unversioned(tree2, u'\u03b1/unknown_file'),
self.unversioned(tree2, u'\u03c9-unknown_root_file'),
@@ -1103,23 +1175,21 @@
])
self.assertEqual(expected,
self.do_iter_changes(tree1, tree2,
- include_unchanged=True,
require_versioned=False,
want_unversioned=True))
+ self.assertEqual([], # Without want_unversioned we should get nothing
+ self.do_iter_changes(tree1, tree2))
# We should also be able to select just a subset
expected = sorted([
- self.unchanged(tree1, a_id),
- self.added(tree2, added_id),
- self.deleted(tree1, removed_id),
- self.renamed(tree1, tree2, rename_id, False),
- self.content_changed(tree1, mod_id),
self.unversioned(tree2, u'\u03b1/unknown_dir'),
self.unversioned(tree2, u'\u03b1/unknown_file'),
])
self.assertEqual(expected,
self.do_iter_changes(tree1, tree2,
specific_files=[u'\u03b1'],
- include_unchanged=True,
require_versioned=False,
want_unversioned=True))
+ self.assertEqual([], # Without want_unversioned we should get nothing
+ self.do_iter_changes(tree1, tree2,
+ specific_files=[u'\u03b1']))
More information about the bazaar-commits
mailing list