Sha256: 67e6a0d5c60e553e1e02025f32c6a1f0889678e99aaced6c99870e8dcfce6308
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
require "ae_test_helper" class TestCallFromOtherThread < AETest def test_01_call_from_other_thread_run_in_order_when_in_same_thread str = "" AE.run do AE.call_from_other_thread { str << "1" } AE.call_from_other_thread { str << "2" } AE.call_from_other_thread { str << "3" ; AE.call_from_other_thread { str << "6" } ; AE.call_from_other_thread { str << "7" } } AE.call_from_other_thread { AE.call_from_other_thread { str << "8" ; AE.call_from_other_thread { str << "B" } } } AE.call_from_other_thread { AE.call_from_other_thread { str << "9" ; AE.call_from_other_thread { str << "C" } ; AE.call_from_other_thread { str << "D" ; AE.stop } } } AE.call_from_other_thread { str << "4" } AE.call_from_other_thread { str << "5" ; AE.call_from_other_thread { str << "A" } } end assert_equal "123456789ABCD", str end def test_02_call_from_other_thread_and_timer str = "" AE.run do AE.call_from_other_thread { str << "1" } AE.add_timer(0.01) { AE.call_from_other_thread { str << "3" } } AE.add_timer(0.02) { AE.call_from_other_thread { str << "4" ; AE.call_from_other_thread { str << "6" ; AE.stop } } ; AE.call_from_other_thread { str << "5" } } AE.call_from_other_thread { str << "2" } end assert_equal "123456", str end def test_03_multiple_stop_in_cascade_from_different_thread @var = false AE.run do AE.add_timer(1) { @var = true } # Won't occur. Thread.new do AE.call_from_other_thread do AE.call_from_other_thread do AE.call_from_other_thread do AE.stop end end end end end assert_false @var end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
asyncengine-0.0.2.alpha1 | test/test_call_from_other_thread.rb |