This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert "Update Unicode-Collate to CPAN version 0.70 and enable XS version"
[perl5.git] / dist / Thread-Queue / t / 04_errs.t
1 use strict;
2 use warnings;
3
4 use Thread::Queue;
5
6 use Test::More 'tests' => 26;
7
8 my $q = Thread::Queue->new(1..10);
9 ok($q, 'New queue');
10
11 eval { $q->dequeue(undef); };
12 like($@, qr/Invalid 'count'/, $@);
13 eval { $q->dequeue(0); };
14 like($@, qr/Invalid 'count'/, $@);
15 eval { $q->dequeue(0.5); };
16 like($@, qr/Invalid 'count'/, $@);
17 eval { $q->dequeue(-1); };
18 like($@, qr/Invalid 'count'/, $@);
19 eval { $q->dequeue('foo'); };
20 like($@, qr/Invalid 'count'/, $@);
21
22 eval { $q->dequeue_nb(undef); };
23 like($@, qr/Invalid 'count'/, $@);
24 eval { $q->dequeue_nb(0); };
25 like($@, qr/Invalid 'count'/, $@);
26 eval { $q->dequeue_nb(-0.5); };
27 like($@, qr/Invalid 'count'/, $@);
28 eval { $q->dequeue_nb(-1); };
29 like($@, qr/Invalid 'count'/, $@);
30 eval { $q->dequeue_nb('foo'); };
31 like($@, qr/Invalid 'count'/, $@);
32
33 eval { $q->peek(undef); };
34 like($@, qr/Invalid 'index'/, $@);
35 eval { $q->peek(3.3); };
36 like($@, qr/Invalid 'index'/, $@);
37 eval { $q->peek('foo'); };
38 like($@, qr/Invalid 'index'/, $@);
39
40 eval { $q->insert(); };
41 like($@, qr/Invalid 'index'/, $@);
42 eval { $q->insert(undef); };
43 like($@, qr/Invalid 'index'/, $@);
44 eval { $q->insert(.22); };
45 like($@, qr/Invalid 'index'/, $@);
46 eval { $q->insert('foo'); };
47 like($@, qr/Invalid 'index'/, $@);
48
49 eval { $q->extract(undef); };
50 like($@, qr/Invalid 'index'/, $@);
51 eval { $q->extract('foo'); };
52 like($@, qr/Invalid 'index'/, $@);
53 eval { $q->extract(1.1); };
54 like($@, qr/Invalid 'index'/, $@);
55 eval { $q->extract(0, undef); };
56 like($@, qr/Invalid 'count'/, $@);
57 eval { $q->extract(0, 0); };
58 like($@, qr/Invalid 'count'/, $@);
59 eval { $q->extract(0, 3.3); };
60 like($@, qr/Invalid 'count'/, $@);
61 eval { $q->extract(0, -1); };
62 like($@, qr/Invalid 'count'/, $@);
63 eval { $q->extract(0, 'foo'); };
64 like($@, qr/Invalid 'count'/, $@);
65
66 exit(0);
67
68 # EOF