diff options
| author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-09 12:10:43 +0000 |
|---|---|---|
| committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-09 12:10:43 +0000 |
| commit | df67e28de7ad4353be269a2a07f5650d0ecd5bef (patch) | |
| tree | 2fb08b92d09702e1bc7bb4f55beb7cfdfbdaafd2 /test_knownbug.rb | |
| parent | f09368230374aa70ed2a2ee8f8b5b8d5b822c0f8 (diff) | |
| download | ruby-df67e28de7ad4353be269a2a07f5650d0ecd5bef.tar.gz ruby-df67e28de7ad4353be269a2a07f5650d0ecd5bef.tar.xz ruby-df67e28de7ad4353be269a2a07f5650d0ecd5bef.zip | |
* bootstraptest/test_knownbug.rb -> ./test_knownbug.rb: moved.
* common.mk: add a rule "test-knownbug".
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test_knownbug.rb')
| -rw-r--r-- | test_knownbug.rb | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/test_knownbug.rb b/test_knownbug.rb new file mode 100644 index 000000000..f90746765 --- /dev/null +++ b/test_knownbug.rb @@ -0,0 +1,107 @@ +# +# This test file concludes tests which point out known bugs. +# So all tests will cause failure. +# + +assert_equal 'ok', %q{ + class C + define_method(:foo) { + if block_given? + :ng + else + :ok + end + } + end + C.new.foo {} +}, '[ruby-core:14813]' + +assert_equal 'ok', %q{ + class C + define_method(:foo) { + if block_given? + :ng + else + :ok + end + } + end + C.new.foo +}, '[ruby-core:14813]' + +assert_equal 'ok', %q{ + a = lambda {|x, y, &b| b } + b = a.curry[1] + if b.call(2){} == nil + :ng + else + :ok + end +}, '[ruby-core:15551]' + +assert_normal_exit %q{ + g = Module.enum_for(:new) + loop { g.next } +}, '[ruby-dev:34128]' + +assert_normal_exit %q{ + Fiber.new(&Object.method(:class_eval)).resume("foo") +}, '[ruby-dev:34128]' + +assert_normal_exit %q{ + Thread.new("foo", &Object.method(:class_eval)).join +}, '[ruby-dev:34128]' + +assert_normal_exit %q{ + g = enum_for(:local_variables) + loop { g.next } +}, '[ruby-dev:34128]' + +assert_normal_exit %q{ + g = enum_for(:block_given?) + loop { g.next } +}, '[ruby-dev:34128]' + +assert_normal_exit %q{ + g = enum_for(:binding) + loop { g.next } +}, '[ruby-dev:34128]' + +assert_normal_exit %q{ + g = "abc".enum_for(:scan, /./) + loop { g.next } +}, '[ruby-dev:34128]' + +assert_equal %q{[:bar, :foo]}, %q{ + def foo + klass = Class.new do + define_method(:bar) do + return :bar + end + end + [klass.new.bar, :foo] + end + foo +}, "[ ruby-Bugs-19304 ]" + +assert_equal 'ok', %q{ + lambda { + break :ok + :ng + }.call +}, '[ruby-dev:34646]' + +assert_normal_exit %q{ + eval("", method(:proc).call {}.binding) +} + +assert_normal_exit %q{ + a = [] + 100.times {|i| a << i << nil << nil } + p a.compact! +} + +assert_equal 'ok', %q{ + a = [false] + (a[0] &&= true) == false ? :ok : :ng +}, '[ruby-dev:34679]' |
