зеркало из https://github.com/github/ruby.git
test/ruby: tweaked heredocs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
480c84e1af
Коммит
3895e30074
|
@ -122,7 +122,8 @@ class TestAlias < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_alias_wb_miss
|
||||
assert_normal_exit %q{
|
||||
assert_normal_exit "#{<<-"begin;"}\n#{<<-'end;'}"
|
||||
begin;
|
||||
require 'stringio'
|
||||
GC.verify_internal_consistency
|
||||
GC.start
|
||||
|
@ -130,7 +131,7 @@ class TestAlias < Test::Unit::TestCase
|
|||
alias_method :read_nonblock, :sysread
|
||||
end
|
||||
GC.verify_internal_consistency
|
||||
}
|
||||
end;
|
||||
end
|
||||
|
||||
def test_cyclic_zsuper
|
||||
|
@ -183,7 +184,8 @@ class TestAlias < Test::Unit::TestCase
|
|||
def test_alias_in_module
|
||||
bug9663 = '[ruby-core:61635] [Bug #9663]'
|
||||
|
||||
assert_separately(['-', bug9663], <<-'end;')
|
||||
assert_separately(['-', bug9663], "#{<<-"begin;"}\n#{<<-'end;'}")
|
||||
begin;
|
||||
bug = ARGV[0]
|
||||
|
||||
m = Module.new do
|
||||
|
|
|
@ -934,7 +934,8 @@ class TestArgf < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_wrong_type
|
||||
assert_separately([], <<-'end;')
|
||||
assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
begin;
|
||||
bug11610 = '[ruby-core:71140] [Bug #11610]'
|
||||
ARGV[0] = nil
|
||||
assert_raise(TypeError, bug11610) {gets}
|
||||
|
|
|
@ -1899,8 +1899,10 @@ class TestArray < Test::Unit::TestCase
|
|||
|
||||
def test_permutation_stack_error
|
||||
bug9932 = '[ruby-core:63103] [Bug #9932]'
|
||||
assert_separately([], <<-"end;", timeout: 30) # do
|
||||
assert_nothing_raised(SystemStackError, "#{bug9932}") do
|
||||
assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}", timeout: 30)
|
||||
bug = "#{bug9932}"
|
||||
begin;
|
||||
assert_nothing_raised(SystemStackError, bug) do
|
||||
assert_equal(:ok, Array.new(100_000, nil).permutation {break :ok})
|
||||
end
|
||||
end;
|
||||
|
@ -1932,7 +1934,8 @@ class TestArray < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_repeated_permutation_stack_error
|
||||
assert_separately([], <<-"end;", timeout: 30) # do
|
||||
assert_separately([], "#{<<-"begin;"}\n#{<<~'end;'}", timeout: 30)
|
||||
begin;
|
||||
assert_nothing_raised(SystemStackError) do
|
||||
assert_equal(:ok, Array.new(100_000, nil).repeated_permutation(500_000) {break :ok})
|
||||
end
|
||||
|
@ -1969,7 +1972,8 @@ class TestArray < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_repeated_combination_stack_error
|
||||
assert_separately([], <<-"end;", timeout: 20) # do
|
||||
assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}", timeout: 20)
|
||||
begin;
|
||||
assert_nothing_raised(SystemStackError) do
|
||||
assert_equal(:ok, Array.new(100_000, nil).repeated_combination(500_000) {break :ok})
|
||||
end
|
||||
|
@ -2752,21 +2756,24 @@ class TestArray < Test::Unit::TestCase
|
|||
Bug11235 = '[ruby-dev:49043] [Bug #11235]'
|
||||
|
||||
def test_push_over_ary_max
|
||||
assert_separately(['-', ARY_MAX.to_s, Bug11235], <<-"end;", timeout: 30)
|
||||
assert_separately(['-', ARY_MAX.to_s, Bug11235], "#{<<~"begin;"}\n#{<<~'end;'}", timeout: 30)
|
||||
begin;
|
||||
a = Array.new(ARGV[0].to_i)
|
||||
assert_raise(IndexError, ARGV[1]) {0x1000.times {a.push(1)}}
|
||||
end;
|
||||
end
|
||||
|
||||
def test_unshift_over_ary_max
|
||||
assert_separately(['-', ARY_MAX.to_s, Bug11235], <<-"end;")
|
||||
assert_separately(['-', ARY_MAX.to_s, Bug11235], "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
begin;
|
||||
a = Array.new(ARGV[0].to_i)
|
||||
assert_raise(IndexError, ARGV[1]) {0x1000.times {a.unshift(1)}}
|
||||
end;
|
||||
end
|
||||
|
||||
def test_splice_over_ary_max
|
||||
assert_separately(['-', ARY_MAX.to_s, Bug11235], <<-"end;")
|
||||
assert_separately(['-', ARY_MAX.to_s, Bug11235], "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
begin;
|
||||
a = Array.new(ARGV[0].to_i)
|
||||
assert_raise(IndexError, ARGV[1]) {a[0, 0] = Array.new(0x1000)}
|
||||
end;
|
||||
|
|
|
@ -31,7 +31,8 @@ class TestBeginEndBlock < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_endblockwarn
|
||||
assert_in_out_err([], <<-'end;', [], ['-:2: warning: END in method; use at_exit'])
|
||||
assert_in_out_err([], "#{<<~"begin;"}#{<<~'end;'}", [], ['-:2: warning: END in method; use at_exit'])
|
||||
begin;
|
||||
def end1
|
||||
END {}
|
||||
end
|
||||
|
@ -39,7 +40,8 @@ class TestBeginEndBlock < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_endblockwarn_in_eval
|
||||
assert_in_out_err([], <<-'end;', [], ['(eval):2: warning: END in method; use at_exit'])
|
||||
assert_in_out_err([], "#{<<~"begin;"}\n#{<<~'end;'}", [], ['(eval):2: warning: END in method; use at_exit'])
|
||||
begin;
|
||||
eval <<-EOE
|
||||
def end2
|
||||
END {}
|
||||
|
@ -72,7 +74,8 @@ class TestBeginEndBlock < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_propagate_signaled
|
||||
status = assert_in_out_err([], <<-'end;', [], /Interrupt$/)
|
||||
status = assert_in_out_err([], "#{<<~"begin;"}\n#{<<~'end;'}", [], /Interrupt$/)
|
||||
begin;
|
||||
trap(:INT, "DEFAULT")
|
||||
at_exit{Process.kill(:INT, $$)}
|
||||
end;
|
||||
|
@ -82,7 +85,8 @@ class TestBeginEndBlock < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_endblock_raise
|
||||
assert_in_out_err([], <<-'end;', %w(e6 e4 e2), [:*, /e5/, :*, /e3/, :*, /e1/, :*])
|
||||
assert_in_out_err([], "#{<<~"begin;"}\n#{<<~'end;'}", %w(e6 e4 e2), [:*, /e5/, :*, /e3/, :*, /e1/, :*])
|
||||
begin;
|
||||
END {raise "e1"}; END {puts "e2"}
|
||||
END {raise "e3"}; END {puts "e4"}
|
||||
END {raise "e5"}; END {puts "e6"}
|
||||
|
@ -99,7 +103,8 @@ class TestBeginEndBlock < Test::Unit::TestCase
|
|||
"inner1",
|
||||
"outer0" ]
|
||||
|
||||
assert_in_out_err([], <<-'end;', expected, [], "[ruby-core:35237]")
|
||||
assert_in_out_err([], "#{<<~"begin;"}\n#{<<~'end;'}", expected, [], "[ruby-core:35237]")
|
||||
begin;
|
||||
at_exit { puts :outer0 }
|
||||
at_exit { puts :outer1_begin; at_exit { puts :inner1 }; puts :outer1_end }
|
||||
at_exit { puts :outer2_begin; at_exit { puts :inner2 }; puts :outer2_end }
|
||||
|
@ -122,18 +127,19 @@ class TestBeginEndBlock < Test::Unit::TestCase
|
|||
|
||||
def test_callcc_at_exit
|
||||
bug9110 = '[ruby-core:58329][Bug #9110]'
|
||||
script = <<EOS
|
||||
require "continuation"
|
||||
c = nil
|
||||
at_exit { c.call }
|
||||
at_exit { callcc {|_c| c = _c } }
|
||||
EOS
|
||||
assert_normal_exit(script, bug9110)
|
||||
assert_ruby_status([], "#{<<~"begin;"}\n#{<<~'end;'}", bug9110)
|
||||
begin;
|
||||
require "continuation"
|
||||
c = nil
|
||||
at_exit { c.call }
|
||||
at_exit { callcc {|_c| c = _c } }
|
||||
end;
|
||||
end
|
||||
|
||||
def test_errinfo_at_exit
|
||||
bug12302 = '[ruby-core:75038] [Bug #12302]'
|
||||
assert_in_out_err([], <<-'end;', %w[2:exit 1:exit], [], bug12302)
|
||||
assert_in_out_err([], "#{<<~"begin;"}\n#{<<~'end;'}", %w[2:exit 1:exit], [], bug12302)
|
||||
begin;
|
||||
at_exit do
|
||||
puts "1:#{$!}"
|
||||
end
|
||||
|
|
|
@ -297,7 +297,8 @@ class TestClass < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_cannot_reinitialize_class_with_initialize_copy # [ruby-core:50869]
|
||||
assert_in_out_err([], <<-'end;', ["Object"], [])
|
||||
assert_in_out_err([], "#{<<~"begin;"}\n#{<<~'end;'}", ["Object"], [])
|
||||
begin;
|
||||
class Class
|
||||
def initialize_copy(*); super; end
|
||||
end
|
||||
|
@ -579,7 +580,8 @@ class TestClass < Test::Unit::TestCase
|
|||
m.module_eval "class #{n}; end"
|
||||
}
|
||||
|
||||
assert_separately([], <<-"end;")
|
||||
assert_separately([], "#{<<~"begin;"}\n#{<<~"end;"}")
|
||||
begin;
|
||||
Date = (class C\u{1f5ff}; self; end).new
|
||||
assert_raise_with_message(TypeError, /C\u{1f5ff}/) {
|
||||
require 'date'
|
||||
|
@ -588,22 +590,24 @@ class TestClass < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_should_not_expose_singleton_class_without_metaclass
|
||||
assert_normal_exit %q{
|
||||
assert_normal_exit "#{<<~"begin;"}\n#{<<~'end;'}", '[Bug #11740]'
|
||||
begin;
|
||||
klass = Class.new(Array)
|
||||
# The metaclass of +klass+ should handle #bla since it should inherit methods from meta:meta:Array
|
||||
def (Array.singleton_class).bla; :bla; end
|
||||
hidden = ObjectSpace.each_object(Class).find { |c| klass.is_a? c and c.inspect.include? klass.inspect }
|
||||
raise unless hidden.nil?
|
||||
}, '[Bug #11740]'
|
||||
end;
|
||||
|
||||
assert_normal_exit %q{
|
||||
assert_normal_exit "#{<<~"begin;"}\n#{<<~'end;'}", '[Bug #11740]'
|
||||
begin;
|
||||
klass = Class.new(Array)
|
||||
klass.singleton_class
|
||||
# The metaclass of +klass+ should handle #bla since it should inherit methods from meta:meta:Array
|
||||
def (Array.singleton_class).bla; :bla; end
|
||||
hidden = ObjectSpace.each_object(Class).find { |c| klass.is_a? c and c.inspect.include? klass.inspect }
|
||||
raise if hidden.nil?
|
||||
}, '[Bug #11740]'
|
||||
end;
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -117,9 +117,10 @@ class TestEncoding < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_errinfo_after_autoload
|
||||
assert_separately(%w[--disable=gems], "#{<<~"begin;"}\n#{<<~'end;'}")
|
||||
bug9038 = '[ruby-core:57949] [Bug #9038]'
|
||||
assert_separately(%w[--disable=gems], <<-"end;")
|
||||
assert_raise_with_message(SyntaxError, /unknown regexp option - Q/, #{bug9038.dump}) {
|
||||
begin;
|
||||
assert_raise_with_message(SyntaxError, /unknown regexp option - Q/, bug9038) {
|
||||
eval("/regexp/sQ")
|
||||
}
|
||||
end;
|
||||
|
|
Загрузка…
Ссылка в новой задаче