Skip to content

Commit 4c2c140

Browse files
authored
Merge pull request #794 from nobu/code-fence
Fixed CodeFence without blank lines
2 parents b4130e6 + 0e1776c commit 4c2c140

File tree

2 files changed

+34
-5
lines changed

2 files changed

+34
-5
lines changed

lib/rdoc/markdown.kpeg

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -896,7 +896,8 @@ StyleBlock = < InStyleTags >
896896
end }
897897

898898
Inlines = ( !@Endline Inline:i { i }
899-
| @Endline:c &Inline { c } )+:chunks @Endline?
899+
| @Endline:c !( &{ github? } Ticks3 /[^`\n]*$/ )
900+
&Inline { c } )+:chunks @Endline?
900901
{ chunks }
901902

902903
Inline = Str

test/rdoc/test_rdoc_markdown.rb

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def test_parse_code
143143
end
144144

145145
def test_parse_code_github
146-
doc = parse <<-MD
146+
doc = <<-MD
147147
Example:
148148
149149
```
@@ -156,11 +156,25 @@ def test_parse_code_github
156156
para("Example:"),
157157
verb("code goes here\n"))
158158

159-
assert_equal expected, doc
159+
assert_equal expected, parse(doc)
160+
assert_equal expected, parse(doc.sub(/^\n/, ''))
161+
162+
@parser.github = false
163+
164+
expected =
165+
doc(para("Example:"),
166+
para("<code>\n""code goes here\n</code>"))
167+
168+
assert_equal expected, parse(doc)
169+
170+
expected =
171+
doc(para("Example:\n<code>\n""code goes here\n</code>"))
172+
173+
assert_equal expected, parse(doc.sub(/^\n/, ''))
160174
end
161175

162176
def test_parse_code_github_format
163-
doc = parse <<-MD
177+
doc = <<-MD
164178
Example:
165179
166180
``` ruby
@@ -176,7 +190,21 @@ def test_parse_code_github_format
176190
para("Example:"),
177191
code)
178192

179-
assert_equal expected, doc
193+
assert_equal expected, parse(doc)
194+
assert_equal expected, parse(doc.sub(/^\n/, ''))
195+
196+
@parser.github = false
197+
198+
expected =
199+
doc(para("Example:"),
200+
para("<code>ruby\n""code goes here\n</code>"))
201+
202+
assert_equal expected, parse(doc)
203+
204+
expected =
205+
doc(para("Example:\n<code>ruby\n""code goes here\n</code>"))
206+
207+
assert_equal expected, parse(doc.sub(/^\n/, ''))
180208
end
181209

182210
def test_parse_definition_list

0 commit comments

Comments
 (0)