From a46d29bb4e232064b68f54e46be8a44216570563 Mon Sep 17 00:00:00 2001 From: nagachika Date: Sat, 3 Sep 2011 09:46:51 +0000 Subject: * lib/thread.rb (SizedQueue#max=) raise ArgumentError if max is not positive number. patch by Masaki Matsushita. [ruby-dev:44449] [Bug #5259] * test/thread/test_queue.rb (test_sized_queue_initialize, test_sized_queue_assign_max): add tests for it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/thread/test_queue.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'test') diff --git a/test/thread/test_queue.rb b/test/thread/test_queue.rb index b0ffe0866d..685b41a54f 100644 --- a/test/thread/test_queue.rb +++ b/test/thread/test_queue.rb @@ -35,4 +35,22 @@ class TestQueue < Test::Unit::TestCase assert_equal 0, from_workers.size assert_equal 0, to_workers.size end + + def test_sized_queue_initialize + q = SizedQueue.new(1) + assert_equal 1, q.max + assert_raise(ArgumentError) { SizedQueue.new(0) } + assert_raise(ArgumentError) { SizedQueue.new(-1) } + end + + def test_sized_queue_assign_max + q = SizedQueue.new(2) + assert_equal(2, q.max) + q.max = 1 + assert_equal(1, q.max) + assert_raise(ArgumentError) { q.max = 0 } + assert_equal(1, q.max) + assert_raise(ArgumentError) { q.max = -1 } + assert_equal(1, q.max) + end end -- cgit v1.2.3