From de4ec689910c07a48b81083adc3130b6b6023be3 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 6 Dec 2007 02:04:19 +0000 Subject: [PATCH] * bootstraptest/test_knownbug.rb: new test for block and define_method. * bootstraptest/test_syntax.rb: moved [ruby-dev:32429] from test_knownbug.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bootstraptest/test_knownbug.rb | 23 +++++++++++++++-------- bootstraptest/test_syntax.rb | 4 ++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/bootstraptest/test_knownbug.rb b/bootstraptest/test_knownbug.rb index 9883ceb25b..38f42adac7 100644 --- a/bootstraptest/test_knownbug.rb +++ b/bootstraptest/test_knownbug.rb @@ -10,20 +10,27 @@ assert_equal '0', %q{ $?.to_i }, '[ruby-dev:32404]' -assert_match /unterminated string meets end of file/, %q{ - STDERR.reopen(STDOUT) - eval("\"\xfd".force_encoding("utf-8")) -}, '[ruby-dev:32429]' - assert_normal_exit %q{ "abcd\xf0".force_encoding("utf-8").reverse.inspect }, '[ruby-dev:32448]' -assert_equal 'hi', %q{ +assert_equal 'ok', %q{ class C - define_method(:foo) { |arg, &block| + define_method(:foo) do |arg, &block| if block then block.call else arg end - } + end end C.new.foo("ng") {"ok"} }, '[ruby-talk:266422]' + +assert_equal 'ok', %q{ + STDERR.reopen(STDOUT) + class C + define_method(:foo) do |&block| + block.call if block + end + result = "ng" + new.foo() {result = "ok"} + result + end +} diff --git a/bootstraptest/test_syntax.rb b/bootstraptest/test_syntax.rb index b25d0d43c9..8b499c50d5 100644 --- a/bootstraptest/test_syntax.rb +++ b/bootstraptest/test_syntax.rb @@ -624,3 +624,7 @@ assert_equal '2', %q{ end } +assert_match /illegal multibyte char/, %q{ + STDERR.reopen(STDOUT) + eval("\"\xfd".force_encoding("utf-8")) +}, '[ruby-dev:32429]'