Update of /cvs-repository/Products/PageTemplates/tests In directory cvs.zope.org:/tmp/cvs-serv30274/lib/python/Products/PageTemplates/tests
Added Files: Tag: Zope-2_7-branch testZRPythonExpr.py Log Message: - Collector #1914: Harden 'call_with_ns' (in 'Products.PageTemplates.ZRPythonExpr') against namespaces from other callers than page templates. === Added File Products/PageTemplates/tests/testZRPythonExpr.py === """ Unit tests for Products.PageTemplates.ZRPythonExpr $Id """ import unittest class MiscTests(unittest.TestCase): def test_call_with_ns_prefer_context_to_here(self): from Products.PageTemplates.ZRPythonExpr import call_with_ns context = ['context'] here = ['here'] request = {'request': 1} names = {'context' : context, 'here': here, 'request' : request} result = call_with_ns(lambda td: td.this, names) self.failUnless(result is context, result) def test_call_with_ns_no_context_or_here(self): from Products.PageTemplates.ZRPythonExpr import call_with_ns request = {'request': 1} names = {'request' : request} result = call_with_ns(lambda td: td.this, names) self.failUnless(result is None, result) def test_call_with_ns_no_request(self): from Products.PageTemplates.ZRPythonExpr import call_with_ns context = ['context'] here = ['here'] names = {'context' : context, 'here': here} def _find_request(td): ns = td._pop() # peel off 'ns' instance_dict = td._pop() # peel off InstanceDict request = td._pop() td._push(request) td._push(instance_dict) td._push(ns) return request result = call_with_ns(_find_request, names) self.assertEqual(result, {}) def test_suite(): return unittest.makeSuite(MiscTests) if __name__ == '__main__': unittest.main(defaultTest='test_suite') _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins