On 9/16/12 07:28 , Marius Gedminas wrote:
On Fri, Sep 14, 2012 at 01:44:30PM +0200, Jan-Wijbrand Kolman wrote:
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?
The coverage reports as generated by the zope.testrunner ``--coverage`` option, then z3c.coverage to render the reports into html.
How are you testing the handlers?
In this specific case, I noticed the handlers seemed not be called (according to the coverage report) when using a test browser "submitting" a form. But I didn't try anything else just yet except for running that test again with a patched zope.formlib - where the decorated would return the function - and then the coverage was up :-)
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.
Ok, clear. Thanks for the feedback! regards, jw