[Checkins] SVN: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/ cleaning up tests

Christian Klinger cklinger at novareto.de
Mon Jul 6 08:14:36 EDT 2009


Log message for revision 101617:
  cleaning up tests
  splitting fields in render tests
  pepified components.py
  
  

Changed:
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/components.py
  D   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_int.pt
  D   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_string.pt
  D   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_text.pt
  D   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/new_string.pt
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_int.pt
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_string.pt
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_text.pt
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/new_string.pt
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_render.py
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_widgettemplate.py

-=-
Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/components.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/components.py	2009-07-06 12:13:45 UTC (rev 101616)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/components.py	2009-07-06 12:14:35 UTC (rev 101617)
@@ -16,10 +16,12 @@
 
 import megrok.layout
 
+
 class DefaultFields(field.Fields):
     """Marker for default fields.
     """
 
+
 class GrokForm(object):
     """A z3c grok form. This is based on the GrokForm designed for
     Formlib.
@@ -68,7 +70,8 @@
         correctly.
         """
         if self.template is None:
-            self.template = component.getMultiAdapter((self, self.request), IPageTemplate)
+            self.template = component.getMultiAdapter(
+                            (self, self.request), IPageTemplate)
         return self._render_template()
 
 
@@ -93,7 +96,6 @@
             return super(GrokForm, self)._render_template()
         return self.template(self)
 
-
     def __call__(self):
         mapply(self.update, (), self.request)
         if self.request.response.getStatus() in (302, 303):
@@ -108,7 +110,6 @@
         return self.layout()
 
 
-
 class Form(GrokForm, form.Form, grokcore.view.View):
     """Normal z3c form.
     """
@@ -128,18 +129,15 @@
     """
 
     martian.baseclass()
-    
 
 
 class DisplayForm(GrokForm, form.DisplayForm, grokcore.view.View):
     """z3c display form.
     """
-    
+
     martian.baseclass()
 
 
-# Page Forms
-
 class PageForm(PageGrokForm, form.Form, megrok.layout.Page):
     """Normal z3c form with megrok.layout support.
     """
@@ -160,10 +158,9 @@
             return ""
         if IGrokTemplate.providedBy(self.template):
             return super(GrokForm, self)._render_template()
-        return self.template(self) 
+        return self.template(self)
 
 
-
 class PageEditForm(PageGrokForm, form.EditForm, megrok.layout.Page):
     """z3c edit form with megrok.layout support.
     """
@@ -174,11 +171,9 @@
 class PageDisplayForm(PageGrokForm, form.DisplayForm, megrok.layout.Page):
     """z3c display form with megrok.layout support.
     """
-    
+
     martian.baseclass()
 
 
-# Widgets
-
 class WidgetTemplate(object):
     pass

Deleted: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_int.pt
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_int.pt	2009-07-06 12:13:45 UTC (rev 101616)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_int.pt	2009-07-06 12:14:35 UTC (rev 101617)
@@ -1 +0,0 @@
-<span> This is custom integer widget for zope.schema.Int Fields </span>

Deleted: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_string.pt
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_string.pt	2009-07-06 12:13:45 UTC (rev 101616)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_string.pt	2009-07-06 12:14:35 UTC (rev 101617)
@@ -1,36 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:tal="http://xml.zope.org/namespaces/tal"
-      tal:omit-tag="">
-    <span> Custom Widget </span>
-    <input id="" name="" class="" title="" lang="" disabled=""
-           readonly="" alt="" tabindex="" accesskey="" size="" maxlength=""
-           style="" value="" type="text"
-           tal:attributes="id view/id;
-                           name view/name;
-                           class view/klass;
-                           style view/style;
-                           title view/title;
-                           lang view/lang;
-                           onclick view/onclick;
-                           ondblclick view/ondblclick;
-                           onmousedown view/onmousedown;
-                           onmouseup view/onmouseup;
-                           onmouseover view/onmouseover;
-                           onmousemove view/onmousemove;
-                           onmouseout view/onmouseout;
-                           onkeypress view/onkeypress;
-                           onkeydown view/onkeydown;
-                           onkeyup view/onkeyup;
-                           value view/value;
-                           disabled view/disabled;
-                           tabindex view/tabindex;
-                           onfocus view/onfocus;
-                           onblur view/onblur;
-                           onchange view/onchange;
-                           readonly view/readonly;
-                           alt view/alt;
-                           accesskey view/accesskey;
-                           onselect view/onselect;
-                           size view/size;
-                           maxlength view/maxlength" />
-</html>

Deleted: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_text.pt
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_text.pt	2009-07-06 12:13:45 UTC (rev 101616)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_text.pt	2009-07-06 12:14:35 UTC (rev 101617)
@@ -1 +0,0 @@
-<span> Custom Text Widget </span>

Deleted: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/new_string.pt
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/new_string.pt	2009-07-06 12:13:45 UTC (rev 101616)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/new_string.pt	2009-07-06 12:14:35 UTC (rev 101617)
@@ -1 +0,0 @@
-    <span> Extra Widget </span>

Copied: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_int.pt (from rev 101607, megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_int.pt)
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_int.pt	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_int.pt	2009-07-06 12:14:35 UTC (rev 101617)
@@ -0,0 +1 @@
+<span> This is custom integer widget for zope.schema.Int Fields </span>

Copied: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_string.pt (from rev 101607, megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_string.pt)
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_string.pt	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_string.pt	2009-07-06 12:14:35 UTC (rev 101617)
@@ -0,0 +1,36 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:tal="http://xml.zope.org/namespaces/tal"
+      tal:omit-tag="">
+    <span> Custom Widget </span>
+    <input id="" name="" class="" title="" lang="" disabled=""
+           readonly="" alt="" tabindex="" accesskey="" size="" maxlength=""
+           style="" value="" type="text"
+           tal:attributes="id view/id;
+                           name view/name;
+                           class view/klass;
+                           style view/style;
+                           title view/title;
+                           lang view/lang;
+                           onclick view/onclick;
+                           ondblclick view/ondblclick;
+                           onmousedown view/onmousedown;
+                           onmouseup view/onmouseup;
+                           onmouseover view/onmouseover;
+                           onmousemove view/onmousemove;
+                           onmouseout view/onmouseout;
+                           onkeypress view/onkeypress;
+                           onkeydown view/onkeydown;
+                           onkeyup view/onkeyup;
+                           value view/value;
+                           disabled view/disabled;
+                           tabindex view/tabindex;
+                           onfocus view/onfocus;
+                           onblur view/onblur;
+                           onchange view/onchange;
+                           readonly view/readonly;
+                           alt view/alt;
+                           accesskey view/accesskey;
+                           onselect view/onselect;
+                           size view/size;
+                           maxlength view/maxlength" />
+</html>

Copied: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_text.pt (from rev 101607, megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/custom_text.pt)
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_text.pt	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/custom_text.pt	2009-07-06 12:14:35 UTC (rev 101617)
@@ -0,0 +1 @@
+<span> Custom Text Widget </span>

Copied: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/new_string.pt (from rev 101607, megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/new_string.pt)
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/new_string.pt	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/templates/new_string.pt	2009-07-06 12:14:35 UTC (rev 101617)
@@ -0,0 +1 @@
+    <span> Extra Widget </span>

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py	2009-07-06 12:13:45 UTC (rev 101616)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py	2009-07-06 12:14:35 UTC (rev 101617)
@@ -15,11 +15,7 @@
   >>> [field.__name__ for field in view.fields.values()]
   ['name', 'age']
 
-Now what happens with the render and call functions?
 
-  >>> print view() 
-  ...
-
 Does the field functions (omit, select, ...) work
 
   >>> index = component.getMultiAdapter((manfred, request), name='index')
@@ -29,25 +25,6 @@
   >>> 'name' in index.fields.keys()
   True
 
-  >>> print index()
-  <div class="viewspace">
-    <div>
-      <div id="form-widgets-name-row" class="row">
-	 <div class="label">
-		<label for="form-widgets-name">
-		  <span>Name</span>
-	 </label>
-      </div>
-      <div class="widget">
-      <span id="form-widgets-name"
-	  class="text-widget required textline-field"></span>
-      </div>
-     </div>
-    </div>
-  </div>
-
-
-
 """
 import grok
 

Copied: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_render.py (from rev 101610, megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py)
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_render.py	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_render.py	2009-07-06 12:14:35 UTC (rev 101617)
@@ -0,0 +1,193 @@
+"""
+megrok.z3cform render
+=====================
+
+basic-setup
+-----------
+
+  >>> manfred = Mammoth()
+  >>> from zope import component
+  >>> from zope.interface import alsoProvides
+  >>> from zope.publisher.browser import TestRequest
+  >>> request = TestRequest()
+  >>> alsoProvides(request, RenderSkin)
+
+add forms
+---------
+
+  >>> add = component.getMultiAdapter((manfred, request), name='add')
+  >>> print add()
+  <form action="http://127.0.0.1" method="post"
+          enctype="multipart/form-data" class="edit-form"
+          name="form" id="form">
+      <div class="viewspace">
+          <div class="required-info">
+             <span class="required">*</span>
+             &ndash; required
+          </div>
+        <div>
+              <div id="form-widgets-name-row" class="row">
+                  <div class="label">
+                    <label for="form-widgets-name">
+                      <span>Name</span>
+                      <span class="required">*</span>
+                    </label>
+                  </div>
+                  <div class="widget">
+        <input id="form-widgets-name" name="form.widgets.name"
+               class="text-widget required textline-field"
+               value="" type="text" />
+    </div>
+              </div>
+              <div id="form-widgets-age-row" class="row">
+                  <div class="label">
+                    <label for="form-widgets-age">
+                      <span>Age</span>
+                      <span class="required">*</span>
+                    </label>
+                  </div>
+                  <div class="widget">
+        <input id="form-widgets-age" name="form.widgets.age"
+               class="text-widget required int-field" value=""
+               type="text" />
+    </div>
+              </div>
+        </div>
+      </div>
+      <div>
+        <div class="buttons">
+    <input id="form-buttons-add" name="form.buttons.add"
+           class="submit-widget button-field" value="Add"
+           type="submit" />
+        </div>
+      </div>
+    </form>
+
+
+edit-forms
+----------
+
+  >>> edit = component.getMultiAdapter((manfred, request), name='edit')
+  >>> print edit() 
+  <form action="http://127.0.0.1" method="post"
+          enctype="multipart/form-data" class="edit-form"
+          name="form" id="form">
+      <div class="viewspace">
+          <div class="required-info">
+             <span class="required">*</span>
+             &ndash; required
+          </div>
+        <div>
+              <div id="form-widgets-name-row" class="row">
+                  <div class="label">
+                    <label for="form-widgets-name">
+                      <span>Name</span>
+                      <span class="required">*</span>
+                    </label>
+                  </div>
+                  <div class="widget">
+        <input id="form-widgets-name" name="form.widgets.name"
+               class="text-widget required textline-field"
+               value="" type="text" />
+    </div>
+              </div>
+              <div id="form-widgets-age-row" class="row">
+                  <div class="label">
+                    <label for="form-widgets-age">
+                      <span>Age</span>
+                      <span class="required">*</span>
+                    </label>
+                  </div>
+                  <div class="widget">
+        <input id="form-widgets-age" name="form.widgets.age"
+               class="text-widget required int-field" value=""
+               type="text" />
+    </div>
+              </div>
+        </div>
+      </div>
+      <div>
+        <div class="buttons">
+    <input id="form-buttons-apply" name="form.buttons.apply"
+           class="submit-widget button-field" value="Apply"
+           type="submit" />
+        </div>
+      </div>
+    </form>
+
+
+display-forms
+-------------
+
+  >>> index = component.getMultiAdapter((manfred, request), name='index')
+  >>> print index()
+  <div class="viewspace">
+        <div>
+              <div id="form-widgets-name-row" class="row">
+                  <div class="label">
+                    <label for="form-widgets-name">
+                      <span>Name</span>
+                    </label>
+                  </div>
+                  <div class="widget">
+        <span id="form-widgets-name"
+              class="text-widget required textline-field"></span>
+    </div>
+              </div>
+              <div id="form-widgets-age-row" class="row">
+                  <div class="label">
+                    <label for="form-widgets-age">
+                      <span>Age</span>
+                    </label>
+                  </div>
+                  <div class="widget">
+        <span id="form-widgets-age"
+              class="text-widget required int-field"></span>
+    </div>
+              </div>
+        </div>
+      </div>
+
+"""
+import grok
+
+from zope import interface, schema
+from zope.schema.fieldproperty import FieldProperty
+from megrok import z3cform
+from z3c.form import field
+
+class RenderSkin(z3cform.FormLayer):
+    grok.skin('renderskin')
+
+grok.layer(RenderSkin)
+
+
+
+class IMammoth(interface.Interface):
+
+    name = schema.TextLine(title=u"Name")
+    age = schema.Int(title=u"Age")
+
+class Mammoth(grok.Model):
+    
+    interface.implements(IMammoth)
+
+    name = FieldProperty(IMammoth['name'])
+    age = FieldProperty(IMammoth['age'])
+
+class Add(z3cform.AddForm):
+    pass
+
+class Edit(z3cform.EditForm):
+    pass
+
+class Index(z3cform.DisplayForm):
+    pass
+
+def test_suite():
+    from zope.testing import doctest
+    from megrok.z3cform.tests import FunctionalLayer
+    suite = doctest.DocTestSuite(optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS)
+    suite.layer = FunctionalLayer
+    return suite
+

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_widgettemplate.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_widgettemplate.py	2009-07-06 12:13:45 UTC (rev 101616)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_widgettemplate.py	2009-07-06 12:14:35 UTC (rev 101617)
@@ -121,22 +121,22 @@
 
 class CustomStringTemplate(z3cform.WidgetTemplate):
     grok.context(Person)
-    grok.template('new_string.pt')
+    grok.template('templates/new_string.pt')
     megrok.z3cform.directives.mode(interfaces.DISPLAY_MODE)
 
 class CustomTemplate(z3cform.WidgetTemplate):
     grok.context(Person)
-    grok.template('custom_string.pt')
+    grok.template('templates/custom_string.pt')
     grok.view(interfaces.IAddForm)
 
 class NewTemplateForIntField(z3cform.WidgetTemplate):
     grok.context(Person)
-    grok.template('custom_int.pt')
+    grok.template('templates/custom_int.pt')
     megrok.z3cform.directives.field(schema.interfaces.IInt)
 
 class NewTemplateForTextWidget(z3cform.WidgetTemplate):
     grok.context(Person)
-    grok.template('custom_text.pt')
+    grok.template('templates/custom_text.pt')
     grok.view(View2)
     megrok.z3cform.directives.widget(interfaces.ITextWidget)
     megrok.z3cform.directives.mode(interfaces.DISPLAY_MODE)



More information about the Checkins mailing list