diff options
| author | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-02 06:58:05 +0000 |
|---|---|---|
| committer | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-02 06:58:05 +0000 |
| commit | 6b1626486503518f20195bd76bfb1c31eefe02f2 (patch) | |
| tree | bdbb335d45d57c1abe9991681c58c51309c8b89f /lib | |
| parent | a41bf0de0fb3b87b55cdc66aa8f7303d5fb2c5b7 (diff) | |
* 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: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/erb.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/erb.rb b/lib/erb.rb index 3cfbc11c30..9e68f5d70b 100644 --- a/lib/erb.rb +++ b/lib/erb.rb @@ -327,16 +327,18 @@ class ERB end def scan_line(line) - line.scan(/(.*?)(<%%|%%>|<%=|<%#|<%|%>|\n|\z)/m) do |token| - next if token.empty? - yield(token) + line.scan(/(.*?)(<%%|%%>|<%=|<%#|<%|%>|\n|\z)/m) do |tokens| + tokens.each do |token| + next if token.empty? + yield(token) + end end end def trim_line1(line) line.scan(/(.*?)(<%%|%%>|<%=|<%#|<%|%>\n|%>|\n|\z)/m) do |tokens| tokens.each do |token| - next if token.empty? + next if token.empty? if token == "%>\n" yield('%>') yield(:cr) |
