Log message for revision 87218:
  Forward port fix for Launchpad #229549 from the 2.10 branch.
  

Changed:
  U   Zope/trunk/lib/python/Products/PageTemplates/PageTemplate.py
  U   Zope/trunk/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py

-=-
Modified: Zope/trunk/lib/python/Products/PageTemplates/PageTemplate.py
===================================================================
--- Zope/trunk/lib/python/Products/PageTemplates/PageTemplate.py        
2008-06-06 20:25:32 UTC (rev 87217)
+++ Zope/trunk/lib/python/Products/PageTemplates/PageTemplate.py        
2008-06-06 20:42:46 UTC (rev 87218)
@@ -68,8 +68,16 @@
     def pt_render(self, source=False, extra_context={}):
         c = self.pt_getContext()
         c.update(extra_context)
-        return super(PageTemplate, self).pt_render(c, source=source)
+        debug = getattr(c['request'], 'debug', None)
+        if debug is not None:
+            showtal = getattr(debug, 'showTAL', False)
+            sourceAnnotations = getattr(debug, 'sourceAnnotations', False)
+        else:
+            showtal = sourceAnnotations = False
+        return super(PageTemplate, self).pt_render(c, source=source, 
sourceAnnotations=sourceAnnotations,
+                   showtal=showtal)
 
+
     def pt_errors(self, namespace={}):
         self._cook_check()
         err = self._v_errors

Modified: 
Zope/trunk/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py
===================================================================
--- Zope/trunk/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py  
2008-06-06 20:25:32 UTC (rev 87217)
+++ Zope/trunk/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py  
2008-06-06 20:42:46 UTC (rev 87218)
@@ -202,6 +202,20 @@
         state = cPickle.dumps(empty, protocol=1)
         clone = cPickle.loads(state)
 
+    def testDebugFlags(self):
+        # Test for bug 229549
+        manage_addPageTemplate(self.app, 'test', 
+                               text='<div tal:content="string:foo">bar</div>', 
+                               encoding='ascii')
+        zpt = self.app['test']
+        from zope.publisher.base import DebugFlags
+        self.app.REQUEST.debug = DebugFlags()
+        self.assertEqual(zpt.pt_render(), unicode('<div>foo</div>\n'))
+        self.app.REQUEST.debug.showTAL = True
+        self.assertEqual(zpt.pt_render(), unicode('<div 
tal:content="string:foo">foo</div>\n'))
+        self.app.REQUEST.debug.sourceAnnotations = True
+        self.assertEqual(zpt.pt_render().startswith(unicode('<!--')), True)
+
 class ZopePageTemplateFileTests(ZopeTestCase):
 
     def test_class_conforms_to_IWriteLock(self):

_______________________________________________
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins

Reply via email to