bluecloth 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. data/ChangeLog +629 -0
  2. data/LICENSE +27 -0
  3. data/LICENSE.discount +47 -0
  4. data/README +71 -0
  5. data/Rakefile +319 -0
  6. data/Rakefile.local +63 -0
  7. data/bin/bluecloth +84 -0
  8. data/ext/VERSION +1 -0
  9. data/ext/amalloc.h +29 -0
  10. data/ext/bluecloth.c +373 -0
  11. data/ext/config.h +47 -0
  12. data/ext/cstring.h +73 -0
  13. data/ext/docheader.c +43 -0
  14. data/ext/extconf.rb +45 -0
  15. data/ext/generate.c +1387 -0
  16. data/ext/markdown.c +939 -0
  17. data/ext/markdown.h +135 -0
  18. data/ext/mkdio.c +241 -0
  19. data/ext/mkdio.h +66 -0
  20. data/ext/resource.c +169 -0
  21. data/ext/version.c +28 -0
  22. data/lib/bluecloth.rb +148 -0
  23. data/rake/191_compat.rb +26 -0
  24. data/rake/dependencies.rb +76 -0
  25. data/rake/helpers.rb +412 -0
  26. data/rake/manual.rb +782 -0
  27. data/rake/packaging.rb +116 -0
  28. data/rake/publishing.rb +321 -0
  29. data/rake/rdoc.rb +40 -0
  30. data/rake/style.rb +62 -0
  31. data/rake/svn.rb +639 -0
  32. data/rake/testing.rb +204 -0
  33. data/rake/verifytask.rb +64 -0
  34. data/rake/win32.rb +186 -0
  35. data/spec/bluecloth/101_changes_spec.rb +141 -0
  36. data/spec/bluecloth/autolinks_spec.rb +49 -0
  37. data/spec/bluecloth/blockquotes_spec.rb +143 -0
  38. data/spec/bluecloth/code_spans_spec.rb +164 -0
  39. data/spec/bluecloth/emphasis_spec.rb +164 -0
  40. data/spec/bluecloth/entities_spec.rb +65 -0
  41. data/spec/bluecloth/hrules_spec.rb +90 -0
  42. data/spec/bluecloth/images_spec.rb +92 -0
  43. data/spec/bluecloth/inline_html_spec.rb +238 -0
  44. data/spec/bluecloth/links_spec.rb +171 -0
  45. data/spec/bluecloth/lists_spec.rb +294 -0
  46. data/spec/bluecloth/paragraphs_spec.rb +75 -0
  47. data/spec/bluecloth/titles_spec.rb +305 -0
  48. data/spec/bluecloth_spec.rb +209 -0
  49. data/spec/bugfix_spec.rb +123 -0
  50. data/spec/contributions_spec.rb +85 -0
  51. data/spec/data/antsugar.txt +34 -0
  52. data/spec/data/markdowntest/Amps and angle encoding.html +17 -0
  53. data/spec/data/markdowntest/Amps and angle encoding.text +21 -0
  54. data/spec/data/markdowntest/Auto links.html +18 -0
  55. data/spec/data/markdowntest/Auto links.text +13 -0
  56. data/spec/data/markdowntest/Backslash escapes.html +118 -0
  57. data/spec/data/markdowntest/Backslash escapes.text +120 -0
  58. data/spec/data/markdowntest/Blockquotes with code blocks.html +15 -0
  59. data/spec/data/markdowntest/Blockquotes with code blocks.text +11 -0
  60. data/spec/data/markdowntest/Code Blocks.html +18 -0
  61. data/spec/data/markdowntest/Code Blocks.text +14 -0
  62. data/spec/data/markdowntest/Code Spans.html +5 -0
  63. data/spec/data/markdowntest/Code Spans.text +5 -0
  64. data/spec/data/markdowntest/Hard-wrapped paragraphs with list-like lines.html +8 -0
  65. data/spec/data/markdowntest/Hard-wrapped paragraphs with list-like lines.text +8 -0
  66. data/spec/data/markdowntest/Horizontal rules.html +71 -0
  67. data/spec/data/markdowntest/Horizontal rules.text +67 -0
  68. data/spec/data/markdowntest/Inline HTML (Advanced).html +15 -0
  69. data/spec/data/markdowntest/Inline HTML (Advanced).text +15 -0
  70. data/spec/data/markdowntest/Inline HTML (Simple).html +72 -0
  71. data/spec/data/markdowntest/Inline HTML (Simple).text +69 -0
  72. data/spec/data/markdowntest/Inline HTML comments.html +13 -0
  73. data/spec/data/markdowntest/Inline HTML comments.text +13 -0
  74. data/spec/data/markdowntest/Links, inline style.html +11 -0
  75. data/spec/data/markdowntest/Links, inline style.text +12 -0
  76. data/spec/data/markdowntest/Links, reference style.html +52 -0
  77. data/spec/data/markdowntest/Links, reference style.text +71 -0
  78. data/spec/data/markdowntest/Links, shortcut references.html +9 -0
  79. data/spec/data/markdowntest/Links, shortcut references.text +20 -0
  80. data/spec/data/markdowntest/Literal quotes in titles.html +3 -0
  81. data/spec/data/markdowntest/Literal quotes in titles.text +7 -0
  82. data/spec/data/markdowntest/Markdown Documentation - Basics.html +314 -0
  83. data/spec/data/markdowntest/Markdown Documentation - Basics.text +306 -0
  84. data/spec/data/markdowntest/Markdown Documentation - Syntax.html +942 -0
  85. data/spec/data/markdowntest/Markdown Documentation - Syntax.text +888 -0
  86. data/spec/data/markdowntest/Nested blockquotes.html +9 -0
  87. data/spec/data/markdowntest/Nested blockquotes.text +5 -0
  88. data/spec/data/markdowntest/Ordered and unordered lists.html +148 -0
  89. data/spec/data/markdowntest/Ordered and unordered lists.text +131 -0
  90. data/spec/data/markdowntest/Strong and em together.html +7 -0
  91. data/spec/data/markdowntest/Strong and em together.text +7 -0
  92. data/spec/data/markdowntest/Tabs.html +25 -0
  93. data/spec/data/markdowntest/Tabs.text +21 -0
  94. data/spec/data/markdowntest/Tidyness.html +8 -0
  95. data/spec/data/markdowntest/Tidyness.text +5 -0
  96. data/spec/data/ml-announce.txt +17 -0
  97. data/spec/data/re-overflow.txt +67 -0
  98. data/spec/data/re-overflow2.txt +281 -0
  99. data/spec/lib/constants.rb +5 -0
  100. data/spec/lib/helpers.rb +137 -0
  101. data/spec/lib/matchers.rb +235 -0
  102. data/spec/markdowntest_spec.rb +76 -0
  103. metadata +305 -0
@@ -0,0 +1,171 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ BEGIN {
5
+ require 'pathname'
6
+ basedir = Pathname.new( __FILE__ ).dirname.parent.parent
7
+
8
+ libdir = basedir + 'lib'
9
+ extdir = basedir + 'ext'
10
+
11
+ $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
12
+ $LOAD_PATH.unshift( extdir ) unless $LOAD_PATH.include?( extdir )
13
+ }
14
+
15
+ require 'spec'
16
+ require 'bluecloth'
17
+
18
+ require 'spec/lib/helpers'
19
+ require 'spec/lib/constants'
20
+ require 'spec/lib/matchers'
21
+
22
+
23
+ #####################################################################
24
+ ### C O N T E X T S
25
+ #####################################################################
26
+
27
+ describe BlueCloth, "links" do
28
+ include BlueCloth::TestConstants,
29
+ BlueCloth::Matchers
30
+
31
+ it "supports inline links" do
32
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
33
+ An [example](http://url.com/).
34
+ ---
35
+ <p>An <a href="http://url.com/">example</a>.</p>
36
+ ---
37
+ end
38
+
39
+ it "supports inline link with a title" do
40
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
41
+ An [example](http://url.com/ "Check out url.com!").
42
+ ---
43
+ <p>An <a href="http://url.com/" title="Check out url.com!">example</a>.</p>
44
+ ---
45
+ end
46
+
47
+ it "supports reference-style links with no title" do
48
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
49
+ An [example][ex] reference-style link.
50
+
51
+ [ex]: http://www.bluefi.com/
52
+ ---
53
+ <p>An <a href="http://www.bluefi.com/">example</a> reference-style link.</p>
54
+ ---
55
+ end
56
+
57
+ it "supports indented (less than tabwidth) reference-style links" do
58
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
59
+ An [example][ex] reference-style link.
60
+
61
+ [ex]: http://www.bluefi.com/
62
+ ---
63
+ <p>An <a href="http://www.bluefi.com/">example</a> reference-style link.</p>
64
+ ---
65
+ end
66
+
67
+ it "supports reference-style links with quoted titles" do
68
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
69
+ An [example][ex] reference-style link.
70
+
71
+ [ex]: http://www.bluefi.com/ "Check out our air."
72
+ ---
73
+ <p>An <a href="http://www.bluefi.com/" title="Check out our air.">example</a> reference-style link.</p>
74
+ ---
75
+ end
76
+
77
+ it "supports reference-style links with paren titles" do
78
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
79
+ An [example][ex] reference-style link.
80
+
81
+ [ex]: http://www.bluefi.com/ (Check out our air.)
82
+ ---
83
+ <p>An <a href="http://www.bluefi.com/" title="Check out our air.">example</a> reference-style link.</p>
84
+ ---
85
+ end
86
+
87
+ it "supports reference-style links with intervening spaces" do
88
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
89
+ You can split the [linked part] [ex] from
90
+ the reference part with a single space.
91
+
92
+ [ex]: http://www.treefrog.com/ "for some reason"
93
+ ---
94
+ <p>You can split the <a href="http://www.treefrog.com/" title="for some reason">linked part</a> from
95
+ the reference part with a single space.</p>
96
+ ---
97
+ end
98
+
99
+ it "supports reference-style links with intervening spaces" do
100
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
101
+ You can split the [linked part]
102
+ [ex] from the reference part
103
+ with a newline in case your editor wraps it there, I guess.
104
+
105
+ [ex]: http://www.treefrog.com/
106
+ ---
107
+ <p>You can split the <a href="http://www.treefrog.com/">linked part</a> from the reference part
108
+ with a newline in case your editor wraps it there, I guess.</p>
109
+ ---
110
+ end
111
+
112
+ it "supports reference-style anchors" do
113
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
114
+ I get 10 times more traffic from [Google] [1] than from
115
+ [Yahoo] [2] or [MSN] [3].
116
+
117
+ [1]: http://google.com/ "Google"
118
+ [2]: http://search.yahoo.com/ "Yahoo Search"
119
+ [3]: http://search.msn.com/ "MSN Search"
120
+ ---
121
+ <p>I get 10 times more traffic from <a href="http://google.com/" title="Google">Google</a> than from
122
+ <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
123
+ ---
124
+ end
125
+
126
+ it "supports implicit name-link shortcut anchors" do
127
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
128
+ I get 10 times more traffic from [Google][] than from
129
+ [Yahoo][] or [MSN][].
130
+
131
+ [google]: http://google.com/ "Google"
132
+ [yahoo]: http://search.yahoo.com/ "Yahoo Search"
133
+ [msn]: http://search.msn.com/ "MSN Search"
134
+ ---
135
+ <p>I get 10 times more traffic from <a href="http://google.com/" title="Google">Google</a> than from
136
+ <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
137
+ ---
138
+ end
139
+
140
+ it "supports inline anchors" do
141
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
142
+ I get 10 times more traffic from [Google](http://google.com/ "Google")
143
+ than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
144
+ [MSN](http://search.msn.com/ "MSN Search").
145
+ ---
146
+ <p>I get 10 times more traffic from <a href="http://google.com/" title="Google">Google</a>
147
+ than from <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a> or
148
+ <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
149
+ ---
150
+ end
151
+
152
+ it "fails gracefully for unclosed brackets (and bug #524)" do
153
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
154
+ This is just a [bracket opener; it should fail gracefully.
155
+ ---
156
+ <p>This is just a [bracket opener; it should fail gracefully.</p>
157
+ ---
158
+ end
159
+
160
+ it "fails gracefully for unresolved reference-style links (Bug #620)" do
161
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
162
+ This is an unresolved [url][1].
163
+ ---
164
+ <p>This is an unresolved [url][1].</p>
165
+ ---
166
+ end
167
+
168
+
169
+ end
170
+
171
+
@@ -0,0 +1,294 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ BEGIN {
5
+ require 'pathname'
6
+ basedir = Pathname.new( __FILE__ ).dirname.parent.parent
7
+
8
+ libdir = basedir + 'lib'
9
+ extdir = basedir + 'ext'
10
+
11
+ $LOAD_PATH.unshift( libdir ) unless $LOAD_PATH.include?( libdir )
12
+ $LOAD_PATH.unshift( extdir ) unless $LOAD_PATH.include?( extdir )
13
+ }
14
+
15
+ require 'spec'
16
+ require 'bluecloth'
17
+
18
+ require 'spec/lib/helpers'
19
+ require 'spec/lib/constants'
20
+ require 'spec/lib/matchers'
21
+
22
+
23
+ #####################################################################
24
+ ### C O N T E X T S
25
+ #####################################################################
26
+
27
+ describe BlueCloth, "lists" do
28
+ include BlueCloth::TestConstants,
29
+ BlueCloth::Matchers
30
+
31
+ it "support unordered lists with asterisk bullets" do
32
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
33
+ * Red
34
+ * Green
35
+ * Blue
36
+ ---
37
+ <ul>
38
+ <li>Red</li>
39
+ <li>Green</li>
40
+ <li>Blue</li>
41
+ </ul>
42
+ ---
43
+ end
44
+
45
+ it "supports unordered lists with hyphen bullets" do
46
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
47
+ - Red
48
+ - Green
49
+ - Blue
50
+ ---
51
+ <ul>
52
+ <li>Red</li>
53
+ <li>Green</li>
54
+ <li>Blue</li>
55
+ </ul>
56
+ ---
57
+ end
58
+
59
+ it "supports unordered lists with '+' bullets" do
60
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
61
+ + Red
62
+ + Green
63
+ + Blue
64
+ ---
65
+ <ul>
66
+ <li>Red</li>
67
+ <li>Green</li>
68
+ <li>Blue</li>
69
+ </ul>
70
+ ---
71
+ end
72
+
73
+ it "supports unordered lists with mixed bullets" do
74
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
75
+ + Red
76
+ - Green
77
+ * Blue
78
+ ---
79
+ <ul>
80
+ <li>Red</li>
81
+ <li>Green</li>
82
+ <li>Blue</li>
83
+ </ul>
84
+ ---
85
+ end
86
+
87
+ it "supports ordered lists" do
88
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
89
+ 1. Bird
90
+ 2. McHale
91
+ 3. Parish
92
+ ---
93
+ <ol>
94
+ <li>Bird</li>
95
+ <li>McHale</li>
96
+ <li>Parish</li>
97
+ </ol>
98
+ ---
99
+ end
100
+
101
+ it "doesn't care what the actual numbers you use to mark up an unordered list are (all 1s)" do
102
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
103
+ 1. Bird
104
+ 1. McHale
105
+ 1. Parish
106
+ ---
107
+ <ol>
108
+ <li>Bird</li>
109
+ <li>McHale</li>
110
+ <li>Parish</li>
111
+ </ol>
112
+ ---
113
+ end
114
+
115
+ it "doesn't care what the actual numbers you use to mark up an unordered list are (random numbers)" do
116
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
117
+ 3. Bird
118
+ 1. McHale
119
+ 8. Parish
120
+ ---
121
+ <ol>
122
+ <li>Bird</li>
123
+ <li>McHale</li>
124
+ <li>Parish</li>
125
+ </ol>
126
+ ---
127
+ end
128
+
129
+ it "supports hanging indents" do
130
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
131
+ * Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
132
+ Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
133
+ viverra nec, fringilla in, laoreet vitae, risus.
134
+ * Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
135
+ Suspendisse id sem consectetuer libero luctus adipiscing.
136
+ ---
137
+ <ul>
138
+ <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
139
+ Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
140
+ viverra nec, fringilla in, laoreet vitae, risus.</li>
141
+ <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
142
+ Suspendisse id sem consectetuer libero luctus adipiscing.</li>
143
+ </ul>
144
+ ---
145
+ end
146
+
147
+ it "supports lazy indents" do
148
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
149
+ * Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
150
+ Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
151
+ viverra nec, fringilla in, laoreet vitae, risus.
152
+ * Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
153
+ Suspendisse id sem consectetuer libero luctus adipiscing.
154
+ ---
155
+ <ul>
156
+ <li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
157
+ Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
158
+ viverra nec, fringilla in, laoreet vitae, risus.</li>
159
+ <li>Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
160
+ Suspendisse id sem consectetuer libero luctus adipiscing.</li>
161
+ </ul>
162
+ ---
163
+ end
164
+
165
+ it "wraps the items in <p> tags if the list items are separated by blank lines" do
166
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
167
+ * Bird
168
+
169
+ * Magic
170
+ ---
171
+ <ul>
172
+ <li><p>Bird</p></li>
173
+ <li><p>Magic</p></li>
174
+ </ul>
175
+ ---
176
+ end
177
+
178
+ it "supports multi-paragraph list items" do
179
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
180
+ 1. This is a list item with two paragraphs. Lorem ipsum dolor
181
+ sit amet, consectetuer adipiscing elit. Aliquam hendrerit
182
+ mi posuere lectus.
183
+
184
+ Vestibulum enim wisi, viverra nec, fringilla in, laoreet
185
+ vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
186
+ sit amet velit.
187
+
188
+ 2. Suspendisse id sem consectetuer libero luctus adipiscing.
189
+ ---
190
+ <ol>
191
+ <li><p>This is a list item with two paragraphs. Lorem ipsum dolor
192
+ sit amet, consectetuer adipiscing elit. Aliquam hendrerit
193
+ mi posuere lectus.</p>
194
+
195
+ <p>Vestibulum enim wisi, viverra nec, fringilla in, laoreet
196
+ vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
197
+ sit amet velit.</p></li>
198
+ <li><p>Suspendisse id sem consectetuer libero luctus adipiscing.</p></li>
199
+ </ol>
200
+ ---
201
+ end
202
+
203
+ it "supports multi-paragraph list items followed by paragraph" do
204
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
205
+ 1. This is a list item with two paragraphs. Lorem ipsum dolor
206
+ sit amet, consectetuer adipiscing elit. Aliquam hendrerit
207
+ mi posuere lectus.
208
+
209
+ Vestibulum enim wisi, viverra nec, fringilla in, laoreet
210
+ vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
211
+ sit amet velit.
212
+
213
+ 2. Suspendisse id sem consectetuer libero luctus adipiscing.
214
+
215
+ This is a following paragraph which shouldn't be part of the list.
216
+ ---
217
+ <ol>
218
+ <li><p>This is a list item with two paragraphs. Lorem ipsum dolor
219
+ sit amet, consectetuer adipiscing elit. Aliquam hendrerit
220
+ mi posuere lectus.</p>
221
+
222
+ <p>Vestibulum enim wisi, viverra nec, fringilla in, laoreet
223
+ vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
224
+ sit amet velit.</p></li>
225
+ <li><p>Suspendisse id sem consectetuer libero luctus adipiscing.</p></li>
226
+ </ol>
227
+
228
+ <p>This is a following paragraph which shouldn't be part of the list.</p>
229
+ ---
230
+ end
231
+
232
+ it "supports lazy multi-paragraphs" do
233
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
234
+ * This is a list item with two paragraphs.
235
+
236
+ This is the second paragraph in the list item. You're
237
+ only required to indent the first line. Lorem ipsum dolor
238
+ sit amet, consectetuer adipiscing elit.
239
+
240
+ * Another item in the same list.
241
+ ---
242
+ <ul>
243
+ <li><p>This is a list item with two paragraphs.</p>
244
+
245
+ <p>This is the second paragraph in the list item. You're
246
+ only required to indent the first line. Lorem ipsum dolor
247
+ sit amet, consectetuer adipiscing elit.</p></li>
248
+ <li><p>Another item in the same list.</p></li>
249
+ </ul>
250
+ ---
251
+ end
252
+
253
+ it "supports blockquotes in list items" do
254
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
255
+ * A list item with a blockquote:
256
+
257
+ > This is a blockquote
258
+ > inside a list item.
259
+ ---
260
+ <ul>
261
+ <li><p>A list item with a blockquote:</p>
262
+
263
+ <blockquote><p>This is a blockquote
264
+ inside a list item.</p></blockquote></li>
265
+ </ul>
266
+ ---
267
+ end
268
+
269
+ it "supports code blocks in list items" do
270
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
271
+ * A list item with a code block:
272
+
273
+ <code goes here>
274
+ ---
275
+ <ul>
276
+ <li><p>A list item with a code block:</p>
277
+
278
+ <pre><code>&lt;code goes here&gt;
279
+ </code></pre></li>
280
+ </ul>
281
+ ---
282
+ end
283
+
284
+ it "doesn't transform a backslash-escaped number-period-space into an ordered list" do
285
+ the_indented_markdown( <<-"---" ).should be_transformed_into(<<-"---").without_indentation
286
+ 1986\\. What a great season.
287
+ ---
288
+ <p>1986. What a great season.</p>
289
+ ---
290
+ end
291
+
292
+ end
293
+
294
+