summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/test/erb/test_erb.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/test/erb/test_erb.rb')
-rw-r--r--ruby_1_8_6/test/erb/test_erb.rb424
1 files changed, 0 insertions, 424 deletions
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