Mercurial > hgsubversion
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): |
