[Checkins] SVN: Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/tests/testExpressions.py Remember an idea of how to solve a particular tricky BBB problem.

Philipp von Weitershausen philikon at philikon.de
Sun May 21 19:24:11 EDT 2006


Log message for revision 68222:
  Remember an idea of how to solve a particular tricky BBB problem.
  

Changed:
  U   Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/tests/testExpressions.py

-=-
Modified: Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/tests/testExpressions.py
===================================================================
--- Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/tests/testExpressions.py	2006-05-21 20:03:09 UTC (rev 68221)
+++ Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/tests/testExpressions.py	2006-05-21 23:24:11 UTC (rev 68222)
@@ -50,7 +50,23 @@
         '''Test advanced expression evaluation 1'''
         ec = self.ec
         assert ec.evaluate('x | nothing') is None
+
+        # XXX this fails because Zope 3 doesn't allow empty path
+        # elements. My idea is to deprecate blank path elements and
+        # allow them for the time of the deprecation period. We do
+        # that by implementing our own SubPathExpr that just looks for
+        # empty path elements and replaces them with a call to a
+        # TALESNamespace adapter that explicitly does the empty
+        # element lookup.  Then we hand off to the standard Zope 3
+        # SubPathExpr implementation.  Something along these lines:
+        #
+        # class Zope2SubPathExpr(SubPathExpr):
+        #     def __init__(self, text, ...):
+        #         text = text.replace('//', 'blank:element')
+        #         return super(Zope2SubPathExpr, self).__init__(text ...)
+        #
         assert ec.evaluate('d/') == 'blank'
+
         assert ec.evaluate('d/_') == 'under'
         assert ec.evaluate('d/ | nothing') == 'blank'
         assert ec.evaluate('d/?blank') == 'blank'



More information about the Checkins mailing list