def test_fragment3_skip_purge(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two') _PATHS = {'basic': 'one', 'fancy': 'two,one'} site = self._initSite(selections=_PATHS, ids=_IDS) skins_tool = site.portal_skins self.failIf(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'one')) self.assertEqual(skin_paths[1], ('fancy', 'two,one')) self.assertEqual(len(skins_tool.objectItems()), 2) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT3_IMPORT importSkinsTool(context) self.assertEqual(skins_tool.default_skin, "default_skin") self.assertEqual(skins_tool.request_varname, "request_varname") self.failIf(skins_tool.allow_any) self.failIf(skins_tool.cookie_persistence) self.failUnless(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'three,one,four')) self.assertEqual(skin_paths[1], ('fancy', 'three,two,one,four')) self.assertEqual(len(skins_tool.objectItems()), 4)
def test_fragment5_based_skin(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two', 'three', 'four') _PATHS = {'basic': 'one,three,four', 'existing': 'one,two,four'} site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'one,three,four')) self.assertEqual(skin_paths[1], ('existing', 'one,two,four')) self.assertEqual(len(skins_tool.objectItems()), 4) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT5_IMPORT importSkinsTool(context) self.assertTrue(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 4) self.assertEqual(skin_paths[0], ('basic', 'one,three,four')) self.assertEqual(skin_paths[1], ('existing', 'one,two,three,four')) self.assertEqual(skin_paths[2], ('new', 'one,two,three,four')) self.assertEqual(skin_paths[3], ('wrongbase', 'two')) self.assertEqual(len(skins_tool.objectItems()), 4)
def test_fragment7_modified_skin(self): # https://bugs.launchpad.net/zope-cmf/+bug/161732 from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two', 'three', 'four') _PATHS = {'existing': 'one,three,four'} site = self._initSite(selections=_PATHS, ids=_IDS) skins_tool = site.portal_skins skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 1) self.assertEqual(skin_paths[0], ('existing', 'one,three,four')) self.assertEqual(len(skins_tool.objectItems()), 4) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT7_IMPORT importSkinsTool(context) self.failUnless(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 1) self.assertEqual(skin_paths[0], ('existing', 'one,two,three,four')) self.assertEqual(len(skins_tool.objectItems()), 4)
def test_fragment3_skip_purge(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two') _PATHS = {'basic': 'one', 'fancy': 'two,one'} site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS) self.assertFalse(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'one')) self.assertEqual(skin_paths[1], ('fancy', 'two,one')) self.assertEqual(len(skins_tool.objectItems()), 2) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT3_IMPORT importSkinsTool(context) self.assertEqual(skins_tool.default_skin, "default_skin") self.assertEqual(skins_tool.request_varname, "request_varname") self.assertFalse(skins_tool.allow_any) self.assertFalse(skins_tool.cookie_persistence) self.assertTrue(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'three,one,four')) self.assertEqual(skin_paths[1], ('fancy', 'three,two,one,four')) self.assertEqual(len(skins_tool.objectItems()), 4)
def test_fragment5_based_skin(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two', 'three', 'four') _PATHS = {'basic': 'one,three,four', 'existing': 'one,two,four'} site = self._initSite(selections=_PATHS, ids=_IDS) skins_tool = site.portal_skins skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'one,three,four')) self.assertEqual(skin_paths[1], ('existing', 'one,two,four')) self.assertEqual(len(skins_tool.objectItems()), 4) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT5_IMPORT importSkinsTool(context) self.failUnless(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 4) self.assertEqual(skin_paths[0], ('basic', 'one,three,four')) self.assertEqual(skin_paths[1], ('existing', 'one,two,three,four')) self.assertEqual(skin_paths[2], ('new', 'one,two,three,four')) self.assertEqual(skin_paths[3], ('wrongbase', 'two')) self.assertEqual(len(skins_tool.objectItems()), 4)
def new_default_skin(portal): """ Register test skins folder with extra test template - zcml then make new default skin based on Sunburst Theme with test skin - xml """ importcontext = DummyImportContext(portal, False) importcontext._files['skins.xml'] = SKINCONFIG importSkinsTool(importcontext)
def dummy_sunburst_skin(portal): """ Register dummy Sunburst Theme skin selection based on Plon Default. Only needed to make the tests compatible with Plone 3, which does not have the Sunburst Theme. """ if 'Sunburst Theme' in portal.portal_skins.getSkinSelections(): return importcontext = DummyImportContext(portal, False) importcontext._files['skins.xml'] = DUMMY_SUNBURST_SKINCONFIG importSkinsTool(importcontext)
def test_remove_skin_path(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two', 'three') _PATHS = {'basic': 'one', 'fancy': 'three, two, one'} site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS) self.assertTrue('fancy' in skins_tool._getSelections()) context = DummyImportContext(site) context._files['skins.xml'] = self._FRAGMENT6_IMPORT importSkinsTool(context) self.assertFalse('fancy' in skins_tool._getSelections())
def test_remove_skin_path(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two', 'three') _PATHS = {'basic': 'one', 'fancy': 'three, two, one'} site = self._initSite(selections=_PATHS, ids=_IDS) skins_tool = site.portal_skins self.failUnless(skins_tool._getSelections().has_key('fancy')) context = DummyImportContext(site) context._files['skins.xml'] = self._FRAGMENT6_IMPORT importSkinsTool(context) self.failIf(skins_tool._getSelections().has_key('fancy'))
def test_normal(self): from Products.CMFCore.exportimport.skins import importSkinsTool site, skins_tool = self._initSite() self.assertFalse(site._skin_setup_called) self.assertEqual(len(skins_tool.getSkinPaths()), 0) self.assertEqual(len(skins_tool.objectItems()), 0) context = DummyImportContext(site) context._files['skins.xml'] = self._NORMAL_EXPORT importSkinsTool(context) self.assertEqual(skins_tool.default_skin, "basic") self.assertEqual(skins_tool.request_varname, "skin_var") self.assertTrue(skins_tool.allow_any) self.assertTrue(skins_tool.cookie_persistence) self.assertTrue(site._skin_setup_called) self.assertEqual(len(skins_tool.getSkinPaths()), 2) self.assertEqual(len(skins_tool.objectItems()), 3)
def test_normal(self): from Products.CMFCore.exportimport.skins import importSkinsTool site, skins_tool = self._initSite() self.failIf(site._skin_setup_called) self.assertEqual(len(skins_tool.getSkinPaths()), 0) self.assertEqual(len(skins_tool.objectItems()), 0) context = DummyImportContext(site) context._files['skins.xml'] = self._NORMAL_EXPORT importSkinsTool(context) self.assertEqual(skins_tool.default_skin, "basic") self.assertEqual(skins_tool.request_varname, "skin_var") self.failUnless(skins_tool.allow_any) self.failUnless(skins_tool.cookie_persistence) self.failUnless(site._skin_setup_called) self.assertEqual(len(skins_tool.getSkinPaths()), 2) self.assertEqual(len(skins_tool.objectItems()), 3)
def test_empty_explicit_purge(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two', 'three') _PATHS = {'basic': 'one', 'fancy': 'three, two, one'} site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS) self.assertFalse(site._skin_setup_called) self.assertEqual(len(skins_tool.getSkinPaths()), 2) self.assertEqual(len(skins_tool.objectItems()), 3) context = DummyImportContext(site, True) context._files['skins.xml'] = self._EMPTY_EXPORT importSkinsTool(context) self.assertEqual(skins_tool.default_skin, "default_skin") self.assertEqual(skins_tool.request_varname, "request_varname") self.assertFalse(skins_tool.allow_any) self.assertFalse(skins_tool.cookie_persistence) self.assertTrue(site._skin_setup_called) self.assertEqual(len(skins_tool.getSkinPaths()), 0) self.assertEqual(len(skins_tool.objectItems()), 0)
def test_empty_skip_purge(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two', 'three') _PATHS = {'basic': 'one', 'fancy': 'three, two, one'} site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS) self.failIf(site._skin_setup_called) self.assertEqual(len(skins_tool.getSkinPaths()), 2) self.assertEqual(len(skins_tool.objectItems()), 3) context = DummyImportContext(site, False) context._files['skins.xml'] = self._EMPTY_EXPORT importSkinsTool(context) self.assertEqual(skins_tool.default_skin, "default_skin") self.assertEqual(skins_tool.request_varname, "request_varname") self.failIf(skins_tool.allow_any) self.failIf(skins_tool.cookie_persistence) self.failUnless(site._skin_setup_called) self.assertEqual(len(skins_tool.getSkinPaths()), 2) self.assertEqual(len(skins_tool.objectItems()), 3)
def test_fragment4_removal(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two') _PATHS = {'basic': 'one', 'fancy': 'two,one'} site = self._initSite(selections=_PATHS, ids=_IDS) skins_tool = site.portal_skins skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'one')) self.assertEqual(skin_paths[1], ('fancy', 'two,one')) self.assertEqual(len(skins_tool.objectItems()), 2) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT3_IMPORT importSkinsTool(context) self.failUnless(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'three,one,four')) self.assertEqual(skin_paths[1], ('fancy', 'three,two,one,four')) self.assertEqual(len(skins_tool.objectItems()), 4) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT4_IMPORT importSkinsTool(context) self.failUnless(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'one,four')) self.assertEqual(skin_paths[1], ('fancy', 'two,one,four')) self.assertEqual(len(skins_tool.objectItems()), 4)
def test_fragment4_removal(self): from Products.CMFCore.exportimport.skins import importSkinsTool _IDS = ('one', 'two') _PATHS = {'basic': 'one', 'fancy': 'two,one'} site, skins_tool = self._initSite(selections=_PATHS, ids=_IDS) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'one')) self.assertEqual(skin_paths[1], ('fancy', 'two,one')) self.assertEqual(len(skins_tool.objectItems()), 2) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT3_IMPORT importSkinsTool(context) self.failUnless(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'three,one,four')) self.assertEqual(skin_paths[1], ('fancy', 'three,two,one,four')) self.assertEqual(len(skins_tool.objectItems()), 4) context = DummyImportContext(site, False) context._files['skins.xml'] = self._FRAGMENT4_IMPORT importSkinsTool(context) self.failUnless(site._skin_setup_called) skin_paths = skins_tool.getSkinPaths() self.assertEqual(len(skin_paths), 2) self.assertEqual(skin_paths[0], ('basic', 'one,four')) self.assertEqual(skin_paths[1], ('fancy', 'two,one,four')) self.assertEqual(len(skins_tool.objectItems()), 4)