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