Update threads usage in Sub::Quote/Defer tests
[gitmo/Moo.git] / t / sub-defer-threads.t
CommitLineData
cc7c20a0 1use Config;
2BEGIN {
a6d0da2f 3 unless ($Config{useithreads}) {
4 print "1..0 # SKIP your perl does not support ithreads\n";
5 exit 0;
cc7c20a0 6 }
7}
a6d0da2f 8use threads;
9use strictures 1;
10use Test::More;
cc7c20a0 11
12use Sub::Defer;
13
14my %made;
15
16my $one_defer = defer_sub 'Foo::one' => sub {
17 die "remade - wtf" if $made{'Foo::one'};
18 $made{'Foo::one'} = sub { 'one' }
19};
20
a6d0da2f 21is(threads->create(sub {
cc7c20a0 22 my $info = Sub::Defer::defer_info($one_defer);
a6d0da2f 23 $info && $info->[0];
24})->join, 'Foo::one', 'able to retrieve info in thread');
cc7c20a0 25
a6d0da2f 26is(threads->create(sub {
cc7c20a0 27 undefer_sub($one_defer);
a6d0da2f 28 $made{'Foo::one'} && $made{'Foo::one'} == \&Foo::one && 1234;
29})->join, 1234, 'able to undefer in thread');
cc7c20a0 30
31done_testing;