NAME
CGI::Test::Form::Widget::Button - Abstract representation of a button
SYNOPSIS
# Inherits from CGI::Test::Form::Widget
DESCRIPTION
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.
INTERFACE
The interface is the same as the one described in CGI::Test::Form::Widget, with the following additions:
Attributes
is_pressed
-
True when the button is pressed.
Attribute Setting
press
-
Press 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, andundef
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 aCGI::Test::Page
object.Otherwise, the button pressing is ignored, a warning is issued from the perspective of the caller, via
logcarp
, andundef
is returned.
Widget Classification Predicates
There is an additional set of predicates to distinguish between the various buttons:
is_plain
-
Returns 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_reset
-
Returns true for reset buttons.
is_submit
-
Returns 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.
Miscellaneous Features
Although documented, those features are more targetted for internal use...
set_is_pressed
flag-
Change 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.
AUTHORS
The original author is Raphael Manfredi.
Steven Hilton was long time maintainer of this module.
Current maintainer is Alexander Tokarev <tokarev@cpan.org>.
SEE ALSO
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).