]> git.vpit.fr Git - perl/modules/Bit-MorseSignals.git/blob - t/52-chitchat-storable.t
Importing Bit-MorseSignals-0.01.tar.gz
[perl/modules/Bit-MorseSignals.git] / t / 52-chitchat-storable.t
1 #!perl -T
2
3 use strict;
4 use warnings;
5
6 use utf8;
7
8 use Test::More tests => 10;
9
10 use Bit::MorseSignals qw/BM_DATA_STORABLE/;
11 use Bit::MorseSignals::Emitter;
12 use Bit::MorseSignals::Receiver;
13
14 my @msgs = (
15  \(undef, -273, 1.4159, 'yes', '¥€$'),
16  [ 5, 6, 7 ],
17  { hlagh => 1, HLAGH => 2 },
18  { lol => [ 'bleh', { pants => 0.9999999999, deuce => 1 }, undef, 4684324 ] },
19 );
20 $msgs[7]->{wut} = { dong => [ 0 .. 99 ], recurse => $msgs[7] };
21 my $i = 0;
22
23 my $deuce = new Bit::MorseSignals::Emitter;
24 my $pants = new Bit::MorseSignals::Receiver done => sub {
25  my $cur = shift @msgs;
26  is_deeply($_[1], $cur, 'got object ' . $i++);
27 };
28
29 $deuce->post($_) for @msgs;
30 $pants->push while defined ($_ = $deuce->pop); # ))<>((
31
32 ok(!$deuce->busy, 'emitter is no longer busy after all the messages have been sent');
33 ok(!$pants->busy, 'receiver is no longer busy after all the messages have been got');
34
35 ok(0, 'didn\'t got object ' . $i++) for @msgs;