From 16d65fd118e9053bb0b2ff3f958f3c6509c2ac38 Mon Sep 17 00:00:00 2001 From: knu Date: Mon, 2 Jun 2008 07:10:35 +0000 Subject: * lib/erb.rb (ERB::Compiler::TrimScanner#scan_line): Fix a bug where tokens are not yilelded one by one. * test/erb/test_erb.rb (TestERBCore#_test_01) (TestERBCore#test_02_safe_04): The expected value should come first for assert_equal(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 9 +++++++++ lib/erb.rb | 10 ++++++---- test/erb/test_erb.rb | 10 +++++----- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 26250b2c6..7ddf4c63c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Mon Jun 2 16:08:24 2008 Akinori MUSHA + + * lib/erb.rb (ERB::Compiler::TrimScanner#scan_line): Fix a bug + where tokens are not yilelded one by one. + + * test/erb/test_erb.rb (TestERBCore#_test_01) + (TestERBCore#test_02_safe_04): The expected value should come + first for assert_equal(). + Mon Jun 2 13:06:38 2008 NAKAMURA Usaku * mkconfig.rb: hide build path from rbconfig.rb. diff --git a/lib/erb.rb b/lib/erb.rb index fade2c72b..58f98ca00 100644 --- a/lib/erb.rb +++ b/lib/erb.rb @@ -329,15 +329,17 @@ class ERB end def scan_line(line) - line.split(SplitRegexp).each do |token| - next if token.empty? - yield(token) + line.split(SplitRegexp).each do |tokens| + tokens.each do |token| + next if token.empty? + yield(token) + end end end def trim_line1(line) line.split(TrimSplitRegexp).each do |token| - next if token.empty? + next if token.empty? if token == "%>\n" yield('%>') yield(:cr) diff --git a/test/erb/test_erb.rb b/test/erb/test_erb.rb index aac33863d..ccd3ddb9f 100644 --- a/test/erb/test_erb.rb +++ b/test/erb/test_erb.rb @@ -54,16 +54,16 @@ class TestERBCore < Test::Unit::TestCase def _test_core(safe) erb = @erb.new("hello") - assert_equal(erb.result, "hello") + assert_equal("hello", erb.result) erb = @erb.new("hello", safe, 0) - assert_equal(erb.result, "hello") + assert_equal("hello", erb.result) erb = @erb.new("hello", safe, 1) - assert_equal(erb.result, "hello") + assert_equal("hello", erb.result) erb = @erb.new("hello", safe, 2) - assert_equal(erb.result, "hello") + assert_equal("hello", erb.result) src = <', 4) - assert_equal(erb.result(TOPLEVEL_BINDING.taint), '4') + assert_equal('4', erb.result(TOPLEVEL_BINDING.taint)) end class Foo; end -- cgit