[Checkins] SVN: five.pt/trunk/src/five/pt/tests/ More tests to prove all our local variables are actually available

Hanno Schlichting plone at hannosch.info
Tue Aug 12 18:24:29 EDT 2008


Log message for revision 89758:
  More tests to prove all our local variables are actually available
  

Changed:
  A   five.pt/trunk/src/five/pt/tests/locals.pt
  A   five.pt/trunk/src/five/pt/tests/options.pt
  U   five.pt/trunk/src/five/pt/tests/test_pagetemplatefile.py

-=-
Added: five.pt/trunk/src/five/pt/tests/locals.pt
===================================================================
--- five.pt/trunk/src/five/pt/tests/locals.pt	                        (rev 0)
+++ five.pt/trunk/src/five/pt/tests/locals.pt	2008-08-12 22:24:28 UTC (rev 89758)
@@ -0,0 +1,14 @@
+<div xmlns="http://www.w3.org/1999/xhtml"
+     xmlns:tal="http://xml.zope.org/namespaces/tal">
+    <div tal:replace="string:view:${view/available}" />
+    <div tal:replace="nocall:context" />
+    <div tal:replace="nocall:request" />
+    <div tal:replace="python:'here==context:'+str(here==context)" />
+    <div tal:replace="python:'here==container:'+str(here==container)" />
+    <div tal:replace="string:root:${root/getPhysicalPath}" />
+    <div tal:replace="string:nothing:${nothing}" />
+
+    <div tal:define="cgi python:modules['cgi']">
+        modules:<span tal:replace="python:cgi.escape(view.tagsoup())" />
+    </div>
+</div>


Property changes on: five.pt/trunk/src/five/pt/tests/locals.pt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: five.pt/trunk/src/five/pt/tests/options.pt
===================================================================
--- five.pt/trunk/src/five/pt/tests/options.pt	                        (rev 0)
+++ five.pt/trunk/src/five/pt/tests/options.pt	2008-08-12 22:24:28 UTC (rev 89758)
@@ -0,0 +1,6 @@
+<div xmlns="http://www.w3.org/1999/xhtml"
+     xmlns:tal="http://xml.zope.org/namespaces/tal">
+    <div tal:repeat="key options">
+        <div tal:replace="key" /> : <div tal:replace="python:options[key]" />
+    </div>
+</div>


Property changes on: five.pt/trunk/src/five/pt/tests/options.pt
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: five.pt/trunk/src/five/pt/tests/test_pagetemplatefile.py
===================================================================
--- five.pt/trunk/src/five/pt/tests/test_pagetemplatefile.py	2008-08-12 22:02:49 UTC (rev 89757)
+++ five.pt/trunk/src/five/pt/tests/test_pagetemplatefile.py	2008-08-12 22:24:28 UTC (rev 89758)
@@ -11,6 +11,22 @@
     index = ViewPageTemplateFile('simple.pt')
 
 
+class LocalsView(BrowserView):
+
+    def available(self):
+        return 'yes'
+
+    def tagsoup(self):
+        return '<foo></bar>'
+
+    index = ViewPageTemplateFile('locals.pt')
+
+
+class OptionsView(BrowserView):
+
+    index = ViewPageTemplateFile('options.pt')
+
+
 class TestPageTemplateFile(ZopeTestCase):
 
     def afterSetUp(self):
@@ -20,15 +36,35 @@
         zcml.load_config("configure.zcml", Products.Five)
         zcml.load_config("configure.zcml", z3c.pt)
 
-    def test_simplefile(self):
-        context = self.folder
-        request = context.REQUEST
-
-        view = SimpleView(context, request)
+    def test_simple(self):
+        view = SimpleView(self.folder, self.folder.REQUEST)
         result = view.index()
         self.failUnless('Hello World' in result)
 
+    def test_locals(self):
+        view = LocalsView(self.folder, self.folder.REQUEST)
+        result = view.index()
+        self.failUnless("view:yes" in result)
+        self.failUnless('Folder at test_folder_1_' in result)
+        self.failUnless('http://nohost' in result)
+        self.failUnless('here==context:True' in result)
+        self.failUnless('here==container:True' in result)
+        self.failUnless("root:(\'\',)" in result)
+        self.failUnless("nothing:None" in result)
+        self.failUnless("modules:&amp;lt;foo&amp;gt;" in result)
 
+    def test_options(self):
+        view = OptionsView(self.folder, self.folder.REQUEST)
+        options = dict(
+            a=1,
+            b=2,
+            c='abc',
+        )
+        result = view.index(**options)
+        self.failUnless("a : 1" in result)
+        self.failUnless("c : abc" in result)
+
+
 def test_suite():
     import sys
     return unittest.findTestCases(sys.modules[__name__])



More information about the Checkins mailing list