From: Chris Prather Date: Fri, 21 Nov 2008 17:25:23 +0000 (+0000) Subject: add more use cases X-Git-Tag: 0.62~24 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=22692dd4908c53435b90ff6155de5c8909c62bae;p=gitmo%2FMoose.git add more use cases --- diff --git a/t/100_bugs/019_moose_octal_defaults.t b/t/100_bugs/019_moose_octal_defaults.t index 8cde1e4..ddb9ab1 100644 --- a/t/100_bugs/019_moose_octal_defaults.t +++ b/t/100_bugs/019_moose_octal_defaults.t @@ -1,7 +1,8 @@ #!/usr/bin/env perl use Test::More qw(no_plan); -my $package = qq{ +{ + my $package = qq{ package Test::Moose::Go::Boom; use Moose; use lib qw(lib); @@ -9,7 +10,7 @@ use lib qw(lib); has id => ( isa => 'Str', is => 'ro', - default => '019600', # Moose doesn't quote this when inlining, an perl treats it as an octal ... and 9 isn't a valid octal + default => '019600', # this caused the original failure ); no Moose; @@ -17,12 +18,14 @@ no Moose; __PACKAGE__->meta->make_immutable; }; -eval $package; -$@ ? ::fail($@) : ::pass('quoted 019600 default works'); -my $obj = Test::Moose::Go::Boom->new; -::is($obj->id, '019600', 'value is still the same'); + eval $package; + $@ ? ::fail($@) : ::pass('quoted 019600 default works'); + my $obj = Test::Moose::Go::Boom->new; + ::is( $obj->id, '019600', 'value is still the same' ); +} -my $package2 = qq{ +{ + my $package = qq{ package Test::Moose::Go::Boom2; use Moose; use lib qw(lib); @@ -30,7 +33,7 @@ use lib qw(lib); has id => ( isa => 'Str', is => 'ro', - default => 017600, # Moose doesn't quote this when inlining, an perl treats it as an octal ... and 9 isn't a valid octal + default => 017600, ); no Moose; @@ -38,8 +41,54 @@ no Moose; __PACKAGE__->meta->make_immutable; }; + eval $package; + $@ ? ::fail($@) : ::pass('017600 octal default works'); + my $obj = Test::Moose::Go::Boom2->new; + ::is( $obj->id, 8064, 'value is still the same' ); +} -eval $package2; -$@ ? ::fail($@) : ::pass('017600 octal default works'); -my $obj = Test::Moose::Go::Boom2->new; -::is($obj->id, 8064, 'value is still the same'); \ No newline at end of file +{ + my $package = qq{ +package Test::Moose::Go::Boom3; +use Moose; +use lib qw(lib); + +has id => ( + isa => 'Str', + is => 'ro', + default => 0xFF, +); + +no Moose; + +__PACKAGE__->meta->make_immutable; +}; + + eval $package; + $@ ? ::fail($@) : ::pass('017600 octal default works'); + my $obj = Test::Moose::Go::Boom3->new; + ::is( $obj->id, 255, 'value is still the same' ); +} + +{ + my $package = qq{ +package Test::Moose::Go::Boom4; +use Moose; +use lib qw(lib); + +has id => ( + isa => 'Str', + is => 'ro', + default => '0xFF', +); + +no Moose; + +__PACKAGE__->meta->make_immutable; +}; + + eval $package; + $@ ? ::fail($@) : ::pass('017600 octal default works'); + my $obj = Test::Moose::Go::Boom4->new; + ::is( $obj->id, '0xFF', 'value is still the same' ); +} \ No newline at end of file