comparison tests/test_tags.py @ 376:9327e9325645

Use tbdelta to push added tags into .hgtags.
author Dirkjan Ochtman <dirkjan@ochtman.nl>
date Fri, 29 May 2009 15:28:44 +0200
parents af9fc01299b4
children e1b23a6ca093
comparison
equal deleted inserted replaced
375:af9fc01299b4 376:9327e9325645
11 class TestTags(test_util.TestBase): 11 class TestTags(test_util.TestBase):
12 def _load_fixture_and_fetch(self, fixture_name, stupid=False): 12 def _load_fixture_and_fetch(self, fixture_name, stupid=False):
13 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, 13 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path,
14 self.wc_path, stupid=stupid) 14 self.wc_path, stupid=stupid)
15 15
16 def _test_tag_revision_info(self, repo):
17 print repo.tags()
18 self.assertEqual(node.hex(repo[0].node()),
19 '434ed487136c1b47c1e8f952edb4dc5a8e6328df')
20 self.assertEqual(node.hex(repo['tip'].node()),
21 'c95251e0dd04697deee99b79cc407d7db76e6a5f')
22 self.assertEqual(repo['tip'], repo[1])
23
24 def test_tags(self, stupid=False): 16 def test_tags(self, stupid=False):
25 repo = self._load_fixture_and_fetch('basic_tag_tests.svndump', 17 repo = self._load_fixture_and_fetch('basic_tag_tests.svndump',
26 stupid=stupid) 18 stupid=stupid)
27 self._test_tag_revision_info(repo) 19 self.assertEqual(sorted(repo.tags()), ['copied_tag', 'tag_r3', 'tip'])
28 repo = self.repo 20 self.assertEqual(repo['tag_r3'], repo['copied_tag'])
29 self.assertEqual(repo['tip'].node(), repo['tag/tag_r3'].node()) 21 self.assertEqual(repo['tag_r3'].rev(), 1)
30 self.assertEqual(repo['tip'].node(), repo['tag/copied_tag'].node())
31 22
32 def test_tags_stupid(self): 23 def test_tags_stupid(self):
33 self.test_tags(stupid=True) 24 self.test_tags(stupid=True)
34 25
35 def test_remove_tag(self, stupid=False): 26 def test_remove_tag(self, stupid=False):
36 repo = self._load_fixture_and_fetch('remove_tag_test.svndump', 27 repo = self._load_fixture_and_fetch('remove_tag_test.svndump',
37 stupid=stupid) 28 stupid=stupid)
38 self._test_tag_revision_info(repo) 29 self.assertEqual(repo['tag_r3'].rev(), 1)
39 repo = self.repo 30 self.assert_('copied_tag' not in repo.tags())
40 self.assertEqual(repo['tip'].node(), repo['tag/tag_r3'].node())
41 self.assert_('tag/copied_tag' not in repo.tags())
42 31
43 def test_remove_tag_stupid(self): 32 def test_remove_tag_stupid(self):
44 self.test_remove_tag(stupid=True) 33 self.test_remove_tag(stupid=True)
45 34
46 def test_rename_tag(self, stupid=False): 35 def test_rename_tag(self, stupid=False):
47 repo = self._load_fixture_and_fetch('rename_tag_test.svndump', 36 repo = self._load_fixture_and_fetch('rename_tag_test.svndump',
48 stupid=stupid) 37 stupid=stupid)
49 self._test_tag_revision_info(repo) 38 self.assertEqual(repo['tag_r3'], repo['other_tag_r3'])
50 repo = self.repo 39 self.assert_('copied_tag' not in repo.tags())
51 self.assertEqual(repo['tip'].node(), repo['tag/tag_r3'].node())
52 self.assertEqual(repo['tip'].node(), repo['tag/other_tag_r3'].node())
53 self.assert_('tag/copied_tag' not in repo.tags())
54 40
55 def test_rename_tag_stupid(self): 41 def test_rename_tag_stupid(self):
56 self.test_rename_tag(stupid=True) 42 self.test_rename_tag(stupid=True)
57 43
58 def test_branch_from_tag(self, stupid=False): 44 def test_branch_from_tag(self, stupid=False):
59 repo = self._load_fixture_and_fetch('branch_from_tag.svndump', 45 repo = self._load_fixture_and_fetch('branch_from_tag.svndump',
60 stupid=stupid) 46 stupid=stupid)
61 repo = self.repo 47 self.assert_('branch_from_tag' in repo.branchtags())
62 self.assertEqual(repo['tip'].node(), repo['branch_from_tag'].node()) 48 self.assertEqual(repo[1], repo['tag_r3'])
63 self.assertEqual(repo[1].node(), repo['tag/tag_r3'].node()) 49 self.assertEqual(repo['branch_from_tag'].parents()[0], repo['copied_tag'])
64 self.assertEqual(repo['branch_from_tag'].parents()[0].node(),
65 repo['tag/copied_tag'].node())
66 50
67 def test_branch_from_tag_stupid(self): 51 def test_branch_from_tag_stupid(self):
68 self.test_branch_from_tag(stupid=True) 52 self.test_branch_from_tag(stupid=True)
69 53
70 def test_tag_by_renaming_branch(self, stupid=False): 54 def test_tag_by_renaming_branch(self, stupid=False):
71 repo = self._load_fixture_and_fetch('tag_by_rename_branch.svndump', 55 repo = self._load_fixture_and_fetch('tag_by_rename_branch.svndump',
72 stupid=stupid) 56 stupid=stupid)
73 repo = self.repo 57 branches = set(repo[h] for h in repo.heads(closed=False))
74 branches = set()
75 for h in repo.heads():
76 ctx = repo[h]
77 if 'close' not in ctx.extra():
78 branches.add(ctx.branch())
79
80 self.assert_('dummy' not in branches) 58 self.assert_('dummy' not in branches)
81 self.assertEqual(repo['tag/dummy'], repo['tip'].parents()[0]) 59 self.assertEqual(repo['dummy'], repo['tip'].parents()[0].parents()[0])
82 extra = repo['tip'].extra().copy() 60 extra = repo['tip'].extra().copy()
83 extra.pop('convert_revision', None) 61 extra.pop('convert_revision', None)
84 self.assertEqual(extra, {'branch': 'dummy', 'close': '1'}) 62 self.assertEqual(extra, {'branch': 'dummy', 'close': '1'})
85 63
86 def test_tag_by_renaming_branch_stupid(self): 64 def test_tag_by_renaming_branch_stupid(self):