mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-18 13:49:59 +01:00
More fiber tests.
This commit is contained in:
25
test/fiber/closure.wren
Normal file
25
test/fiber/closure.wren
Normal file
@ -0,0 +1,25 @@
|
||||
var fiber
|
||||
var closure
|
||||
|
||||
{
|
||||
var a = "before"
|
||||
fiber = Fiber.create(fn {
|
||||
IO.print(a)
|
||||
Fiber.yield
|
||||
a = "after"
|
||||
Fiber.yield
|
||||
IO.print(a)
|
||||
a = "final"
|
||||
})
|
||||
|
||||
closure = fn {
|
||||
IO.print(a)
|
||||
}
|
||||
}
|
||||
|
||||
fiber.run // expect: before
|
||||
closure.call // expect: before
|
||||
fiber.run
|
||||
closure.call // expect: after
|
||||
fiber.run // expect: after
|
||||
closure.call // expect: final
|
||||
1
test/fiber/create_wrong_arg_type.wren
Normal file
1
test/fiber/create_wrong_arg_type.wren
Normal file
@ -0,0 +1 @@
|
||||
var fiber = Fiber.create("not fn") // expect runtime error: Argument must be a function.
|
||||
@ -7,6 +7,3 @@ fiber.run // expect: fiber
|
||||
IO.print("after") // expect: after
|
||||
|
||||
// TODO: Test handles error if fiber tries to run itself.
|
||||
// TODO: Test create is passed right argument type.
|
||||
// TODO: Test closing over stuff in fiber function.
|
||||
// TODO: Test running a finished fiber.
|
||||
|
||||
Reference in New Issue
Block a user