[Checkins] SVN: five.pt/trunk/src/five/pt/tests/test_persistenttemplate.py Add tests for persistent templates
Leonardo Rochael Almeida
leorochael at gmail.com
Tue Feb 22 14:14:47 EST 2011
Log message for revision 120518:
Add tests for persistent templates
Changed:
A five.pt/trunk/src/five/pt/tests/test_persistenttemplate.py
-=-
Added: five.pt/trunk/src/five/pt/tests/test_persistenttemplate.py
===================================================================
--- five.pt/trunk/src/five/pt/tests/test_persistenttemplate.py (rev 0)
+++ five.pt/trunk/src/five/pt/tests/test_persistenttemplate.py 2011-02-22 19:14:47 UTC (rev 120518)
@@ -0,0 +1,60 @@
+from Testing.ZopeTestCase import ZopeTestCase
+from Products.PageTemplates.ZopePageTemplate import manage_addPageTemplate
+
+macro_outer = """
+<metal:defm define-macro="master">
+ <metal:defs define-slot="main_slot">
+ Outer Slot
+ </metal:defs>
+</metal:defm>
+""".strip()
+
+macro_middle = """
+<metal:def define-macro="master">
+ <metal:use use-macro="here/macro_outer/macros/master">
+ <metal:fill fill-slot="main_slot">
+ <metal:defs define-slot="main_slot">
+ Middle Slot
+ </metal:defs>
+ </metal:fill>
+ </metal:use>
+</metal:def>
+""".strip()
+
+macro_inner = """
+<metal:use use-macro="here/macro_middle/macros/master">
+ <metal:fills fill-slot="main_slot">
+ Inner Slot
+ </metal:fills>
+</metal:use>
+""".strip()
+
+class TestPageTemplateFile(ZopeTestCase):
+ def afterSetUp(self):
+ from Products.Five import zcml
+ import Products.Five
+ import z3c.pt
+ import five.pt
+ zcml.load_config("configure.zcml", Products.Five)
+ zcml.load_config("configure.zcml", five.pt)
+ zcml.load_config("configure.zcml", z3c.pt)
+ #import IPython;IPython.Shell.IPShellEmbed(())()
+ self.setRoles(['Manager'])
+
+ def _makeOne(self, template_id, source):
+ return manage_addPageTemplate(self.folder, template_id, text=source)
+
+ def test_simple(self):
+ template = self._makeOne('foo',
+ '<tal:block content="string:Hello, World" />')
+ result = template()
+ self.assertEqual(result, u'Hello, World')
+ # check that it's editable
+ template.pt_editForm()
+
+ def test_macro(self):
+ self._makeOne('macro_outer', macro_outer)
+ self._makeOne('macro_middle', macro_middle)
+ inner = self._makeOne('macro_inner', macro_inner)
+ result = inner().strip()
+ self.assertEqual(result, u'Inner Slot')
More information about the checkins
mailing list