]> git.vpit.fr Git - perl/modules/Bit-MorseSignals.git/blob - t/33-receiver-misformed.t
Importing Bit-MorseSignals-0.06.tar.gz
[perl/modules/Bit-MorseSignals.git] / t / 33-receiver-misformed.t
1 #!perl -T
2
3 use strict;
4 use warnings;
5
6 use utf8;
7
8 use Test::More tests => 5;
9
10 use Bit::MorseSignals::Receiver;
11
12 my $hlagh;
13
14 my $pants = new Bit::MorseSignals::Receiver done => sub { $hlagh = $_[1] };
15
16 my $wrong = "\x{FF}\x{FF}";
17
18 my @bits = split //, '001' . '010' . (unpack 'b*', $wrong) . '100';
19 eval {
20  local $SIG{__WARN__} = sub { die "WARNED @_" };
21  $pants->push for @bits;
22 };
23 ok($@, 'invalid Storable data warns');
24
25 $pants->reset;
26 @bits = split //, '0001' . '001' . (unpack 'b*', $wrong) . '1000';
27 eval {
28  local $SIG{__WARN__} = sub { die "WARNED @_" };
29  $pants->push for @bits;
30 };
31 ok(!$@,            "third bit lit doesn't warn ($@)");
32 is($hlagh, $wrong, 'third bit lit defaults to plain');
33
34 @bits = split //, '0001' . '110' . (unpack 'b*', $wrong) . '1000';
35 eval {
36  local $SIG{__WARN__} = sub { die "WARNED @_" };
37  $pants->push for @bits;
38 };
39 ok(!$@,            "unused type doesn't warn ($@)");
40 is($hlagh, $wrong, 'unused type returns raw data');