diff options
| -rw-r--r-- | mrbgems/mruby-fiber/test/fiber.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/mrbgems/mruby-fiber/test/fiber.rb b/mrbgems/mruby-fiber/test/fiber.rb index fc3e02e88..90bbaa2af 100644 --- a/mrbgems/mruby-fiber/test/fiber.rb +++ b/mrbgems/mruby-fiber/test/fiber.rb @@ -40,3 +40,27 @@ assert('Fiber iteration') { assert('Fiber with splat in the block argument list') { Fiber.new{|*x|x}.resume(1) == [1] } + +assert('Fiber raises on resume when dead') { + e2 = nil + r1 = true + begin + f = Fiber.new{} + f.resume + r1 = f.alive? + f.resume + rescue => e1 + e2 = e1 + end + r1 == false and e2.class == RuntimeError +} + +assert('Yield raises when called on root fiber') { + e2 = nil + begin + Fiber.yield + rescue => e1 + e2 = e1 + end + e2.class == ArgumentError +} |
