[Checkins] SVN: zope.testbrowser/trunk/ Remove test dependency on zope.pagetemplate.

Brian Sutherland jinty at web.de
Thu May 12 04:11:21 EDT 2011


Log message for revision 121658:
  Remove test dependency on zope.pagetemplate.

Changed:
  U   zope.testbrowser/trunk/CHANGES.txt
  U   zope.testbrowser/trunk/setup.py
  U   zope.testbrowser/trunk/src/zope/testbrowser/ftests/controls.html
  U   zope.testbrowser/trunk/src/zope/testbrowser/ftests/forms.html
  U   zope.testbrowser/trunk/src/zope/testbrowser/ftests/navigate.html
  U   zope.testbrowser/trunk/src/zope/testbrowser/ftests/wsgitestapp.py

-=-
Modified: zope.testbrowser/trunk/CHANGES.txt
===================================================================
--- zope.testbrowser/trunk/CHANGES.txt	2011-05-12 07:39:15 UTC (rev 121657)
+++ zope.testbrowser/trunk/CHANGES.txt	2011-05-12 08:11:21 UTC (rev 121658)
@@ -5,7 +5,7 @@
 4.0.2 (unreleased)
 ------------------
 
-- Nothing changed yet.
+- Remove test dependency on zope.pagetemplate.
 
 
 4.0.1 (2011-05-04)

Modified: zope.testbrowser/trunk/setup.py
===================================================================
--- zope.testbrowser/trunk/setup.py	2011-05-12 07:39:15 UTC (rev 121657)
+++ zope.testbrowser/trunk/setup.py	2011-05-12 08:11:21 UTC (rev 121658)
@@ -26,8 +26,7 @@
     )
 
 tests_require = ['zope.testing',
-                 'zope.pagetemplate',
-                 'WebTest'],
+                 'WebTest']
 
 setup(
     name = 'zope.testbrowser',

Modified: zope.testbrowser/trunk/src/zope/testbrowser/ftests/controls.html
===================================================================
--- zope.testbrowser/trunk/src/zope/testbrowser/ftests/controls.html	2011-05-12 07:39:15 UTC (rev 121657)
+++ zope.testbrowser/trunk/src/zope/testbrowser/ftests/controls.html	2011-05-12 08:11:21 UTC (rev 121658)
@@ -7,32 +7,27 @@
 
       <div>
         <label for="text-value">Text Control</label>
-        <em tal:condition="request/params/text-value|nothing"
-            tal:content="request/params/text-value"></em>
-        <input type="text" name="text-value" id="text-value" 
-               value="Some Text" />
+        <em>%(text-value)s</em>
+        <input type="text" name="text-value" id="text-value" value="Some Text" />
       </div>
 
       <div>
         <label for="password-value">Password Control</label>
-        <em tal:condition="request/params/password-value|nothing"
-            tal:content="request/params/password-value"></em>
+        <em>%(password-value)s</em>
         <input type="password" name="password-value" id="password-value"
                value="Password" />
       </div>
 
       <div>
         <label for="hidden-value">Hidden Control</label> (label: hee hee)
-        <em tal:condition="request/params/hidden-value|nothing"
-            tal:content="request/params/hidden-value"></em>
+        <em>%(hidden-value)s</em>
         <input type="hidden" name="hidden-value" id="hidden-value"
                value="Hidden" />
       </div>
 
       <div>
         <label for="textarea-value">Text Area Control</label>
-        <em tal:condition="request/params/textarea-value|nothing"
-            tal:content="request/params/textarea-value"></em>
+        <em>%(textarea-value)s</em>
         <textarea name="textarea-value" id="textarea-value">
           Text inside
           area!
@@ -41,15 +36,13 @@
 
       <div>
         <label for="file-value">File Control</label>
-        <em tal:condition="request/params/file-value|nothing"
-            tal:content="request/params/file-value"></em>
+        <em>%(file-value)s</em>
         <input type="file" name="file-value" id="file-value" />
       </div>
 
       <div>
         <label for="single-select-value">Single Select Control</label>
-        <em tal:condition="request/params/single-select-value|nothing"
-            tal:content="request/params/single-select-value"></em>
+        <em>%(single-select-value)s</em>
         <select name="single-select-value" id="single-select-value">
           <option value="1">Uno</option>
           <option value="2">Dos</option>
@@ -59,8 +52,7 @@
 
       <div>
         <label for="multi-select-value">Multiple Select Control</label>
-        <em tal:condition="request/params/multi-select-value|nothing"
-            tal:content="request/params/multi-select-value"></em>
+        <em>%(multi-select-value)s</em>
         <select name="multi-select-value" id="multi-select-value"
                 multiple="multiple">
           <option value="1">Un</option>
@@ -70,17 +62,14 @@
       </div>
 
       <div>
-        <em tal:condition="request/params/single-unvalued-checkbox-value|nothing"
-            tal:content="request/params/single-unvalued-checkbox-value"></em>
+        <em>%(single-unvalued-checkbox-value)s</em>
         <input type="checkbox" name="single-unvalued-checkbox-value" 
                id="single-unvalued-checkbox" checked="checked" />
         <label for="single-unvalued-checkbox">Single Unvalued Checkbox</label>
       </div>
 
       <div>
-        <em tal:condition="
-            request/params/single-disabled-unvalued-checkbox-value|nothing"
-            tal:content="request/params/single-disabled-unvalued-checkbox-value"></em>
+        <em>%(single-disabled-unvalued-checkbox-value)s</em>
         <input type="checkbox" name="single-disabled-unvalued-checkbox-value" 
                id="single-disabled-unvalued-checkbox" checked="checked"
                disabled="disabled" />
@@ -90,8 +79,7 @@
       </div>
 
       <div>
-        <em tal:condition="request/params/single-valued-checkbox-value|nothing"
-            tal:content="request/params/single-valued-checkbox-value"></em>
+        <em>%(single-valued-checkbox-value)s</em>
         <label><input type="checkbox" name="single-valued-checkbox-value" 
                       value="1" checked="checked" />Single Valued Checkbox
         </label>
@@ -99,8 +87,7 @@
 
       <div>
         (Multi checkbox: options have the labels)
-        <em tal:condition="request/params/multi-checkbox-value|nothing"
-            tal:content="request/params/multi-checkbox-value"></em>
+        <em>%(multi-checkbox-value)s</em>
         <label><input type="checkbox" name="multi-checkbox-value" value="1" 
                       checked="checked" /> One</label>
         <input type="checkbox" name="multi-checkbox-value" value="2" 
@@ -114,8 +101,7 @@
 
       <div>
         (Radio: options have the labels)
-        <em tal:condition="request/params/radio-value|nothing"
-            tal:content="request/params/radio-value"></em>
+        <em>%(radio-value)s</em>
         <label><input type="radio" name="radio-value" value="1" />Ein</label>
         <input type="radio" name="radio-value" id="radio-value-2" value="2"
                checked="checked" />
@@ -127,20 +113,16 @@
 
       <div>
         <label for="image-value">Image Control</label>
-        <em tal:condition="request/params/image-value.x|nothing"
-            tal:content="request/params/image-value.x"></em>
-        <em tal:condition="request/params/image-value.y|nothing"
-            tal:content="request/params/image-value.y"></em>
+        <em>%(image-value.x)s</em>
+        <em>%(image-value.y)s</em>
         <input type="image" name="image-value" id="image-value"
                src="zope3logo.gif" />
       </div>
 
       <div>
         <label for="submit-value">Standard Submit Control</label>
-        <em tal:condition="request/params/submit-value|nothing"
-            tal:content="request/params/submit-value"></em>
-        <input type="submit" name="submit-value" id="submit-value"
-               value="Submit This" />
+	<em>%(submit-value)s</em>
+        <input type="submit" name="submit-value" id="submit-value" value="Submit This" />
       </div>
 
       <div>

Modified: zope.testbrowser/trunk/src/zope/testbrowser/ftests/forms.html
===================================================================
--- zope.testbrowser/trunk/src/zope/testbrowser/ftests/forms.html	2011-05-12 07:39:15 UTC (rev 121657)
+++ zope.testbrowser/trunk/src/zope/testbrowser/ftests/forms.html	2011-05-12 08:11:21 UTC (rev 121658)
@@ -3,8 +3,7 @@
 
     <h1>Forms Tests</h1>
 
-    <em tal:condition="request/params/text-value|nothing"
-        tal:content="request/params/text-value" />
+    <em>%(text-value)s</em>
 
     <form id="1" name="one" action="forms.html">
       <input type="text" name="text-value" value="First Text" />
@@ -28,9 +27,7 @@
       <label for="text-value-4">Text Control</label>
       <input type="text" name="text-value" id="text-value-4"
              value="Fourth Text" />
-      <em tal:condition="python: 'hidden-4' in request.params and
-                                 'submit-4' not in request.params"
-        >Submitted without the submit button.</em>
+      <em>%(no-submit-button)s</em>
       <input type="submit" name="submit-4" value="Don't Submit Me" />
       <input type="hidden" name="hidden-4" value="marker" />
     </form>

Modified: zope.testbrowser/trunk/src/zope/testbrowser/ftests/navigate.html
===================================================================
--- zope.testbrowser/trunk/src/zope/testbrowser/ftests/navigate.html	2011-05-12 07:39:15 UTC (rev 121657)
+++ zope.testbrowser/trunk/src/zope/testbrowser/ftests/navigate.html	2011-05-12 08:11:21 UTC (rev 121658)
@@ -3,9 +3,7 @@
 
     <h1>Navigation Tests</h1>
 
-    <p tal:condition="request/params/message|nothing">
-      Message: <em tal:content="request/params/message">Message</em>
-    </p>
+    <p>Message: <em>%(message)s</em></p>
 
     <a href="navigate.html?message=By+Link+Text">Link Text</a>
 

Modified: zope.testbrowser/trunk/src/zope/testbrowser/ftests/wsgitestapp.py
===================================================================
--- zope.testbrowser/trunk/src/zope/testbrowser/ftests/wsgitestapp.py	2011-05-12 07:39:15 UTC (rev 121657)
+++ zope.testbrowser/trunk/src/zope/testbrowser/ftests/wsgitestapp.py	2011-05-12 08:11:21 UTC (rev 121658)
@@ -14,24 +14,17 @@
 """A minimal WSGI application used as a test fixture."""
 
 import os
+import cgi
 import mimetypes
 from datetime import datetime
 
 from webob import Request, Response
-from zope.pagetemplate.pagetemplatefile import PageTemplateFile
 
 class NotFound(Exception):
     pass
 
 _HERE = os.path.dirname(__file__)
 
-class MyPageTemplateFile(PageTemplateFile):
-
-    def pt_getContext(self, args, *extra_args, **kw):
-        namespace = super(MyPageTemplateFile, self).pt_getContext(args, *extra_args, **kw)
-        namespace['request'] = args[0]
-        return namespace
-
 class WSGITestApplication(object):
 
     def __call__(self, environ, start_response):
@@ -39,6 +32,7 @@
         handler = {'/set_status.html': set_status,
                    '/echo.html': echo,
                    '/redirect.html': redirect,
+                   '/@@/testbrowser/forms.html': forms,
                    '/echo_one.html': echo_one,
                    '/set_header.html': set_header,
                    '/set_cookie.html': set_cookie,
@@ -67,17 +61,35 @@
 def handle_notfound(req):
     raise NotFound(req.path_info)
 
-def handle_resource(req):
+class ParamsWrapper(object):
+
+    def __init__(self, params):
+        self.params = params
+
+    def __getitem__(self, key):
+        if key in self.params:
+            return cgi.escape(self.params[key])
+        return ''
+
+def handle_resource(req, extra=None):
     filename = req.path_info.split('/')[-1]
     type, _ = mimetypes.guess_type(filename)
     path = os.path.join(_HERE, filename)
+    contents = open(path, 'r').read()
     if type == 'text/html':
-        pt = MyPageTemplateFile(path)
-        contents = pt(req)
-    else:
-        contents = open(path, 'r').read()
+        params = {}
+        params.update(req.params)
+        if extra is not None:
+            params.update(extra)
+        contents = contents % ParamsWrapper(params)
     return Response(contents, content_type=type)
 
+def forms(req):
+    extra = {}
+    if 'hidden-4' in req.params and 'submit-4' not in req.params:
+        extra['no-submit-button'] = 'Submitted without the submit button.'
+    return handle_resource(req, extra)
+
 def get_cookie(req):
     cookies = ['%s: %s' % i for i in sorted(req.cookies.items())]
     return Response('\n'.join(cookies))



More information about the checkins mailing list