def test_fragment5_based_on(self): _ORDER = COMMON_SETUP_ORDER _HIDDEN = COMMON_SETUP_HIDDEN self._populateSite(order=_ORDER, hidden=_HIDDEN) site = self.site utility = self.storage self.assertEqual(len(utility._order.keys()), 2) self.assertEqual(len(utility._hidden.keys()), 1) self.assertEqual(utility.getOrder('top', 'fancy'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'undefined (fallback)'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'basic'), ('one', )) self.assertEqual(utility.getHidden('top', 'light'), ('two', )) context = DummyImportContext(site, False) context._files['viewlets.xml'] = self._FRAGMENT5_IMPORT importViewletSettingsStorage(context) self.assertEqual(len(utility._order.keys()), 5) self.assertEqual(utility.getOrder('top', 'fancy'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'existing'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'new'), ('three', 'two', 'one')) self.assertEqual(utility.getOrder('top', 'wrongbase'), ('two', )) self.assertEqual(utility.getOrder('top', 'undefined (fallback)'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'basic'), ('one', )) self.assertEqual(utility.getHidden('top', 'light'), ('two', ))
def test_fragment6_make_default(self): from plone.app.viewletmanager.exportimport.storage import \ importViewletSettingsStorage _ORDER = COMMON_SETUP_ORDER _HIDDEN = COMMON_SETUP_HIDDEN self._populateSite(order=_ORDER, hidden=_HIDDEN) site = self.site utility = self.storage self.assertEqual(len(utility._order.keys()), 2) self.assertEqual(len(utility._hidden.keys()), 1) self.assertEqual(utility.getOrder('top', 'fancy'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'undefined (fallback)'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'basic'), ('one',)) self.assertEqual(utility.getHidden('top', 'light'), ('two',)) context = DummyImportContext(site, False) context._files['viewlets.xml'] = self._FRAGMENT6_IMPORT importViewletSettingsStorage(context) self.assertEqual(utility.getOrder('top', 'undefined'), ('one', 'two', 'three')) self.assertEqual(utility.getHidden('top', 'undefined'), ('two',))
def test_empty_default_purge(self): from plone.app.viewletmanager.exportimport.storage import \ importViewletSettingsStorage _ORDER = COMMON_SETUP_ORDER _HIDDEN = COMMON_SETUP_HIDDEN self._populateSite(order=_ORDER, hidden=_HIDDEN) site = self.site utility = self.storage self.assertEqual(len(utility.getOrder('top', 'fancy')), 3) self.assertEqual(len(utility.getOrder('top', 'basic')), 1) self.assertEqual(len(utility.getHidden('top', 'light')), 1) self.assertEqual(len(utility.getOrder('top', 'undefined')), 3) context = DummyImportContext(site) context._files['viewlets.xml'] = self._EMPTY_EXPORT importViewletSettingsStorage(context) self.assertEqual(len(utility.getOrder('top', 'fancy')), 0) self.assertEqual(len(utility.getOrder('top', 'basic')), 0) self.assertEqual(len(utility.getHidden('top', 'light')), 0) self.assertEqual(len(utility.getOrder('top', 'undefined')), 0)
def test_normal(self): site = self.site utility = self.storage self.assertEqual(len(utility._order.keys()), 0) self.assertEqual(len(utility._hidden.keys()), 0) context = DummyImportContext(site, False) context._files['viewlets.xml'] = self._VIEWLETS_XML importViewletSettingsStorage(context) self.assertEqual(utility.getOrder('top', 'basic'), ('one', )) self.assertEqual(utility.getOrder('top', 'undefined (fallback)'), ('one', )) self.assertEqual(utility.getOrder('top', 'fancy'), ('two', 'three', 'one')) self.assertEqual(utility.getHidden('top', 'light'), ('two', ))
def test_specific_child_purge(self): _ORDER = COMMON_SETUP_ORDER _HIDDEN = COMMON_SETUP_HIDDEN self._populateSite(order=_ORDER, hidden=_HIDDEN) site = self.site utility = self.storage self.assertEqual(len(utility.getOrder('top', 'fancy')), 3) self.assertEqual(len(utility.getOrder('top', 'basic')), 1) self.assertEqual(len(utility.getHidden('top', 'light')), 1) self.assertEqual(len(utility.getOrder('top', 'undefined')), 3) context = DummyImportContext(site, False) context._files['viewlets.xml'] = self._CHILD_PURGE_IMPORT importViewletSettingsStorage(context) self.assertEqual(len(utility.getOrder('top', 'fancy')), 0) self.assertEqual(len(utility.getOrder('top', 'basic')), 1) self.assertEqual(len(utility.getHidden('top', 'light')), 0) self.assertEqual(len(utility.getOrder('top', 'undefined')), 0)
def test_empty_explicit_purge(self): _ORDER = COMMON_SETUP_ORDER _HIDDEN = COMMON_SETUP_HIDDEN self._populateSite(order=_ORDER, hidden=_HIDDEN) site = self.site utility = self.storage self.assertEqual(len(utility.getOrder('top', 'fancy')), 3) self.assertEqual(len(utility.getOrder('top', 'basic')), 1) self.assertEqual(len(utility.getHidden('top', 'light')), 1) self.assertEqual(len(utility.getOrder('top', 'undefined')), 3) context = DummyImportContext(site, True) context._files['viewlets.xml'] = self._EMPTY_EXPORT importViewletSettingsStorage(context) self.assertEqual(len(utility.getOrder('top', 'fancy')), 0) self.assertEqual(len(utility.getOrder('top', 'basic')), 0) self.assertEqual(len(utility.getHidden('top', 'light')), 0) self.assertEqual(len(utility.getOrder('top', 'undefined')), 0)
def test_fragment_skip_purge(self): _ORDER = COMMON_SETUP_ORDER _HIDDEN = COMMON_SETUP_HIDDEN self._populateSite(order=_ORDER, hidden=_HIDDEN) site = self.site utility = self.storage self.assertEqual(len(utility._order.keys()), 2) self.assertEqual(len(utility._hidden.keys()), 1) self.assertEqual(utility.getOrder('top', 'fancy'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'undefined (fallback)'), ('two', 'three', 'one')) self.assertEqual(utility.getOrder('top', 'basic'), ('one', )) self.assertEqual(utility.getHidden('top', 'light'), ('two', )) context = DummyImportContext(site, False) context._files['viewlets.xml'] = self._FRAGMENT1_IMPORT importViewletSettingsStorage(context) self.assertEqual(utility.getOrder('top', 'basic'), ('one', )) self.assertEqual(utility.getOrder('top', 'fancy'), ('three', 'two', 'one')) self.assertEqual(utility.getHidden('top', 'light'), ('two', )) context._files['viewlets.xml'] = self._FRAGMENT2_IMPORT importViewletSettingsStorage(context) # as the fragment FRAGMENT2_IMPORT sets the order for all skins # not only 'light', 'fancy' and 'basic' keys show up, also all other # skins registered on portal_skins. Hence adding them to the order skins = len(self.site.portal_skins.getSkinPaths()) self.assertEqual(len(utility._order.keys()), 3 + skins) self.assertEqual(len(utility._hidden.keys()), 1) self.assertEqual(utility.getOrder('top', 'fancy'), ('three', 'four', 'two', 'one')) self.assertEqual(utility.getOrder('top', 'basic'), ('one', 'four')) self.assertEqual(utility.getOrder('top', 'light'), ('four', )) self.assertEqual(utility.getHidden('top', 'light'), ('two', )) context._files['viewlets.xml'] = self._FRAGMENT1_IMPORT importViewletSettingsStorage(context) self.assertEqual(utility.getOrder('top', 'fancy'), ('four', 'three', 'two', 'one'))