Re: [Zope-dev] zope.formlib's action decorator return Action() object, not the decorated function. Why?
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 ___ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] zope.formlib's action decorator return Action() object, not the decorated function. Why?
On 9/16/12 09:38 , Wichert Akkerman wrote: On Sep 16, 2012, at 07:28, Marius Gedminas mar...@gedmin.as wrote: 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.) Another effect of this is probably that you can use sphinx's autodoc for actions which would be unfortunate. Ah, good catch. Didn't think of that yet... regards, jw ___ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] zope.formlib's action decorator return Action() object, not the decorated function. Why?
On Sep 16, 2012, at 07:28, Marius Gedminas mar...@gedmin.as wrote: 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.) Another effect of this is probably that you can use sphinx's autodoc for actions which would be unfortunate. Wichert. ___ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] zope.formlib's action decorator return Action() object, not the decorated function. Why?
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 signature.asc Description: Digital signature ___ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] zope.formlib's action decorator return Action() object, not the decorated function. Why?
Hi, 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 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. 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? Kind regards, jw ___ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )