4 use Test::More tests => 21;
6 use Moose::Meta::Class;
13 Class::MOP::load_class($role);
15 my $meta = Moose::Meta::Class->create_anon_class(
16 superclasses => ['Moose::Object'],
18 $meta->add_attribute('BigD', traits => ['Getopt'], isa => 'Bool',
19 cmd_aliases => ['D'], is => 'ro');
20 $meta->add_attribute('SmallD', traits => ['Getopt'], isa => 'Bool',
21 cmd_aliases => ['d'], is => 'ro');
22 $role->meta->apply($meta);
25 my $obj = $meta->name->new_with_options(
26 { argv => ["-d"], no_ignore_case => 1}
29 ok((! $obj->BigD), "BigD was not set for argv -d on $role");
30 ok($obj->SmallD, "SmallD was set for argv -d on $role");
33 ok($meta->name->new_with_options({ argv => ['-d'], no_ignore_case => 1})
35 "SmallD was set for argv -d on $role");
38 ok($meta->name->new_with_options()->SmallD,
39 "SmallD was set for ARGV on $role");
42 ok($meta->name->new_with_options({ argv => ['-D'], no_ignore_case => 1})
44 "BigD was set for argv -d on $role");
47 my $obj = $meta->name->new_with_options(
48 { argv => ['-D', "-d"], no_ignore_case => 1}
51 ok($obj->BigD, "BigD was set for argv -D -d on $role");
52 ok($obj->SmallD, "SmallD was set for argv -D -d on $role");