1#!/usr/bin/perl 2 3use strict; 4use warnings; 5 6use Test::More; 7use Test::Fatal; 8 9use Bread::Board; 10 11my $c = container Foo => as { 12 service fez => 123; 13 14 container Bar => ['Baz'] => as { 15 service moo => ( 16 block => sub { 17 my ($s) = @_; 18 $s->param('kooh') + $s->param('fez'); 19 }, 20 dependencies => { 21 kooh => depends_on('Baz/boo'), 22 fez => depends_on('../fez'), 23 }, 24 ); 25 }; 26 27 container Bif => as { 28 service boo => 42; 29 }; 30}; 31 32is $c->fetch('Bar')->create(Baz => $c->fetch('Bif'))->resolve(service => 'moo'), 165, 'container works as expected'; 33 34my $clone; 35is exception { $clone = $c->clone }, undef, 'cloning the container does not throw an exception'; 36 37is $clone->fetch('Bar')->create(Baz => $clone->fetch('Bif'))->resolve(service => 'moo'), 165, 'can do parameterized backref from clone'; 38 39done_testing; 40