summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_manifest_xml.py50
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
643class 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, [])