mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
401b64c4e8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
40 lines
950 B
Ruby
40 lines
950 B
Ruby
require 'erb'
|
|
require_relative '../../spec_helper'
|
|
|
|
describe "ERB#filename" do
|
|
it "raises an exception if there are errors processing content" do
|
|
filename = 'foobar.rhtml'
|
|
erb = ERB.new('<% if true %>') # will raise SyntaxError
|
|
erb.filename = filename
|
|
lambda {
|
|
begin
|
|
erb.result(binding)
|
|
rescue Exception => e
|
|
@ex = e
|
|
raise e
|
|
end
|
|
}.should raise_error(SyntaxError)
|
|
expected = filename
|
|
|
|
@ex.message =~ /^(.*?):(\d+): /
|
|
$1.should == expected
|
|
$2.to_i.should == 1
|
|
end
|
|
|
|
it "uses '(erb)' as filename when filename is not set" do
|
|
erb = ERB.new('<% if true %>') # will raise SyntaxError
|
|
lambda {
|
|
begin
|
|
erb.result(binding)
|
|
rescue Exception => e
|
|
@ex = e
|
|
raise e
|
|
end
|
|
}.should raise_error(SyntaxError)
|
|
expected = '(erb)'
|
|
|
|
@ex.message =~ /^(.*?):(\d+): /
|
|
$1.should == expected
|
|
$2.to_i.should == 1
|
|
end
|
|
end
|