diff options
Diffstat (limited to 't/attributes/attribute_names.t')
-rw-r--r-- | t/attributes/attribute_names.t | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/t/attributes/attribute_names.t b/t/attributes/attribute_names.t new file mode 100644 index 0000000..af6ee1e --- /dev/null +++ b/t/attributes/attribute_names.t @@ -0,0 +1,57 @@ +use strict; +use warnings; +use Test::More; +use Test::Fatal; + +my $exception_regex = qr/You must provide a name for the attribute/; +{ + package My::Role; + use Moose::Role; + + ::like( ::exception { + has; + }, $exception_regex, 'has; fails' ); + + ::like( ::exception { + has undef; + }, $exception_regex, 'has undef; fails' ); + + ::is( ::exception { + has "" => ( + is => 'bare', + ); + }, undef, 'has ""; works now' ); + + ::is( ::exception { + has 0 => ( + is => 'bare', + ); + }, undef, 'has 0; works now' ); +} + +{ + package My::Class; + use Moose; + + ::like( ::exception { + has; + }, $exception_regex, 'has; fails' ); + + ::like( ::exception { + has undef; + }, $exception_regex, 'has undef; fails' ); + + ::is( ::exception { + has "" => ( + is => 'bare', + ); + }, undef, 'has ""; works now' ); + + ::is( ::exception { + has 0 => ( + is => 'bare', + ); + }, undef, 'has 0; works now' ); +} + +done_testing; |