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