/usr/share/perl5/CGI/Test/Form/Widget/Box/Radio.pm is in libcgi-test-perl 1.111-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | package CGI::Test::Form::Widget::Box::Radio;
use strict;
use warnings;
##################################################################
# $Id: Radio.pm 411 2011-09-26 11:19:30Z nohuhu@nohuhu.org $
# $Name: cgi-test_0-104_t1 $
##################################################################
#
# Copyright (c) 2001, Raphael Manfredi
#
# You may redistribute only under the terms of the Artistic License,
# as specified in the README file that comes with the distribution.
#
use Carp;
#
# This class models a FORM radio button.
#
use base qw(CGI::Test::Form::Widget::Box);
#
# ->set_is_checked -- redefined
#
# Change checked state.
#
# A radio button can only be "clicked on", i.e. it is not otherwise
# un-checkable. Therefore, $checked must always be true. Furthermore,
# all related radio buttons must be cleared.
#
sub set_is_checked
{
my $this = shift;
my ($checked) = @_;
return if !$checked == !$this->is_checked(); # No change
#
# We're checking a radio button that was cleared previously.
# All the other radio buttons in the group are going to be cleared.
#
$this->_frozen_set_is_checked($checked);
foreach my $radio ($this->group_list)
{
next if $radio == $this;
$radio->_frozen_set_is_checked(0);
}
return;
}
sub uncheck
{
carp "ignoring uncheck on radio button";
}
sub uncheck_tagged
{
carp "ignoring uncheck_tagged on radio button";
}
#
# Attribute access
#
sub gui_type
{
return "radio button";
}
#
# Defined predicates
#
sub is_radio
{
return 1;
}
1;
=head1 NAME
CGI::Test::Form::Widget::Box::Radio - A radio button widget
=head1 SYNOPSIS
# Inherits from CGI::Test::Form::Widget::Box
# $form is a CGI::Test::Form
my @title = $form->radios_named("title");
my ($mister) = grep { $_->value eq "Mr" } @title;
$mister->check if defined $mister;
my $title = $form->radio_by_name("title");
$title->check_tagged("Mr");
=head1 DESCRIPTION
This class represents a radio button widget, which may be checked at
will by users. All other radio buttons of the same group are automatically
unchecked.
If no radio button is checked initially, C<CGI::Test> arbitrarily chooses
the first one listed and warns you via C<warn>.
The interface is the same as the one described
in L<CGI::Test::Form::Widget::Box>.
Any attempt to C<uncheck> a radio button will be ignored, and a warning
emitted via C<carp>, to help you identify the caller.
=head1 AUTHORS
The original author is Raphael Manfredi.
Steven Hilton was long time maintainer of this module.
Current maintainer is Alexander Tokarev F<E<lt>tokarev@cpan.orgE<gt>>.
=head1 SEE ALSO
CGI::Test::Form::Widget::Box(3), CGI::Test::Form::Widget::Box::Check(3).
=cut
|