diff --git a/ChangeLog b/ChangeLog index 81c42816d9..2ee61f99f3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu Mar 7 10:42:28 2013 KOSAKI Motohiro + + * lib/thread.rb (Queue#push): return self. + * lib/thread.rb (Queue#clear): ditto. + * lib/thread.rb (SizedQueue#push): ditto. + * test/thread/test_queue.rb: add tests for the above. + Thu Mar 7 10:40:49 2013 KOSAKI Motohiro * tool/change_maker.rb (#diff2index): check Encoding::BINARY. diff --git a/lib/thread.rb b/lib/thread.rb index 1c8107085b..0bc95a2594 100644 --- a/lib/thread.rb +++ b/lib/thread.rb @@ -165,6 +165,7 @@ class Queue @que.push obj @cond.signal end + self end end @@ -228,6 +229,7 @@ class Queue # def clear @que.clear + self end # @@ -315,6 +317,7 @@ class SizedQueue < Queue @que.push obj @cond.signal end + self end end diff --git a/test/thread/test_queue.rb b/test/thread/test_queue.rb index 993514f86d..24465e03a1 100644 --- a/test/thread/test_queue.rb +++ b/test/thread/test_queue.rb @@ -108,4 +108,29 @@ class TestQueue < Test::Unit::TestCase end } end + + def test_queue_push_return_value + q = Queue.new + retval = q.push(1) + assert_same q, retval + end + + def test_queue_clear_return_value + q = Queue.new + retval = q.clear + assert_same q, retval + end + + def test_sized_queue_push_return_value + q = SizedQueue.new(1) + retval = q.push(1) + assert_same q, retval + end + + def test_sized_queue_clear_return_value + q = SizedQueue.new(1) + retval = q.clear + assert_same q, retval + end + end