summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2010-07-11 21:56:41 +0100
committerdakkar <dakkar@thenautilus.net>2010-07-11 21:56:41 +0100
commit7713001472b5ae2ba7d89160c79c07ff6eb81d31 (patch)
treefca0ad8e2149bc7654128e150d701a5460c60756
parenttest for TT::Worker (diff)
downloadThread-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.pm3
-rw-r--r--t/master.t16
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' );