diff options
author | dakkar <dakkar@thenautilus.net> | 2010-07-11 21:56:41 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2010-07-11 21:56:41 +0100 |
commit | 7713001472b5ae2ba7d89160c79c07ff6eb81d31 (patch) | |
tree | fca0ad8e2149bc7654128e150d701a5460c60756 | |
parent | test for TT::Worker (diff) | |
download | Thread-Task-7713001472b5ae2ba7d89160c79c07ff6eb81d31.tar.gz Thread-Task-7713001472b5ae2ba7d89160c79c07ff6eb81d31.tar.bz2 Thread-Task-7713001472b5ae2ba7d89160c79c07ff6eb81d31.zip |
test for TT::Thread->master
-rw-r--r-- | lib/Thread/Task/Thread.pm | 3 | ||||
-rw-r--r-- | t/master.t | 16 |
2 files changed, 17 insertions, 2 deletions
diff --git a/lib/Thread/Task/Thread.pm b/lib/Thread/Task/Thread.pm index e922549..2d7880d 100644 --- a/lib/Thread/Task/Thread.pm +++ b/lib/Thread/Task/Thread.pm @@ -20,8 +20,7 @@ class Thread::Task::Thread { my $SINGLETON; method master(ClassName $class:) { - $SINGLETON - or $class->new->spawn; + $SINGLETON ||= $class->new->spawn; } method import(ClassName $class: @rest) { diff --git a/t/master.t b/t/master.t new file mode 100644 index 0000000..1529993 --- /dev/null +++ b/t/master.t @@ -0,0 +1,16 @@ +#!perl +use strict; +use warnings; +use Test::Most tests => 4, 'die'; +use threads; +use Thread::Task::Thread ':master'; + +sleep 0.1; +is( scalar( threads->list ), 1, 'One thread exists' ); + +# Fetch the master, is it the existing one? +my $master1 = Thread::Task::Thread->master; +my $master2 = Thread::Task::Thread->master; +isa_ok( $master1, 'Thread::Task::Thread' ); +isa_ok( $master2, 'Thread::Task::Thread' ); +is( $master1->wid, $master2->wid, 'Masters match' ); |