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
|
use strict;
use warnings;
use Test::More;
use lib './t';
use Data::Dumper;
$Data::Dumper::Sortkeys = 1;
use Getopt::EX::Hashed; {
has say => ( default => 'Hello', is => 'rw' );
has answer => ( default => 'Life', is => 'ro' );
has mouse => ( default => 'Benjy' );
}
my $app = Getopt::EX::Hashed->new() or die;
is($app->say, 'Hello', "Getter");
$app->say('Bonjour');
is($app->say, 'Bonjour', "Setter");
$app->say = 'Ciao';
is($app->say, 'Ciao', "Lvalue Setter");
eval { $app->answer('Universe') } or warn $@;
is($app->answer, 'Life', "read-only");
eval { $app->mouse('Frankie') } or warn $@;
is($app->{mouse}, 'Benjy', "no accessor");
done_testing;
|