Thread::Queue 2.03
[p5sagit/p5-mst-13.2.git] / lib / 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     use Config;
10     if (! $Config{'useithreads'}) {
11         print("1..0 # Skip: Perl not compiled with 'useithreads'\n");
12         exit(0);
13     }
14 }
15
16 use Thread::Queue;
17
18 use Test::More 'tests' => 26;
19
20 my $q = Thread::Queue->new(1..10);
21 ok($q, 'New queue');
22
23 eval { $q->dequeue(undef); };
24 like($@, qr/Invalid 'count'/, $@);
25 eval { $q->dequeue(0); };
26 like($@, qr/Invalid 'count'/, $@);
27 eval { $q->dequeue(0.5); };
28 like($@, qr/Invalid 'count'/, $@);
29 eval { $q->dequeue(-1); };
30 like($@, qr/Invalid 'count'/, $@);
31 eval { $q->dequeue('foo'); };
32 like($@, qr/Invalid 'count'/, $@);
33
34 eval { $q->dequeue_nb(undef); };
35 like($@, qr/Invalid 'count'/, $@);
36 eval { $q->dequeue_nb(0); };
37 like($@, qr/Invalid 'count'/, $@);
38 eval { $q->dequeue_nb(-0.5); };
39 like($@, qr/Invalid 'count'/, $@);
40 eval { $q->dequeue_nb(-1); };
41 like($@, qr/Invalid 'count'/, $@);
42 eval { $q->dequeue_nb('foo'); };
43 like($@, qr/Invalid 'count'/, $@);
44
45 eval { $q->peek(undef); };
46 like($@, qr/Invalid 'index'/, $@);
47 eval { $q->peek(3.3); };
48 like($@, qr/Invalid 'index'/, $@);
49 eval { $q->peek('foo'); };
50 like($@, qr/Invalid 'index'/, $@);
51
52 eval { $q->insert(); };
53 like($@, qr/Invalid 'index'/, $@);
54 eval { $q->insert(undef); };
55 like($@, qr/Invalid 'index'/, $@);
56 eval { $q->insert(.22); };
57 like($@, qr/Invalid 'index'/, $@);
58 eval { $q->insert('foo'); };
59 like($@, qr/Invalid 'index'/, $@);
60
61 eval { $q->extract(undef); };
62 like($@, qr/Invalid 'index'/, $@);
63 eval { $q->extract('foo'); };
64 like($@, qr/Invalid 'index'/, $@);
65 eval { $q->extract(1.1); };
66 like($@, qr/Invalid 'index'/, $@);
67 eval { $q->extract(0, undef); };
68 like($@, qr/Invalid 'count'/, $@);
69 eval { $q->extract(0, 0); };
70 like($@, qr/Invalid 'count'/, $@);
71 eval { $q->extract(0, 3.3); };
72 like($@, qr/Invalid 'count'/, $@);
73 eval { $q->extract(0, -1); };
74 like($@, qr/Invalid 'count'/, $@);
75 eval { $q->extract(0, 'foo'); };
76 like($@, qr/Invalid 'count'/, $@);
77
78 # EOF