1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

merge revision(s) 21432:

* lib/erb.rb (PercentScanner): remove PercentScanner. fixed % after
	  %> bug. [ruby-dev:37751] [Bug #997] 
	* test/erb/test_erb.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@22581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
shyouhei 2009-02-23 17:43:45 +00:00
parent 214d80f89c
commit 3435f0c106
4 changed files with 15 additions and 32 deletions

View file

@ -1,3 +1,10 @@
Tue Feb 24 02:41:47 2009 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
* lib/erb.rb (PercentScanner): remove PercentScanner. fixed % after
%> bug. [ruby-dev:37751] [Bug #997]
* test/erb/test_erb.rb: ditto
Sun Feb 22 22:05:44 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> Sun Feb 22 22:05:44 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (stack_extend): streamlined rb_thread_restore_context() * eval.c (stack_extend): streamlined rb_thread_restore_context()

View file

@ -422,34 +422,6 @@ class ERB
end end
Scanner.regist_scanner(SimpleScanner2, nil, false) Scanner.regist_scanner(SimpleScanner2, nil, false)
class PercentScanner < Scanner # :nodoc:
def scan
new_line = true
stag_reg = /(.*?)(<%%|<%=|<%#|<%|\n|\z)/
etag_reg = /(.*?)(%%>|%>|\n|\z)/
scanner = StringScanner.new(@src)
while ! scanner.eos?
if new_line && @stag.nil?
if scanner.scan(/%%/)
yield('%')
new_line = false
next
elsif scanner.scan(/%/)
yield(PercentLine.new(scanner.scan(/.*?(\n|\z)/).chomp))
next
end
end
scanner.scan(@stag ? etag_reg : stag_reg)
text = scanner[1]
elem = scanner[2]
yield(text) unless text.empty?
yield(elem) unless elem.empty?
new_line = (elem == "\n")
end
end
end
Scanner.regist_scanner(PercentScanner, nil, true)
class ExplicitScanner < Scanner # :nodoc: class ExplicitScanner < Scanner # :nodoc:
def scan def scan
new_line = true new_line = true

View file

@ -408,6 +408,10 @@ EOS
assert_equal(ans, ERB.new(src, nil, '-').result) assert_equal(ans, ERB.new(src, nil, '-').result)
assert_equal(ans, ERB.new(src, nil, '-%').result) assert_equal(ans, ERB.new(src, nil, '-%').result)
end end
def test_percent_after_etag
assert_equal("1%", @erb.new("<%= 1 %>%", nil, "%").result)
end
end end
class TestERBCoreWOStrScan < TestERBCore class TestERBCoreWOStrScan < TestERBCore

View file

@ -1,15 +1,15 @@
#define RUBY_VERSION "1.8.6" #define RUBY_VERSION "1.8.6"
#define RUBY_RELEASE_DATE "2009-02-22" #define RUBY_RELEASE_DATE "2009-02-24"
#define RUBY_VERSION_CODE 186 #define RUBY_VERSION_CODE 186
#define RUBY_RELEASE_CODE 20090222 #define RUBY_RELEASE_CODE 20090224
#define RUBY_PATCHLEVEL 351 #define RUBY_PATCHLEVEL 352
#define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_MINOR 8
#define RUBY_VERSION_TEENY 6 #define RUBY_VERSION_TEENY 6
#define RUBY_RELEASE_YEAR 2009 #define RUBY_RELEASE_YEAR 2009
#define RUBY_RELEASE_MONTH 2 #define RUBY_RELEASE_MONTH 2
#define RUBY_RELEASE_DAY 22 #define RUBY_RELEASE_DAY 24
#ifdef RUBY_EXTERN #ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[]; RUBY_EXTERN const char ruby_version[];