Add some tests showing that upper case options don't work in MooseX::Getopt::Basic
[gitmo/MooseX-Getopt.git] / t / 105_uc_bug_more.t
1 use strict;
2 use warnings;
3 use Test::More;
4 use Moose ();
5 use Moose::Meta::Class;
6
7 foreach my $role (qw/
8     MooseX::Getopt
9     MooseX::Getopt::GLD
10     MooseX::Getopt::Basic
11 /) {
12     Class::MOP::load_class($role);
13
14     my $meta = Moose::Meta::Class->create_anon_class(
15         superclasses => ['Moose::Object'],
16     );
17     $meta->add_attribute('Debug', traits => ['Getopt'], isa => 'Bool',
18         cmd_aliases => ['d'], is => 'ro');
19     $role->meta->apply($meta);
20
21     ok($meta->name->new_with_options({ argv => ['-d'] })->Debug,
22         "Debug was set for argv -d on $role");
23     {
24         local @ARGV = ('-d');
25         ok($meta->name->new_with_options()->Debug,
26             "Debug was set for ARGV on $role");
27     }
28
29     ok($meta->name->new_with_options({ argv => ['--Debug'] })->Debug,
30         "Debug was set for argv --Debug on $role");
31
32     ok($meta->name->new_with_options({ argv => ['--debug'] })->Debug,
33         "Debug was set for argv --debug on $role");
34 }
35
36 done_testing;
37