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, []) | ||