diff options
Diffstat (limited to 'tests/test_manifest_xml.py')
| -rw-r--r-- | tests/test_manifest_xml.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/test_manifest_xml.py b/tests/test_manifest_xml.py index 55468b51..96ee4c4a 100644 --- a/tests/test_manifest_xml.py +++ b/tests/test_manifest_xml.py | |||
| @@ -638,3 +638,53 @@ class RemoteElementTests(ManifestParseTestCase): | |||
| 638 | self.assertNotEqual(a, manifest_xml._Default()) | 638 | self.assertNotEqual(a, manifest_xml._Default()) |
| 639 | self.assertNotEqual(a, 123) | 639 | self.assertNotEqual(a, 123) |
| 640 | self.assertNotEqual(a, None) | 640 | self.assertNotEqual(a, None) |
| 641 | |||
| 642 | |||
| 643 | class RemoveProjectElementTests(ManifestParseTestCase): | ||
| 644 | """Tests for <remove-project>.""" | ||
| 645 | |||
| 646 | def test_remove_one_project(self): | ||
| 647 | manifest = self.getXmlManifest(""" | ||
| 648 | <manifest> | ||
| 649 | <remote name="default-remote" fetch="http://localhost" /> | ||
| 650 | <default remote="default-remote" revision="refs/heads/main" /> | ||
| 651 | <project name="myproject" /> | ||
| 652 | <remove-project name="myproject" /> | ||
| 653 | </manifest> | ||
| 654 | """) | ||
| 655 | self.assertEqual(manifest.projects, []) | ||
| 656 | |||
| 657 | def test_remove_one_project_one_remains(self): | ||
| 658 | manifest = self.getXmlManifest(""" | ||
| 659 | <manifest> | ||
| 660 | <remote name="default-remote" fetch="http://localhost" /> | ||
| 661 | <default remote="default-remote" revision="refs/heads/main" /> | ||
| 662 | <project name="myproject" /> | ||
| 663 | <project name="yourproject" /> | ||
| 664 | <remove-project name="myproject" /> | ||
| 665 | </manifest> | ||
| 666 | """) | ||
| 667 | |||
| 668 | self.assertEqual(len(manifest.projects), 1) | ||
| 669 | self.assertEqual(manifest.projects[0].name, 'yourproject') | ||
| 670 | |||
| 671 | def test_remove_one_project_doesnt_exist(self): | ||
| 672 | with self.assertRaises(manifest_xml.ManifestParseError): | ||
| 673 | manifest = self.getXmlManifest(""" | ||
| 674 | <manifest> | ||
| 675 | <remote name="default-remote" fetch="http://localhost" /> | ||
| 676 | <default remote="default-remote" revision="refs/heads/main" /> | ||
| 677 | <remove-project name="myproject" /> | ||
| 678 | </manifest> | ||
| 679 | """) | ||
| 680 | manifest.projects | ||
| 681 | |||
| 682 | def test_remove_one_optional_project_doesnt_exist(self): | ||
| 683 | manifest = self.getXmlManifest(""" | ||
| 684 | <manifest> | ||
| 685 | <remote name="default-remote" fetch="http://localhost" /> | ||
| 686 | <default remote="default-remote" revision="refs/heads/main" /> | ||
| 687 | <remove-project name="myproject" optional="true" /> | ||
| 688 | </manifest> | ||
| 689 | """) | ||
| 690 | self.assertEqual(manifest.projects, []) | ||
