
CGI::Test::Form::Widget::Button - Abstract representation of a button

# Inherits from CGI::Test::Form::Widget

This class is the abstract representation of a button, i.e. a submit button, an image button, a reset button or a plain button.
Pressing a button is achieved by calling press() on it, which returns a new page, as a CGI::Test::Page object, or undef if pressing had no round-trip effect.

The interface is the same as the one described in CGI::Test::Form::Widget, with the following additions:
is_pressedTrue when the button is pressed.
pressPress the button, setting is_pressed to true.
If the button is a reset button (is_reset is true), all widgets are reset to their initial state, and undef is returned.
If the button is a submit button (is_submit is true), then a GET/POST request is issued as appropriate and the reply is made available through a CGI::Test::Page object.
Otherwise, the button pressing is ignored, a warning is issued from the perspective of the caller, via logcarp, and undef is returned.
There is an additional set of predicates to distinguish between the various buttons:
is_plainReturns true for a plain button, i.e. a button that has no submit/reset effects. Usually, those buttons are linked to a script, but CGI::Test does not support scripting yet.
is_resetReturns true for reset buttons.
is_submitReturns true for submit buttons, whether they are really shown as buttons or as images. A submit button will cause an HTTP request to be issued in response to its being pressed.
Although documented, those features are more targetted for internal use...
set_is_pressed flagChange the pressed status of the button, to the value of flag. It does not raise any other side effect, like submitting an HTTP request if the button is a submit button.
You should probably use the press convenience routine instead of calling this feature directly.

Raphael Manfredi <Raphael_Manfredi@pobox.com>

CGI::Test::Form::Widget(3), CGI::Test::Form::Widget::Button::Image(3), CGI::Test::Form::Widget::Button::Plain(3), CGI::Test::Form::Widget::Button::Reset(3), CGI::Test::Form::Widget::Button::Submit(3).