[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>
+ – 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>
+ – 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