Revision: 4325 http://trac.macosforge.org/projects/ruby/changeset/4325 Author: ernest.prabhakar@gmail.com Date: 2010-07-07 16:06:47 -0700 (Wed, 07 Jul 2010) Log Message: ----------- Added Dispatch::Queue#join to sync {} Modified Paths: -------------- MacRuby/trunk/lib/dispatch/queue.rb MacRuby/trunk/spec/macruby/library/dispatch/queue_spec.rb Modified: MacRuby/trunk/lib/dispatch/queue.rb =================================================================== --- MacRuby/trunk/lib/dispatch/queue.rb 2010-07-07 20:04:02 UTC (rev 4324) +++ MacRuby/trunk/lib/dispatch/queue.rb 2010-07-07 23:06:47 UTC (rev 4325) @@ -26,5 +26,8 @@ new(labelize(obj)) end + def join + sync {} + end end end Modified: MacRuby/trunk/spec/macruby/library/dispatch/queue_spec.rb =================================================================== --- MacRuby/trunk/spec/macruby/library/dispatch/queue_spec.rb 2010-07-07 20:04:02 UTC (rev 4324) +++ MacRuby/trunk/spec/macruby/library/dispatch/queue_spec.rb 2010-07-07 23:06:47 UTC (rev 4325) @@ -6,6 +6,7 @@ describe "Dispatch::Queue" do before :each do @my_object = "Hello, World!" + @q = Dispatch::Queue.for(@my_object) end describe :labelize do @@ -18,21 +19,28 @@ describe :for do it "should return a dispatch queue" do - q = Dispatch::Queue.for(@my_object) - q.should be_kind_of Dispatch::Queue + @q.should be_kind_of Dispatch::Queue end it "should return a unique queue for each object" do - q1 = Dispatch::Queue.for(@my_object) - q2 = Dispatch::Queue.for(@my_object) - q1.should_not == q2 + q = Dispatch::Queue.for(@my_object) + @q.should_not == q end it "should return a unique label for each queue" do - q1 = Dispatch::Queue.for(@my_object) - q2 = Dispatch::Queue.for(@my_object) - q1.to_s.should_not == q2.to_s + q = Dispatch::Queue.for(@my_object) + @q.to_s.should_not == q.to_s end end + + describe :join do + it "should wait until pending blocks execute " do + @n = 0 + @q.async {@n = 42} + @n.should == 0 + @q.join + @n.should == 42 + end + end end end
participants (1)
-
source_changes@macosforge.org