Upgrade to Attribute::Handlers 0.87 (which is just a core sync) -- for real
[p5sagit/p5-mst-13.2.git] / ext / Thread-Queue / t / 04_errs.t
1 use strict;
2 use warnings;
3
4 BEGIN {
5     if ($ENV{'PERL_CORE'}){
6         chdir('t');
7         unshift(@INC, '../lib');
8     }
9 }
10
11 use Thread::Queue;
12
13 use Test::More 'tests' => 26;
14
15 my $q = Thread::Queue->new(1..10);
16 ok($q, 'New queue');
17
18 eval { $q->dequeue(undef); };
19 like($@, qr/Invalid 'count'/, $@);
20 eval { $q->dequeue(0); };
21 like($@, qr/Invalid 'count'/, $@);
22 eval { $q->dequeue(0.5); };
23 like($@, qr/Invalid 'count'/, $@);
24 eval { $q->dequeue(-1); };
25 like($@, qr/Invalid 'count'/, $@);
26 eval { $q->dequeue('foo'); };
27 like($@, qr/Invalid 'count'/, $@);
28
29 eval { $q->dequeue_nb(undef); };
30 like($@, qr/Invalid 'count'/, $@);
31 eval { $q->dequeue_nb(0); };
32 like($@, qr/Invalid 'count'/, $@);
33 eval { $q->dequeue_nb(-0.5); };
34 like($@, qr/Invalid 'count'/, $@);
35 eval { $q->dequeue_nb(-1); };
36 like($@, qr/Invalid 'count'/, $@);
37 eval { $q->dequeue_nb('foo'); };
38 like($@, qr/Invalid 'count'/, $@);
39
40 eval { $q->peek(undef); };
41 like($@, qr/Invalid 'index'/, $@);
42 eval { $q->peek(3.3); };
43 like($@, qr/Invalid 'index'/, $@);
44 eval { $q->peek('foo'); };
45 like($@, qr/Invalid 'index'/, $@);
46
47 eval { $q->insert(); };
48 like($@, qr/Invalid 'index'/, $@);
49 eval { $q->insert(undef); };
50 like($@, qr/Invalid 'index'/, $@);
51 eval { $q->insert(.22); };
52 like($@, qr/Invalid 'index'/, $@);
53 eval { $q->insert('foo'); };
54 like($@, qr/Invalid 'index'/, $@);
55
56 eval { $q->extract(undef); };
57 like($@, qr/Invalid 'index'/, $@);
58 eval { $q->extract('foo'); };
59 like($@, qr/Invalid 'index'/, $@);
60 eval { $q->extract(1.1); };
61 like($@, qr/Invalid 'index'/, $@);
62 eval { $q->extract(0, undef); };
63 like($@, qr/Invalid 'count'/, $@);
64 eval { $q->extract(0, 0); };
65 like($@, qr/Invalid 'count'/, $@);
66 eval { $q->extract(0, 3.3); };
67 like($@, qr/Invalid 'count'/, $@);
68 eval { $q->extract(0, -1); };
69 like($@, qr/Invalid 'count'/, $@);
70 eval { $q->extract(0, 'foo'); };
71 like($@, qr/Invalid 'count'/, $@);
72
73 exit(0);
74
75 # EOF