diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-06-14 16:04:36 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-06-14 16:04:36 -0500 |
commit | 36ea288cc78dedaadd1d3b38331489646be26626 (patch) | |
tree | 4e2c123e9a1b0d8fe50036b03ab17af7850988ba /t/auto-deref.t | |
parent | 65028d365fcfa1f28b0f0e85e8443b3b1c9dad34 (diff) | |
download | bread-board-declare-36ea288cc78dedaadd1d3b38331489646be26626.tar.gz bread-board-declare-36ea288cc78dedaadd1d3b38331489646be26626.zip |
remove test numbers
Diffstat (limited to 't/auto-deref.t')
-rw-r--r-- | t/auto-deref.t | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/t/auto-deref.t b/t/auto-deref.t new file mode 100644 index 0000000..06762f6 --- /dev/null +++ b/t/auto-deref.t @@ -0,0 +1,47 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use Test::Moose; + +{ + package Foo; + use Moose; + use Bread::Board::Declare; + + has foo => ( + is => 'ro', + isa => 'ArrayRef', + auto_deref => 1, + block => sub { ['foo', 'bar'] }, + ); + + has bar => ( + is => 'ro', + isa => 'HashRef', + auto_deref => 1, + block => sub { {'foo' => 'bar'} }, + ); +} + +with_immutable { +{ + my $foo = Foo->new; + + is_deeply(scalar($foo->foo), ['foo', 'bar'], "scalar array"); + is_deeply([$foo->foo], ['foo', 'bar'], "list array"); + is_deeply(scalar($foo->bar), {'foo', 'bar'}, "scalar hash"); + is_deeply({$foo->foo}, {'foo', 'bar'}, "list hash"); +} + +{ + my $foo = Foo->new(foo => ['foo', 'bar'], bar => {'foo' => 'bar'}); + + is_deeply(scalar($foo->foo), ['foo', 'bar'], "scalar array"); + is_deeply([$foo->foo], ['foo', 'bar'], "list array"); + is_deeply(scalar($foo->bar), {'foo', 'bar'}, "scalar hash"); + is_deeply({$foo->foo}, {'foo', 'bar'}, "list hash"); +} +} 'Foo'; + +done_testing; |