Re: [Zope3-Users] Registering adapter for ListSequence widget in tests

2006-09-06 Thread TAHARA Yusei
Hi.

I think you should use zope.app.testing.ztapi.provideAdapter instead.

See zope/app/form/browser/tests/test_objectwidget.py,
this is a good example.

--
TAHARA Yusei
___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


Re: [Zope3-Users] Registering adapter for ListSequence widget in tests

2006-09-06 Thread Darryl Cousins
Cheers Stephan,

Yup. I added:

 provideAdapter(CollectionInputWidget,[ISequence, \
...IBrowserRequest], \
...IInputWidget)

To the test and now more form can be rendered in the doctest.

Many thanks,
Darryl

On Wed, 2006-09-06 at 06:58 -0400, Stephan Richter wrote:
 On Wednesday 06 September 2006 00:55, Darryl Cousins wrote:
  Following test setup formula in zope.app.form.browser I get this:
 
   provideAdapter(ListSequenceWidget,[IList,IField,IBrowserRequest], \
  ...IInputWidget,)
 
 You need a second adapter adapting just IList to IInputWidget. Here is what 
 the configuration of zope.app.form.browser does:
 
   view
   type=zope.publisher.interfaces.browser.IBrowserRequest
   for=zope.schema.interfaces.ISequence
   provides=zope.app.form.interfaces.IInputWidget
   factory=.CollectionInputWidget
   permission=zope.Public
   /
 
 Regards,
 Stephan

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Registering adapter for ListSequence widget in tests

2006-09-05 Thread Darryl Cousins
Hi,

I am having problems registering ListSequence widget, the following from my 
doctest:

Although most widget adapters are registered in tfws.form.browser testing I had
a lot of trouble with ListSequenceWidget - here I keep trying until I get it.

This is the error raised when running the test::

ComponentLookupError: ((zope.schema._field.List object at 0xb704532c,
zope.publisher.browser.TestRequest instance URL=http://127.0.0.1),
InterfaceClass zope.app.form.interfaces.IInputWidget, u'')

If I can't get the widget registered for the test then I shall just have to give
up on the test.

All this is to try to register an adpater to IInputWidget for the schema::

addlanguage = List(
title = _(Language),
description = _(Add language to content),
required = False,
default = [],
value_type = TextLine(
title = _(Langauge)))

It **does** work in the browser.

Imports::

 from zope.component import provideAdapter
 from zope.app.form.browser import ListSequenceWidget
 from zope.schema.interfaces import IList, IField
 from zope.app.form.interfaces import IInputWidget
 from zope.publisher.interfaces.browser import IBrowserRequest

The zcml configure for same looks like this in zope.app.form.browser.configure::

view
type=zope.publisher.interfaces.browser.IBrowserRequest
for=zope.schema.interfaces.IList
 zope.schema.interfaces.IField
provides=zope.app.form.interfaces.IInputWidget
factory=.ListSequenceWidget
permission=zope.Public
/

Following test setup formula in zope.app.form.browser I get this:

 provideAdapter(ListSequenceWidget,[IList,IField,IBrowserRequest], \
...IInputWidget,)

But no go. See error above.

Best regards,
Darryl

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users