Misc #15294 ยป erb_trim_mode_warning.patch
| lib/erb.rb | ||
|---|---|---|
|
when 0
|
||
|
return [false, nil]
|
||
|
when String
|
||
|
warn "Invalid ERB trim mode: #{mode.inspect}", uplevel: 5 unless mode.match?(/\A(%|-|>|<>){1,2}\z/)
|
||
|
perc = mode.include?('%')
|
||
|
if mode.include?('-')
|
||
|
return [perc, '-']
|
||
| ... | ... | |
|
[perc, nil]
|
||
|
end
|
||
|
else
|
||
|
warn "Invalid ERB trim mode: #{mode.inspect}", uplevel: 5 unless mode.nil?
|
||
|
return [false, nil]
|
||
|
end
|
||
|
end
|
||
| test/erb/test_erb.rb | ||
|---|---|---|
|
assert_equal("line\r\n" * 3, erb.result)
|
||
|
end
|
||
|
def test_invalid_trim_mode
|
||
|
assert_warning(/Invalid ERB trim mode/) do
|
||
|
@erb.new("", trim_mode: 'abc-def')
|
||
|
end
|
||
|
assert_warning(/Invalid ERB trim mode/) do
|
||
|
@erb.new("", trim_mode: '%<')
|
||
|
end
|
||
|
assert_warning(/Invalid ERB trim mode/) do
|
||
|
@erb.new("", trim_mode: '%<>-')
|
||
|
end
|
||
|
assert_warning(/Invalid ERB trim mode/) do
|
||
|
@erb.new("", trim_mode: 3)
|
||
|
end
|
||
|
end
|
||
|
def test_run
|
||
|
out = StringIO.new
|
||
|
orig, $stdout = $stdout, out
|
||