Tres Seaver wrote:
Matthew Wilkes wrote:
Log message for revision 93717: assert isn't a function, using parens will cause the two arguments to be treated as a 2-tuple, hence always true.
Changed: U zope.tal/trunk/src/zope/tal/dummyengine.py
-=- Modified: zope.tal/trunk/src/zope/tal/dummyengine.py =================================================================== --- zope.tal/trunk/src/zope/tal/dummyengine.py 2008-12-06 12:09:53 UTC (rev 93716) +++ zope.tal/trunk/src/zope/tal/dummyengine.py 2008-12-06 13:25:25 UTC (rev 93717) @@ -85,8 +85,8 @@ return value
def evaluate(self, expression): - assert (expression.startswith("$") and expression.endswith("$"), - expression) + assert expression.startswith("$") and expression.endswith("$"), \ + expression expression = expression[1:-1] m = name_match(expression) if m: @@ -152,8 +152,8 @@ return self.evaluate(expr)
def evaluateMacro(self, macroName): - assert (macroName.startswith("$") and macroName.endswith("$"), - macroName) + assert macroName.startswith("$") and macroName.endswith("$"), \ + macroName macroName = macroName[1:-1] file, localName = self.findMacroFile(macroName) if not file:
A better fix would be to strip outthe 'assert' keyword everywhere, and use 'self.failUnless' / 'self.failIf' instead: that would allow getting rid of the "backsplash", as well.
Unless I'm missing something self.failUnless only works inside tests. This is in normal code, where I found assert statements just annoying for the most part. Hanno