]> git.vpit.fr Git - perl/modules/IPC-MorseSignals.git/blobdiff - t/52-self-storable.t
Importing IPC-MorseSignals-0.10.tar.gz
[perl/modules/IPC-MorseSignals.git] / t / 52-self-storable.t
diff --git a/t/52-self-storable.t b/t/52-self-storable.t
new file mode 100644 (file)
index 0000000..6f3933c
--- /dev/null
@@ -0,0 +1,34 @@
+#!perl -T
+
+use strict;
+use warnings;
+
+use utf8;
+
+use Test::More tests => 10;
+
+use IPC::MorseSignals::Emitter;
+use IPC::MorseSignals::Receiver;
+
+my @msgs = (
+ \(undef, -273, 1.4159, 'yes', '¥€$'),
+ [ 5, 6, 7 ],
+ { hlagh => 1, HLAGH => 2 },
+ { lol => [ 'bleh', undef, 4684324 ] },
+);
+$msgs[7]->{wut} = { dong => [ 0 .. 9 ], recurse => $msgs[7] };
+my $i = 0;
+
+my $deuce = new IPC::MorseSignals::Emitter speed => 1024;
+my $pants = new IPC::MorseSignals::Receiver \%SIG, done => sub {
+ my $cur = shift @msgs;
+ is_deeply($_[1], $cur, 'got object ' . $i++);
+};
+
+$deuce->post($_) for @msgs;
+$deuce->send($$);
+
+ok(!$deuce->busy, 'emitter is no longer busy after all the messages have been sent');
+ok(!$pants->busy, 'receiver is no longer busy after all the messages have been got');
+
+ok(0, 'didn\'t got object ' . $i++) for @msgs;