Esempio n. 1
0
 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.assertTrue(result is context, result)
Esempio n. 2
0
 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.assertTrue(result is context, result)
    def test_call_with_request_preserves_tainting(self):
        from Products.PageTemplates.ZRPythonExpr import call_with_ns
        class Request(dict):
            def taintWrapper(self):
                return {'tainted': 'found'}
        context = ['context']
        here = ['here']
        names = {'context' : context, 'here': here, 'request' : Request()}

        found = call_with_ns(lambda td: td['tainted'], names)
        self.assertEqual(found, 'found')
Esempio n. 4
0
    def test_call_with_request_preserves_tainting(self):
        from Products.PageTemplates.ZRPythonExpr import call_with_ns
        class Request(dict):
            def taintWrapper(self):
                return {'tainted': 'found'}
        context = ['context']
        here = ['here']
        names = {'context' : context, 'here': here, 'request' : Request()}

        found = call_with_ns(lambda td: td['tainted'], names)
        self.assertEqual(found, 'found')
Esempio n. 5
0
    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, {})
Esempio n. 6
0
    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, {})
Esempio n. 7
0
 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.assertTrue(result is None, result)
Esempio n. 8
0
 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.assertTrue(result is None, result)