summaryrefslogtreecommitdiff
path: root/trunk/test/ruby/test_continuation.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/test/ruby/test_continuation.rb')
-rw-r--r--trunk/test/ruby/test_continuation.rb81
1 files changed, 0 insertions, 81 deletions
diff --git a/trunk/test/ruby/test_continuation.rb b/trunk/test/ruby/test_continuation.rb
deleted file mode 100644
index c719db8c35..0000000000
--- a/trunk/test/ruby/test_continuation.rb
+++ /dev/null
@@ -1,81 +0,0 @@
-require 'test/unit'
-require 'continuation'
-require 'fiber'
-require_relative 'envutil'
-
-class TestContinuation < Test::Unit::TestCase
- def test_create
- assert_equal(:ok, callcc{:ok})
- assert_equal(:ok, callcc{|c| c.call :ok})
- end
-
- def test_call
- assert_equal(:ok, callcc{|c| c.call :ok})
-
- ary = []
- ary << callcc{|c|
- @cont = c
- :a
- }
- @cont.call :b if ary.length < 3
- assert_equal([:a, :b, :b], ary)
- end
-
- def test_check_localvars
- vv = 0
- @v = 0
- @ary = []
- [1, 2, 3].each{|i|
- callcc {|k| @k = k}
- @v += 1
- vv += 1
- }
- @ary << [vv, @v]
- @k.call if @v < 10
- assert_equal((3..10).map{|e| [e, e]}, @ary)
- end
-
- def test_error
- cont = callcc{|c| c}
- assert_raise(RuntimeError){
- Thread.new{cont.call}.join
- }
- assert_raise(LocalJumpError){
- callcc
- }
- assert_raise(RuntimeError){
- c = nil
- Fiber.new do
- callcc {|c2| c = c2 }
- end.resume
- c.call
- }
- end
-
- def test_ary_flatten
- assert_normal_exit %q{
- require 'continuation'
- n = 0
- o = Object.new
- def o.to_ary() callcc {|k| $k = k; [1,2,3]} end
- [10,20,o,30,o,40].flatten.inspect
- n += 1
- $k.call if n < 100
- }, '[ruby-dev:34798]'
- end
-
- def test_marshal_dump
- assert_normal_exit %q{
- require 'continuation'
- n = 0
- o = Object.new
- def o.marshal_dump() callcc {|k| $k = k }; "fofof" end
- a = [1,2,3,o,4,5,6]
- Marshal.dump(a).inspect
- n += 1
- $k.call if n < 100
- }, '[ruby-dev:34802]'
- end
-
-end
-