Convert tabs to spaces
[gitmo/MooseX-Getopt.git] / t / 010_dashes.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 5;
7
8 use Test::Exception;
9
10
11 BEGIN {
12     use_ok('MooseX::Getopt');
13 }
14
15 {
16     package App;
17     use Moose;
18
19     with 'MooseX::Getopt::Dashes';
20
21     has 'some_thingy' => ( is => 'ro', isa => 'Str', default => 'foo' );
22     has 'another_thingy'   => ( is => 'ro', isa => 'Str', default => 'foo', cmd_flag => 'another_thingy', traits => [ 'Getopt' ], );
23 }
24
25 {
26     local @ARGV = (qw/--some-thingy bar/);
27     lives_and { is( App->new_with_options->some_thingy, 'bar') } 'Dash in option name';
28 }
29
30 {
31     local @ARGV = (qw/--some_thingy bar/);
32     throws_ok { App->new_with_options } qr/Unknown option: some_thingy/;
33 }
34
35 {
36     local @ARGV = (qw/--another_thingy bar/);
37     lives_and { is( App->new_with_options->another_thingy, 'bar' ) } 'Underscore in option name';
38 }
39
40 {
41     local @ARGV = (qw/--another-thingy bar/);
42     throws_ok { App->new_with_options } qr/Unknown option: another-thingy/;
43 }