From c47aed85e013f0bd732a291f9ea455b206ce50f6 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 9 Jun 2008 12:15:53 +0000 Subject: * test_knownbug.rb -> KNOWNBUGS.rb: renamed. * common.mk: apply above change. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- KNOWNBUGS.rb | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 KNOWNBUGS.rb (limited to 'KNOWNBUGS.rb') diff --git a/KNOWNBUGS.rb b/KNOWNBUGS.rb new file mode 100644 index 000000000..f90746765 --- /dev/null +++ b/KNOWNBUGS.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]' -- cgit