summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_fiber.rb30
1 files changed, 6 insertions, 24 deletions
diff --git a/test/ruby/test_fiber.rb b/test/ruby/test_fiber.rb
index 6c67a5815d..d6212cc7ea 100644
--- a/test/ruby/test_fiber.rb
+++ b/test/ruby/test_fiber.rb
@@ -70,6 +70,12 @@ class TestFiber < Test::Unit::TestCase
f.yield
f.yield
}
+ assert_raise(RuntimeError){
+ f = Fiber.new{
+ @c = callcc{|c| @c = c}
+ }.yield
+ @c.call # cross fiber callcc
+ }
end
def test_loop
@@ -102,29 +108,5 @@ class TestFiber < Test::Unit::TestCase
end.yield
}
end
-
- def test_with_callcc
- c = nil
- f1 = f2 = nil
- f1 = Fiber.new do
- callcc do |c2|
- c = c2
- f2.yield
- end
- :ok
- end
- f2 = Fiber.new do
- c.call
- end
- assert_equal(:ok, f1.yield)
-
- assert_equal(:ok,
- callcc {|c|
- Fiber.new {
- c.call :ok
- }.yield
- }
- )
- end
end