---
name: "CGI::Test::Form::Widget::Box"
section: "3pm"
platform: "linux"
package: "libcgi-test-perl"
version: "1.111-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/CGI::Test::Form::Widget::Box"
---

# CGI::Test::Form::Widget::Box(3pm)

Abstract representation of a tickable box

## NAME

CGI::Test::Form::Widget::Box - Abstract representation of a tickable box

## SYNOPSIS

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

## DESCRIPTION

This class is the abstract representation of a tickable box, i.e. a radio button or a checkbox.

To simulate user checking or un-checking on a box, use the `"check()"` and `"uncheck()"` routines, as described below.

## INTERFACE

The interface is the same as the one described in CGI::Test::Form::Widget, with the following additions:

### Attributes

- "group"

  The `"CGI::Test::Form::Group"` object which holds all the groups of the same widget type.

- "group\_list"

  The list of widgets belonging to the same group as we do.

- "is\_checked"

  True when the box is checked, i.e. marked with a tick.

### Attribute Setting

- "check"

  Check the box, by ticking it.

- "check\_tagged" *tag*

  This may be called on any box, and it will locate the box whose value attribute is *tag* within the `"group_list"`, and then check it.

  If the specified *tag* is not found, the caller will get a warning via `"carp"`.

- "uncheck"

  Uncheck the box, by removing its ticking mark. It is not possible to do this on a radio button: you must *check* another radio button of the same group instead.

- "uncheck\_tagged" *tag*

  This may be called on any box, and it will locate the box whose value attribute is *tag* within the `"group_list"`, and then remove its ticking mark. It is not possible to do this on a radio button, as explained in `"uncheck"` above.

  If the specified *tag* is not found, the caller will get a warning via `"carp"`.

### Widget Classification Predicates

There is an additional predicate to distinguish between a checkbox and a radio button:

- "is\_radio"

  Returns *true* for a radio button.

- "is\_standalone"

  Returns *true* if the box is the sole member of its group.

  Normally only useful for checkboxes: a standalone radio button, although perfectly legal, would always remain in the checked state, and therefore not be especially interesting...

### Miscellaneous Features

Although documented, those features are more targetted for internal use...

- "set\_is\_checked" *flag*

  Change the checked status.  Radio buttons can only be checked, i.e. the *flag* must be true: all other radio buttons in the same group are immediately unchecked.

  You should use the `"check"` and `"uncheck"` convenience routines instead of calling this feature.

## 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::Box::Radio**(3), **CGI::Test::Form::Widget::Box::Check**(3).
