[CMF-checkins] CVS: CMF/CMFSetup/tests - test_skins.py:1.9.2.6

Jens Vagelpohl jens at dataflake.org
Sat May 7 08:44:19 EDT 2005


Update of /cvs-repository/CMF/CMFSetup/tests
In directory cvs.zope.org:/tmp/cvs-serv4471/CMFSetup/tests

Modified Files:
      Tag: CMF-1_5-branch
	test_skins.py 
Log Message:
- CMFSetup.skins: Small featurelet that adds a new keyword to the
  "layer" tag in skins.xml named "remove". If "remove" is
  specified, the named layer will be explicitly removed from the 
  skins path(s).


=== CMF/CMFSetup/tests/test_skins.py 1.9.2.5 => 1.9.2.6 ===
--- CMF/CMFSetup/tests/test_skins.py:1.9.2.5	Mon Apr 11 07:32:31 2005
+++ CMF/CMFSetup/tests/test_skins.py	Sat May  7 08:44:18 2005
@@ -303,6 +303,16 @@
 </skins-tool>
 """
 
+_FRAGMENT4_IMPORT = """\
+<?xml version="1.0"?>
+<skins-tool>
+ <skin-path id="*">
+  <layer name="three" remove="1"/>
+ </skin-path>
+</skins-tool>
+"""
+
+
 class Test_exportSkinsTool( _SkinsSetup ):
 
     def test_empty( self ):
@@ -577,6 +587,50 @@
         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_fragment4_removal(self):
+
+        _IDS = ( 'one', 'two' )
+        _FSDVS = [ ( id, DummyFSDV( id ) ) for id in _IDS ]
+        _PATHS = { 'basic' : 'one', 'fancy' : 'two,one' }
+
+        site = self._initSite( selections=_PATHS, fsdvs=_FSDVS )
+        self._registerDirectoryView( os.path.join( _TESTS_PATH, 'three' ) )
+        self._registerDirectoryView( os.path.join( _TESTS_PATH, 'four' ) )
+        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' ] = _FRAGMENT3_IMPORT
+
+        from Products.CMFSetup.skins import importSkinsTool
+        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' ] = _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 )
 
 



More information about the CMF-checkins mailing list