diff options
Diffstat (limited to 'ruby_1_8_6/test/erb')
-rw-r--r-- | ruby_1_8_6/test/erb/hello.erb | 4 | ||||
-rw-r--r-- | ruby_1_8_6/test/erb/test_erb.rb | 424 |
2 files changed, 0 insertions, 428 deletions
diff --git a/ruby_1_8_6/test/erb/hello.erb b/ruby_1_8_6/test/erb/hello.erb deleted file mode 100644 index d5ebcb73b9..0000000000 --- a/ruby_1_8_6/test/erb/hello.erb +++ /dev/null @@ -1,4 +0,0 @@ -= hello -<% 3.times do |n| %> -* <%= n %> -<% end %> diff --git a/ruby_1_8_6/test/erb/test_erb.rb b/ruby_1_8_6/test/erb/test_erb.rb deleted file mode 100644 index 832c2f29b9..0000000000 --- a/ruby_1_8_6/test/erb/test_erb.rb +++ /dev/null @@ -1,424 +0,0 @@ -require 'test/unit' -require 'erb' - -class TestERB < Test::Unit::TestCase - class MyError < RuntimeError ; end - - def test_without_filename - erb = ERB.new("<% raise ::TestERB::MyError %>") - e = assert_raise(MyError) { - erb.result - } - assert_equal("(erb):1", e.backtrace[0]) - end - - def test_with_filename - erb = ERB.new("<% raise ::TestERB::MyError %>") - erb.filename = "test filename" - e = assert_raise(MyError) { - erb.result - } - assert_equal("test filename:1", e.backtrace[0]) - end - - def test_without_filename_with_safe_level - erb = ERB.new("<% raise ::TestERB::MyError %>", 1) - e = assert_raise(MyError) { - erb.result - } - assert_equal("(erb):1", e.backtrace[0]) - end - - def test_with_filename_and_safe_level - erb = ERB.new("<% raise ::TestERB::MyError %>", 1) - erb.filename = "test filename" - e = assert_raise(MyError) { - erb.result - } - assert_equal("test filename:1", e.backtrace[0]) - end -end - -class TestERBCore < Test::Unit::TestCase - def setup - @erb = ERB - end - - def test_core - _test_core(nil) - _test_core(0) - _test_core(1) - _test_core(2) - _test_core(3) - end - - def _test_core(safe) - erb = @erb.new("hello") - assert_equal("hello", erb.result) - - erb = @erb.new("hello", safe, 0) - assert_equal("hello", erb.result) - - erb = @erb.new("hello", safe, 1) - assert_equal("hello", erb.result) - - erb = @erb.new("hello", safe, 2) - assert_equal("hello", erb.result) - - src = <<EOS -%% hi -= hello -<% 3.times do |n| %> -% n=0 -* <%= n %> -<% end %> -EOS - - ans = <<EOS -%% hi -= hello - -% n=0 -* 0 - -% n=0 -* 1 - -% n=0 -* 2 - -EOS - erb = @erb.new(src) - assert_equal(ans, erb.result) - erb = @erb.new(src, safe, 0) - assert_equal(ans, erb.result) - erb = @erb.new(src, safe, '') - assert_equal(ans, erb.result) - - ans = <<EOS -%% hi -= hello -% n=0 -* 0% n=0 -* 1% n=0 -* 2 -EOS - erb = @erb.new(src, safe, 1) - assert_equal(ans.chomp, erb.result) - erb = @erb.new(src, safe, '>') - assert_equal(ans.chomp, erb.result) - - ans = <<EOS -%% hi -= hello -% n=0 -* 0 -% n=0 -* 1 -% n=0 -* 2 -EOS - - erb = @erb.new(src, safe, 2) - assert_equal(ans, erb.result) - erb = @erb.new(src, safe, '<>') - assert_equal(ans, erb.result) - - ans = <<EOS -% hi -= hello - -* 0 - -* 0 - -* 0 - -EOS - erb = @erb.new(src, safe, '%') - assert_equal(ans, erb.result) - - ans = <<EOS -% hi -= hello -* 0* 0* 0 -EOS - erb = @erb.new(src, safe, '%>') - assert_equal(ans.chomp, erb.result) - - ans = <<EOS -% hi -= hello -* 0 -* 0 -* 0 -EOS - erb = @erb.new(src, safe, '%<>') - assert_equal(ans, erb.result) - end - - def test_safe_04 - erb = @erb.new('<%=$SAFE%>', 4) - assert_equal('4', erb.result(TOPLEVEL_BINDING.taint)) - end - - class Foo; end - - def test_def_class - erb = @erb.new('hello') - cls = erb.def_class - assert_equal(Object, cls.superclass) - assert(cls.new.respond_to?('result')) - cls = erb.def_class(Foo) - assert_equal(Foo, cls.superclass) - assert(cls.new.respond_to?('result')) - cls = erb.def_class(Object, 'erb') - assert_equal(Object, cls.superclass) - assert(cls.new.respond_to?('erb')) - end - - def test_percent - src = <<EOS -%n = 1 -<%= n%> -EOS - assert_equal("1\n", ERB.new(src, nil, '%').result) - - src = <<EOS -<% -%> -EOS - ans = "\n" - assert_equal(ans, ERB.new(src, nil, '%').result) - - src = "<%\n%>" - # ans = "\n" - ans = "" - assert_equal(ans, ERB.new(src, nil, '%').result) - - src = <<EOS -<% -n = 1 -%><%= n%> -EOS - assert_equal("1\n", ERB.new(src, nil, '%').result) - - src = <<EOS -%n = 1 -%% <% n = 2 -n.times do |i|%> -%% %%><%%<%= i%><% -end%> -EOS - ans = <<EOS -% -% %%><%0 -% %%><%1 -EOS - assert_equal(ans, ERB.new(src, nil, '%').result) - end - - def test_def_method - klass = Class.new - klass.module_eval do - extend ERB::DefMethod - fname = File.join(File.dirname(File.expand_path(__FILE__)), 'hello.erb') - def_erb_method('hello', fname) - end - assert(klass.new.respond_to?('hello')) - - assert(! klass.new.respond_to?('hello_world')) - erb = @erb.new('hello, world') - klass.module_eval do - def_erb_method('hello_world', erb) - end - assert(klass.new.respond_to?('hello_world')) - end - - def test_escape - src = <<EOS -1.<%% : <%="<%%"%> -2.%%> : <%="%%>"%> -3. -% x = "foo" -<%=x%> -4. -%% print "foo" -5. -%% <%="foo"%> -6.<%=" -% print 'foo' -"%> -7.<%=" -%% print 'foo' -"%> -EOS - ans = <<EOS -1.<% : <%% -2.%%> : %> -3. -foo -4. -% print "foo" -5. -% foo -6. -% print 'foo' - -7. -%% print 'foo' - -EOS - assert_equal(ans, ERB.new(src, nil, '%').result) - end - - def test_keep_lineno - src = <<EOS -Hello, -% x = "World" -<%= x%> -% raise("lineno") -EOS - - erb = ERB.new(src, nil, '%') - begin - erb.result - assert(false) - rescue - assert_equal("(erb):4", $@[0].to_s) - end - - src = <<EOS -%> -Hello, -<% x = "World%%> -"%> -<%= x%> -EOS - - ans = <<EOS -%>Hello, -World%> -EOS - assert_equal(ans, ERB.new(src, nil, '>').result) - - ans = <<EOS -%> -Hello, - -World%> -EOS - assert_equal(ans, ERB.new(src, nil, '<>').result) - - ans = <<EOS -%> -Hello, - -World%> - -EOS - assert_equal(ans, ERB.new(src).result) - - src = <<EOS -Hello, -<% x = "World%%> -"%> -<%= x%> -<% raise("lineno") %> -EOS - - erb = ERB.new(src) - begin - erb.result - assert(false) - rescue - assert_equal("(erb):5", $@[0].to_s) - end - - erb = ERB.new(src, nil, '>') - begin - erb.result - assert(false) - rescue - assert_equal("(erb):5", $@[0].to_s) - end - - erb = ERB.new(src, nil, '<>') - begin - erb.result - assert(false) - rescue - assert_equal("(erb):5", $@[0].to_s) - end - -# src = <<EOS -# % y = 'Hello' -# <%- x = "World%%> -# "-%> -# <%= x %><%- x = nil -%> -# <% raise("lineno") %> -# EOS - -# erb = ERB.new(src, nil, '-') -# begin -# erb.result -# assert(false) -# rescue -# assert_equal("(erb):5", $@[0].to_s) -# end - -# erb = ERB.new(src, nil, '%-') -# begin -# erb.result -# assert(false) -# rescue -# assert_equal("(erb):5", $@[0].to_s) -# end - end - - def test_explicit - src = <<EOS -<% x = %w(hello world) -%> -NotSkip <%- y = x -%> NotSkip -<% x.each do |w| -%> - <%- up = w.upcase -%> - * <%= up %> -<% end -%> - <%- z = nil -%> NotSkip <%- z = x %> - <%- z.each do |w| -%> - <%- down = w.downcase -%> - * <%= down %> - <%- up = w.upcase -%> - * <%= up %> - <%- end -%> -KeepNewLine <%- z = nil -%> -EOS - - ans = <<EOS -NotSkip NotSkip - * HELLO - * WORLD - NotSkip - * hello - * HELLO - * world - * WORLD -KeepNewLine -EOS - assert_equal(ans, ERB.new(src, nil, '-').result) - assert_equal(ans, ERB.new(src, nil, '-%').result) - end -end - -class TestERBCoreWOStrScan < TestERBCore - def setup - @save_map = ERB::Compiler::Scanner.instance_variable_get('@scanner_map') - map = {[nil, false]=>ERB::Compiler::SimpleScanner} - ERB::Compiler::Scanner.instance_variable_set('@scanner_map', map) - super - end - - def teardown - ERB::Compiler::Scanner.instance_variable_set('@scanner_map', @save_map) - end -end |