On Fri, Sep 14, 2012 at 01:44:30PM +0200, Jan-Wijbrand Kolman wrote:
> After years and years of heavily using zope.formlib it suddenly struck
> me that the zope.formlib.form.action decorator returns an Action()
> object instead of the decorated function (this action object is also
> added to the form's actions sequence as a "side effect" of the decorator).
> I know wonder: Why?

(I've no clue.)

> I cannot find a use case for wanting the action object added to the
> class members under the name of the decorated function. But maybe there is?
> The reason I came across this "issue" is trying to improve the test
> coverage of the application I'm building somewhat closer to 100% and
> found that the form actions implementation *appeared* not to be covered
> at all - even if there clearly are tests for these.

How are you measuring coverage?

How are you testing the handlers?

I'm asking because I haven't encountered this issue in my projects --
form action handlers show up in my test coverage just fine.

> I tried having the decorator "just" returning the function, and at least
> all zope.formlib's tests themselves do pass.
> Would anyone mind if I would change the behaviour of the decorator?

I have unit tests that invoke view.handle_foo_button.handler() directly,
because they assume zope.formlib's @action replaces the
handle_foo_button method with an Action.  Your change would break my
tests, but they would be trivial to fix, so my vote would be -0, with
the request of a larger version bump to indicate backwards-incompatibility.

Marius Gedminas
http://pov.lt/ -- Zope 3/BlueBream consulting and development

Attachment: signature.asc
Description: Digital signature

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to