diff options
Diffstat (limited to 't/mop.t')
-rw-r--r-- | t/mop.t | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -0,0 +1,39 @@ +#!/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 => 'Str', + value => 'FOO', + ); + + has bar => ( + is => 'ro', + isa => 'Str', + block => sub { + my $s = shift; + return $s->param('foo') . 'BAR'; + }, + dependencies => ['foo'], + ); +} + +with_immutable { + my $foo = Foo->new; + my $foo_attr = $foo->meta->get_attribute('foo'); + my $bar_attr = $foo->meta->get_attribute('bar'); + is($foo_attr->get_value($foo), 'FOO', "right value"); + is($bar_attr->get_value($foo), 'FOOBAR', "right value"); + ok(!$foo_attr->has_value($foo), "no value"); + ok(!$bar_attr->has_value($foo), "no value"); +} 'Foo'; + +done_testing; |