Skip to content

Commit

Permalink
added a bunch of tests for multiwidget containing an objectwidget tha…
Browse files Browse the repository at this point in the history
…t makes coverage happy and opens up some TODOs
  • Loading branch information
Adam Groszer committed Feb 14, 2009
1 parent bf8c28a commit c413e06
Show file tree
Hide file tree
Showing 3 changed files with 761 additions and 9 deletions.
16 changes: 7 additions & 9 deletions src/z3c/form/browser/object.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,32 +27,30 @@ examples:
>>> from z3c.form.testing import MySubObject
>>> from z3c.form.testing import MySecond

>>> from z3c.form.object import SubformAdapter
>>> zope.component.provideAdapter(SubformAdapter)

>>> import z3c.form.object
>>> zope.component.provideAdapter(z3c.form.object.SubformAdapter)
>>> zope.component.provideAdapter(z3c.form.object.ObjectConverter)

>>> from z3c.form.error import MultipleErrorViewSnippet
>>> zope.component.provideAdapter(MultipleErrorViewSnippet)

>>> import z3c.form.object
>>> zope.component.provideAdapter(z3c.form.object.ObjectConverter)


As for all widgets, the objectwidget must provide the new ``IWidget``
interface:

>>> from zope.interface.verify import verifyClass
>>> from z3c.form import interfaces
>>> from z3c.form.browser import object
>>> import z3c.form.browser.object

>>> verifyClass(interfaces.IWidget, object.ObjectWidget)
>>> verifyClass(interfaces.IWidget, z3c.form.browser.object.ObjectWidget)
True

The widget can be instantiated only using the request:

>>> from z3c.form.testing import TestRequest
>>> request = TestRequest()
>>> widget = object.ObjectWidget(request)
>>> widget = z3c.form.browser.object.ObjectWidget(request)

Before rendering the widget, one has to set the name and id of the widget:

Expand Down Expand Up @@ -397,7 +395,7 @@ Do all that fun in add and edit forms too:

We have to provide an adapter first:

>>> zope.component.provideAdapter(object.ObjectFieldWidget)
>>> zope.component.provideAdapter(z3c.form.browser.object.ObjectFieldWidget)

Forms and our objectwidget fire events on add and edit, setup a subscriber
for those:
Expand Down
Loading

0 comments on commit c413e06

Please sign in to comment.