From d4d4f1b0d57bed96bb3341c2304e39afefa352c5 Mon Sep 17 00:00:00 2001 From: take_cheeze Date: Fri, 21 Mar 2014 06:16:40 +0900 Subject: implement Fiber#transfer --- mrbgems/mruby-fiber/test/fiber.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'mrbgems/mruby-fiber/test') diff --git a/mrbgems/mruby-fiber/test/fiber.rb b/mrbgems/mruby-fiber/test/fiber.rb index e10878bf4..c6f9d821f 100644 --- a/mrbgems/mruby-fiber/test/fiber.rb +++ b/mrbgems/mruby-fiber/test/fiber.rb @@ -8,6 +8,25 @@ assert('Fiber#resume') { f.resume(2) } +assert('Fiber#transfer') do + f1 = Fiber.new do |v| + assert_raise(FiberError) { Fiber.current.transfer } + Fiber.yield v + end + f2 = Fiber.new do + f1.transfer(1) + Fiber.yield 2 + end + assert_equal 1, f2.resume + assert_equal 2, f2.resume + f1.resume + f2.resume + assert_false f1.alive? + assert_false f2.alive? + + assert_raise(FiberError) { Fiber.current.transfer } +end + assert('Fiber#alive?') { f = Fiber.new{ Fiber.yield } f.resume -- cgit v1.2.3