Addon Manager: Add <bundle> and <other>

This commit is contained in:
Chris Hennes
2025-02-22 22:03:32 -06:00
parent b021e39c54
commit 61c02090be
11 changed files with 109 additions and 23 deletions

View File

@@ -93,6 +93,8 @@ class TestAddon(unittest.TestCase):
self.assertTrue(addon_with_workbench.contains_workbench())
self.assertFalse(addon_with_workbench.contains_macro())
self.assertFalse(addon_with_workbench.contains_preference_pack())
self.assertFalse(addon_with_workbench.contains_bundle())
self.assertFalse(addon_with_workbench.contains_other())
# Macros
addon_with_macro = Addon(
@@ -105,6 +107,8 @@ class TestAddon(unittest.TestCase):
self.assertFalse(addon_with_macro.contains_workbench())
self.assertTrue(addon_with_macro.contains_macro())
self.assertFalse(addon_with_macro.contains_preference_pack())
self.assertFalse(addon_with_workbench.contains_bundle())
self.assertFalse(addon_with_workbench.contains_other())
# Preference Packs
addon_with_prefpack = Addon(
@@ -117,6 +121,8 @@ class TestAddon(unittest.TestCase):
self.assertFalse(addon_with_prefpack.contains_workbench())
self.assertFalse(addon_with_prefpack.contains_macro())
self.assertTrue(addon_with_prefpack.contains_preference_pack())
self.assertFalse(addon_with_workbench.contains_bundle())
self.assertFalse(addon_with_workbench.contains_other())
# Combination
addon_with_all = Addon(
@@ -129,6 +135,8 @@ class TestAddon(unittest.TestCase):
self.assertTrue(addon_with_all.contains_workbench())
self.assertTrue(addon_with_all.contains_macro())
self.assertTrue(addon_with_all.contains_preference_pack())
self.assertTrue(addon_with_all.contains_bundle())
self.assertTrue(addon_with_all.contains_other())
# Now do the simple, explicitly-set cases
addon_wb = Addon(

View File

@@ -616,6 +616,22 @@ class TestMetadataReaderIntegration(unittest.TestCase):
expected_packs.remove(wb.name)
self.assertEqual(len(expected_packs), 0)
def test_bundle(self):
from addonmanager_metadata import MetadataReader
filename = os.path.join(self.test_data_dir, "bundle_only.xml")
metadata = MetadataReader.from_file(filename)
self.assertIn("bundle", metadata.content)
self.assertEqual(len(metadata.content["bundle"]), 1)
def test_other(self):
from addonmanager_metadata import MetadataReader
filename = os.path.join(self.test_data_dir, "other_only.xml")
metadata = MetadataReader.from_file(filename)
self.assertIn("other", metadata.content)
self.assertEqual(len(metadata.content["other"]), 1)
def test_content_combination(self):
from addonmanager_metadata import MetadataReader