예제 #1
0
 def test_ReadFile(self):
     page = ZPTPage()
     content = u"<p></p>"
     page.setSource(content)
     f = ZPTReadFile(page)
     self.assertEqual(f.read(), content)
     self.assertEqual(f.size(), len(content))
예제 #2
0
 def test_ReadFile(self):
     page = ZPTPage()
     content = u"<p></p>"
     page.setSource(content)
     f = ZPTReadFile(page)
     self.assertEqual(f.read(), content)
     self.assertEqual(f.size(), len(content))
예제 #3
0
    def testZPTRendering(self):
        page = ZPTPage()
        page.setSource(
            u''
            '<html>'
            '<head><title tal:content="options/title">blah</title></head>'
            '<body>'
            '<a href="foo" tal:attributes="href request/URL/1">'
            '<span tal:replace="container/name">splat</span>'
            '</a></body></html>'
            )

        page = contained(page, Data(name='zope'))

        request = Data(URL={'1': 'http://foo.com/'},
                       debug=Data(showTAL=False, sourceAnnotations=False))
        out = page.render(request, title="Zope rules")
        out = ' '.join(out.split())

        self.assertEqual(
            out,
            '<html><head><title>Zope rules</title></head><body>'
            '<a href="http://foo.com/">'
            'zope'
            '</a></body></html>'
            )
예제 #4
0
    def test_request_protected(self):
        page = ZPTPage()
        page.setSource(u'<p tal:content="python: request.__dict__" />')

        page = contained(page, Data(name='zope'))

        request = Data(debug=Data(showTAL=False, sourceAnnotations=False))
        self.assertRaises(Forbidden, page.render, request)
예제 #5
0
    def test_request_protected(self):
        page = ZPTPage()
        page.setSource(
            u'<p tal:content="python: request.__dict__" />'
            )

        page = contained(page, Data(name='zope'))

        request = Data(debug=Data(showTAL=False, sourceAnnotations=False))
        self.assertRaises(Forbidden, page.render, request)
예제 #6
0
    def testSourceView(self):
        page = ZPTPage()

        utext = u'another test\n'  # The source will grow a newline if ommited
        html = u"<html><body>%s</body></html>\n" % (utext, )
        page.setSource(html, content_type='text/plain')
        request = TestRequest()

        view = getMultiAdapter((page, request), name='source.html')

        self.assertEqual(str(view), html)
        self.assertEqual(view(), html)
예제 #7
0
    def testSourceView(self):
        page = ZPTPage()

        utext = u'another test\n' # The source will grow a newline if ommited
        html = u"<html><body>%s</body></html>\n" % (utext, )
        page.setSource(html, content_type='text/plain')
        request = TestRequest()

        view = zapi.getMultiAdapter((page, request), name='source.html')

        self.assertEqual(str(view), html)
        self.assertEqual(view(), html)
예제 #8
0
    def test_debug_flags(self):
        page = ZPTPage()
        page = self.pageInContext(page)
        page.setSource(u'<tal:x>Foo</tal:x>')

        request = TestRequest()
        self.assertEquals(page.render(request), u'Foo')

        request.debug.showTAL = True
        self.assertEquals(page.render(request), u'<tal:x>Foo</tal:x>')

        request.debug.showTAL = False
        request.debug.sourceAnnotations = True
        self.assertEquals(page.pt_source_file(), '/folder/zpt')
        self.assertEquals(
            page.render(request), '<!--\n' + '=' * 78 + '\n' +
            '/folder/zpt (line 1)\n' + '=' * 78 + '\n' + '-->Foo')
예제 #9
0
    def test_template_context_wrapping(self):
        class AU(BrowserView):
            def __str__(self):
                name = self.context.__name__
                if name is None:
                    return 'None'
                return name

        defineChecker(AU, NamesChecker(['__str__']))

        from zope.traversing.namespace import view
        ztapi.provideNamespaceHandler('view', view)
        ztapi.browserView(IZPTPage, 'name', AU)

        page = ZPTPage()
        page.setSource(u'<p tal:replace="template/@@name" />')
        page = contained(page, None, name='zpt')
        request = TestRequest()
        self.assertEquals(page.render(request), u'zpt')
예제 #10
0
    def test_debug_flags(self):
        page = ZPTPage()
        page = self.pageInContext(page)
        page.setSource(u'<tal:x>Foo</tal:x>')

        request = TestRequest()
        self.assertEquals(page.render(request), 'Foo\n')

        request.debug.showTAL = True
        self.assertEquals(page.render(request), '<tal:x>Foo</tal:x>\n')

        request.debug.showTAL = False
        request.debug.sourceAnnotations = True
        self.assertEquals(page.pt_source_file(), '/folder/zpt')
        self.assertEquals(page.render(request),
            '<!--\n' +
            '=' * 78 + '\n' +
            '/folder/zpt (line 1)\n' +
            '=' * 78 + '\n' +
            '-->Foo\n')
예제 #11
0
    def test_template_context_wrapping(self):

        class AU(BrowserView):
            def __str__(self):
                name = self.context.__name__
                if name is None:
                    return 'None'
                return name

        defineChecker(AU, NamesChecker(['__str__']))

        from zope.app.traversing.namespace import view
        ztapi.provideNamespaceHandler('view', view)
        ztapi.browserView(IZPTPage, 'name', AU)

        page = ZPTPage()
        page.setSource(
            u'<p tal:replace="template/@@name" />'
            )
        page = contained(page, None, name='zpt')
        request = TestRequest()
        self.assertEquals(page.render(request), 'zpt\n')
예제 #12
0
    def testZPTRendering(self):
        page = ZPTPage()
        page.setSource(
            u''
            '<html>'
            '<head><title tal:content="options/title">blah</title></head>'
            '<body>'
            '<a href="foo" tal:attributes="href request/URL/1">'
            '<span tal:replace="container/name">splat</span>'
            '</a></body></html>')

        page = contained(page, Data(name='zope'))

        request = Data(URL={'1': 'http://foo.com/'},
                       debug=Data(showTAL=False, sourceAnnotations=False))
        out = page.render(request, title="Zope rules")
        out = ' '.join(out.split())

        self.assertEqual(
            out, '<html><head><title>Zope rules</title></head><body>'
            '<a href="http://foo.com/">'
            'zope'
            '</a></body></html>')
예제 #13
0
    def testSearchableText(self):
        page = ZPTPage()
        searchableText = ISearchableText(page)

        utext = u'another test\n' # The source will grow a newline if ommited
        html = u"<html><body>%s</body></html>\n" % (utext, )

        page.setSource(utext)
        self.failUnlessEqual(searchableText.getSearchableText(), [utext])

        page.setSource(html, content_type='text/html')
        self.assertEqual(searchableText.getSearchableText(), [utext+'\n'])

        page.setSource(html, content_type='text/plain')
        self.assertEqual(searchableText.getSearchableText(), [html])
예제 #14
0
    def testSearchableText(self):
        page = ZPTPage()
        searchableText = ISearchableText(page)

        utext = u'another test\n'  # The source will grow a newline if ommited
        html = u"<html><body>%s</body></html>\n" % (utext, )

        page.setSource(utext)
        self.failUnlessEqual(searchableText.getSearchableText(), [utext])

        page.setSource(html, content_type='text/html')
        self.assertEqual(searchableText.getSearchableText(), [utext + '\n'])

        page.setSource(html, content_type='text/plain')
        self.assertEqual(searchableText.getSearchableText(), [html])