aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/test_continuation.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_continuation.rb')
-rw-r--r--test/ruby/test_continuation.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/ruby/test_continuation.rb b/test/ruby/test_continuation.rb
index 0313d71249..2725996504 100644
--- a/test/ruby/test_continuation.rb
+++ b/test/ruby/test_continuation.rb
@@ -1,6 +1,7 @@
require 'test/unit'
require 'continuation'
require 'fiber'
+require_relative 'envutil'
class TestContinuation < Test::Unit::TestCase
def test_create
@@ -50,5 +51,19 @@ class TestContinuation < Test::Unit::TestCase
c.call
}
end
+
+ def test_sort
+ assert_normal_exit(<<-'End')
+ require 'continuation'
+ n = 1000
+ ary = (1..100).to_a
+ ary.sort! {|a,b|
+ callcc {|k| $k = k } if !defined? $k
+ a <=> b
+ }
+ n -= 1
+ $k.call if 0 < n
+ End
+ end
end