[ruby/rdoc] Fix blockquote with word in verbatim
https://github.com/ruby/rdoc/commit/75eee668a5
This commit is contained in:
parent
0e85586ecc
commit
af265d73fb
@ -289,6 +289,10 @@ class RDoc::Markup::Parser
|
||||
line << data
|
||||
when :BLOCKQUOTE then
|
||||
line << '>>>'
|
||||
peek_type, _, peek_column = peek_token
|
||||
if peek_type != :NEWLINE and peek_column
|
||||
line << ' ' * (peek_column - column - 3)
|
||||
end
|
||||
else # *LIST_TOKENS
|
||||
list_marker = case type
|
||||
when :BULLET then data
|
||||
@ -374,11 +378,8 @@ class RDoc::Markup::Parser
|
||||
unget
|
||||
parse_text parent, indent
|
||||
when :BLOCKQUOTE then
|
||||
type, _, column = get
|
||||
if type == :NEWLINE
|
||||
type, _, column = get
|
||||
end
|
||||
unget if type
|
||||
nil while (type, = get; type) and type != :NEWLINE
|
||||
_, _, column, = peek_token
|
||||
bq = RDoc::Markup::BlockQuote.new
|
||||
p :blockquote_start => [data, column] if @debug
|
||||
parse bq, column
|
||||
@ -546,7 +547,10 @@ class RDoc::Markup::Parser
|
||||
[:NOTE, @s[1], *pos]
|
||||
# >>> followed by end of line => :BLOCKQUOTE
|
||||
when @s.scan(/>>> *(\w+)?$/) then
|
||||
[:BLOCKQUOTE, @s[1], *pos]
|
||||
if word = @s[1]
|
||||
@s.unscan(word)
|
||||
end
|
||||
[:BLOCKQUOTE, word, *pos]
|
||||
# anything else: :TEXT
|
||||
else
|
||||
@s.scan(/(.*?)( )?\r?$/)
|
||||
|
@ -821,6 +821,15 @@ EXPECTED
|
||||
EXPECTED
|
||||
|
||||
assert_equal expected, @m.convert(str, @to).gsub(/^\n/, "")
|
||||
|
||||
str = "BlockQuote\n >>> word\n"
|
||||
|
||||
expected = <<-EXPECTED
|
||||
<p>BlockQuote</p>
|
||||
<pre>>>> word</pre>
|
||||
EXPECTED
|
||||
|
||||
assert_equal expected, @m.convert(str, @to).gsub(/^\n/, "")
|
||||
end
|
||||
|
||||
def test_parseable_eh
|
||||
|
Loading…
x
Reference in New Issue
Block a user