1use strict; 2use warnings; 3 4use Thread::Queue; 5 6use Test::More 'tests' => 26; 7 8my $q = Thread::Queue->new(1..10); 9ok($q, 'New queue'); 10 11eval { $q->dequeue(undef); }; 12like($@, qr/Invalid 'count'/, $@); 13eval { $q->dequeue(0); }; 14like($@, qr/Invalid 'count'/, $@); 15eval { $q->dequeue(0.5); }; 16like($@, qr/Invalid 'count'/, $@); 17eval { $q->dequeue(-1); }; 18like($@, qr/Invalid 'count'/, $@); 19eval { $q->dequeue('foo'); }; 20like($@, qr/Invalid 'count'/, $@); 21 22eval { $q->dequeue_nb(undef); }; 23like($@, qr/Invalid 'count'/, $@); 24eval { $q->dequeue_nb(0); }; 25like($@, qr/Invalid 'count'/, $@); 26eval { $q->dequeue_nb(-0.5); }; 27like($@, qr/Invalid 'count'/, $@); 28eval { $q->dequeue_nb(-1); }; 29like($@, qr/Invalid 'count'/, $@); 30eval { $q->dequeue_nb('foo'); }; 31like($@, qr/Invalid 'count'/, $@); 32 33eval { $q->peek(undef); }; 34like($@, qr/Invalid 'index'/, $@); 35eval { $q->peek(3.3); }; 36like($@, qr/Invalid 'index'/, $@); 37eval { $q->peek('foo'); }; 38like($@, qr/Invalid 'index'/, $@); 39 40eval { $q->insert(); }; 41like($@, qr/Invalid 'index'/, $@); 42eval { $q->insert(undef); }; 43like($@, qr/Invalid 'index'/, $@); 44eval { $q->insert(.22); }; 45like($@, qr/Invalid 'index'/, $@); 46eval { $q->insert('foo'); }; 47like($@, qr/Invalid 'index'/, $@); 48 49eval { $q->extract(undef); }; 50like($@, qr/Invalid 'index'/, $@); 51eval { $q->extract('foo'); }; 52like($@, qr/Invalid 'index'/, $@); 53eval { $q->extract(1.1); }; 54like($@, qr/Invalid 'index'/, $@); 55eval { $q->extract(0, undef); }; 56like($@, qr/Invalid 'count'/, $@); 57eval { $q->extract(0, 0); }; 58like($@, qr/Invalid 'count'/, $@); 59eval { $q->extract(0, 3.3); }; 60like($@, qr/Invalid 'count'/, $@); 61eval { $q->extract(0, -1); }; 62like($@, qr/Invalid 'count'/, $@); 63eval { $q->extract(0, 'foo'); }; 64like($@, qr/Invalid 'count'/, $@); 65 66exit(0); 67 68# EOF 69