summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-fiber/test
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2014-03-15 14:49:46 +0900
committertake_cheeze <[email protected]>2014-03-15 15:18:06 +0900
commit62f05614eef43c43572c49e771b130d029abbc46 (patch)
tree9e4f4340da1d581d5a86f97dc785f394fcd06831 /mrbgems/mruby-fiber/test
parentfc75cff14e7d43defb0c99f5bc9d657c0121c4b0 (diff)
downloadmruby-62f05614eef43c43572c49e771b130d029abbc46.tar.gz
mruby-62f05614eef43c43572c49e771b130d029abbc46.zip
Add Fiber's double resume test and fix it.
Diffstat (limited to 'mrbgems/mruby-fiber/test')
-rw-r--r--mrbgems/mruby-fiber/test/fiber.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/mrbgems/mruby-fiber/test/fiber.rb b/mrbgems/mruby-fiber/test/fiber.rb
index 8caf7259b..216ad5572 100644
--- a/mrbgems/mruby-fiber/test/fiber.rb
+++ b/mrbgems/mruby-fiber/test/fiber.rb
@@ -62,3 +62,16 @@ assert('Yield raises when called on root fiber') {
true
end
}
+
+assert('Double resume of Fiber') do
+ f1 = Fiber.new {}
+ f2 = Fiber.new {
+ f1.resume
+ assert_raise(RuntimeError) { f2.resume }
+ Fiber.yield 0
+ }
+ assert_equal 0, f2.resume
+ f2.resume
+ assert_false f1.alive?
+ assert_false f2.alive?
+end