[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py forward port tescase for https://dev.plone.org/ticket/10071

Harald Friessnegger cvs-admin at zope.org
Tue Oct 15 09:47:39 CEST 2013


Log message for revision 130332:
  forward port tescase for https://dev.plone.org/ticket/10071

Changed:
  U   Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py

-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py	2013-10-15 07:27:16 UTC (rev 130331)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_SkinsTool.py	2013-10-15 07:47:39 UTC (rev 130332)
@@ -20,6 +20,7 @@
 from zope.interface.verify import verifyClass
 from zope.testing.cleanup import cleanUp
 
+from Products.CMFCore.tests.base.testcase import RequestTest
 
 class SkinsContainerTests(unittest.TestCase):
 
@@ -67,7 +68,7 @@
         self.assertTrue(paths.find('.svn') == -1)
 
 
-class SkinnableTests(unittest.TestCase):
+class SkinnableTests(RequestTest):
 
     def _makeOne(self):
         from Products.CMFCore.Skinnable import SkinnableObjectManager
@@ -107,7 +108,32 @@
         som.changeSkin('skinB', som.REQUEST)
         self.assertTrue(som.getCurrentSkinName() == 'skinB')
 
+    def test_getSkinNameFromRequest(self):
+        from Products.CMFCore.interfaces import ISkinsTool
+        from Products.CMFCore.SkinsTool import SkinsTool        
+        som = self._makeOne()
 
+        stool = SkinsTool()
+        getSiteManager().registerUtility(stool, ISkinsTool)
+        
+        #by default, no special sinname is set
+        self.assertEqual(som.getSkinNameFromRequest(self.REQUEST), None)
+        
+        
+        #provide a value
+        self.REQUEST['portal_skin'] = 'skinA'
+        self.assertEqual(som.getSkinNameFromRequest(self.REQUEST), 'skinA')
+        
+        # test for non-existend http header variable
+        # see https://dev.plone.org/ticket/10071
+        stool.request_varname = 'HTTP_SKIN_NAME'
+        self.assertEqual(som.getSkinNameFromRequest(self.REQUEST), None)
+        
+        # test for http header variable
+        self.REQUEST['HTTP_SKIN_NAME'] = 'skinB'
+        self.assertEqual(som.getSkinNameFromRequest(self.REQUEST), 'skinB')
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(SkinsContainerTests),



More information about the checkins mailing list