wikicloth 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,58 @@
1
+ The <code><lua></code> tag allows you to embed Lua code in your templates and wiki documents.
2
+
3
+ <source lang="lua">
4
+ <lua where="wall">
5
+ function bottle(x)
6
+ if x > 1 then
7
+ return x .. " bottles of beer"
8
+ elseif x == 1 then
9
+ return "One bottle of beer"
10
+ else
11
+ return "No more bottles of beer"
12
+ end
13
+ end
14
+
15
+ function count(x)
16
+ output = "<pre>"
17
+ for beer = x, 1, -1 do
18
+ output = output .. bottle(beer) .. " on the " .. where .. ",\n"
19
+ output = output .. bottle(beer) .. ",\n"
20
+ output = output .. "Take one down, pass it around,\n"
21
+ output = output .. bottle(beer-1) .. " on the " .. where .. ".\n"
22
+ output = output .. "\n\n"
23
+ end
24
+ return output .. "</pre>"
25
+ end
26
+ </lua>
27
+
28
+ ==99 Bottles of Beer==
29
+ {{#luaexpr:count(99)}}
30
+ </source>
31
+
32
+ ==In Action==
33
+ <lua where="floor">
34
+ function bottle(x)
35
+ if x > 1 then
36
+ return x .. " bottles of beer"
37
+ elseif x == 1 then
38
+ return "One bottle of beer"
39
+ else
40
+ return "No more bottles of beer"
41
+ end
42
+ end
43
+
44
+ function count(x)
45
+ output = "<pre>"
46
+ for beer = x, 1, -1 do
47
+ output = output .. bottle(beer) .. " on the " .. where .. ",\n"
48
+ output = output .. bottle(beer) .. ",\n"
49
+ output = output .. "Take one down, pass it around,\n"
50
+ output = output .. bottle(beer-1) .. " on the " .. where .. ".\n"
51
+ output = output .. "\n\n"
52
+ end
53
+ return output .. "</pre>"
54
+ end
55
+ </lua>
56
+
57
+ ==99 Bottles of Beer==
58
+ {{#luaexpr:count(99)}}
@@ -0,0 +1,264 @@
1
+ :af:
2
+ hello: "world"
3
+ :am:
4
+ hello: "world"
5
+ :ang:
6
+ hello: "world"
7
+ :ar:
8
+ hello: "world"
9
+ :arc:
10
+ hello: "world"
11
+ :ast:
12
+ hello: "world"
13
+ :az:
14
+ hello: "world"
15
+ :bn:
16
+ hello: "world"
17
+ :zh_min_nan:
18
+ hello: "world"
19
+ :ba:
20
+ hello: "world"
21
+ :be:
22
+ hello: "world"
23
+ :be_x_old:
24
+ hello: "world"
25
+ :bar:
26
+ hello: "world"
27
+ :bs:
28
+ hello: "world"
29
+ :br:
30
+ hello: "world"
31
+ :bg:
32
+ hello: "world"
33
+ :ca:
34
+ hello: "world"
35
+ :ceb:
36
+ hello: "world"
37
+ :cs:
38
+ hello: "world"
39
+ :co:
40
+ hello: "world"
41
+ :cy:
42
+ hello: "world"
43
+ :da:
44
+ hello: "world"
45
+ :de:
46
+ hello: "world"
47
+ :dv:
48
+ hello: "world"
49
+ :et:
50
+ hello: "world"
51
+ :el:
52
+ hello: "world"
53
+ :es:
54
+ hello: "world"
55
+ :eo:
56
+ hello: "world"
57
+ :eu:
58
+ hello: "world"
59
+ :fa:
60
+ hello: "world"
61
+ :fo:
62
+ hello: "world"
63
+ :fr:
64
+ hello: "world"
65
+ :fy:
66
+ hello: "world"
67
+ :ga:
68
+ hello: "world"
69
+ :gd:
70
+ hello: "world"
71
+ :gl:
72
+ hello: "world"
73
+ :gan:
74
+ hello: "world"
75
+ :ko:
76
+ hello: "world"
77
+ :hy:
78
+ hello: "world"
79
+ :hi:
80
+ hello: "world"
81
+ :hr:
82
+ hello: "world"
83
+ :io:
84
+ hello: "world"
85
+ :id:
86
+ hello: "world"
87
+ :is:
88
+ hello: "world"
89
+ :it:
90
+ hello: "world"
91
+ :he:
92
+ hello: "world"
93
+ :jv:
94
+ hello: "world"
95
+ :kn:
96
+ hello: "world"
97
+ :pam:
98
+ hello: "world"
99
+ :ka:
100
+ hello: "world"
101
+ :sw:
102
+ hello: "world"
103
+ :ku:
104
+ hello: "world"
105
+ :la:
106
+ hello: "world"
107
+ :lv:
108
+ hello: "world"
109
+ :lb:
110
+ hello: "world"
111
+ :lt:
112
+ hello: "world"
113
+ :hu:
114
+ hello: "world"
115
+ :mk:
116
+ hello: "world"
117
+ :mg:
118
+ hello: "world"
119
+ :ml:
120
+ hello: "world"
121
+ :mr:
122
+ hello: "world"
123
+ :arz:
124
+ hello: "world"
125
+ :ms:
126
+ hello: "world"
127
+ :nah:
128
+ hello: "world"
129
+ :nl:
130
+ hello: "world"
131
+ :ja:
132
+ hello: "world"
133
+ :no:
134
+ hello: "world"
135
+ :nn:
136
+ hello: "world"
137
+ :oc:
138
+ hello: "world"
139
+ :uz:
140
+ hello: "world"
141
+ :pap:
142
+ hello: "world"
143
+ :nds:
144
+ hello: "world"
145
+ :pl:
146
+ hello: "world"
147
+ :pt:
148
+ hello: "world"
149
+ :ksh:
150
+ hello: "world"
151
+ :ro:
152
+ hello: "world"
153
+ :qu:
154
+ hello: "world"
155
+ :ru:
156
+ hello: "world"
157
+ :sa:
158
+ hello: "world"
159
+ :sco:
160
+ hello: "world"
161
+ :sq:
162
+ hello: "world"
163
+ :scn:
164
+ hello: "world"
165
+ :simple:
166
+ hello: "world"
167
+ :sk:
168
+ hello: "world"
169
+ :sl:
170
+ hello: "world"
171
+ :sr:
172
+ hello: "world"
173
+ :sh:
174
+ hello: "world"
175
+ :fi:
176
+ hello: "world"
177
+ :sv:
178
+ hello: "world"
179
+ :tl:
180
+ hello: "world"
181
+ :ta:
182
+ hello: "world"
183
+ :th:
184
+ hello: "world"
185
+ :tg:
186
+ hello: "world"
187
+ :tr:
188
+ hello: "world"
189
+ :uk:
190
+ hello: "world"
191
+ :ur:
192
+ hello: "world"
193
+ :vi:
194
+ hello: "world"
195
+ :zh_classical:
196
+ hello: "world"
197
+ :yi:
198
+ hello: "world"
199
+ :bat_smg:
200
+ hello: "world"
201
+ :zh:
202
+ hello: "world"
203
+ :lo:
204
+ hello: "world"
205
+ :en:
206
+ hello: "world"
207
+ :gn:
208
+ hello: "world"
209
+ :map_bms:
210
+ hello: "world"
211
+ :pdc:
212
+ hello: "world"
213
+ :eml:
214
+ hello: "world"
215
+ :ki:
216
+ hello: "world"
217
+ :hak:
218
+ hello: "world"
219
+ :ia:
220
+ hello: "world"
221
+ :ky:
222
+ hello: "world"
223
+ :lad:
224
+ hello: "world"
225
+ :nds_nl:
226
+ hello: "world"
227
+ :ne:
228
+ hello: "world"
229
+ :nrm:
230
+ hello: "world"
231
+ :nov:
232
+ hello: "world"
233
+ :sm:
234
+ hello: "world"
235
+ :si:
236
+ hello: "world"
237
+ :su:
238
+ hello: "world"
239
+ :kab:
240
+ hello: "world"
241
+ :te:
242
+ hello: "world"
243
+ :vec:
244
+ hello: "world"
245
+ :fiu_vro:
246
+ hello: "world"
247
+ :wa:
248
+ hello: "world"
249
+ :war:
250
+ hello: "world"
251
+ :wuu:
252
+ hello: "world"
253
+ :zh_yue:
254
+ hello: "world"
255
+ :diq:
256
+ hello: "world"
257
+ :als:
258
+ hello: "world"
259
+ :bjn:
260
+ hello: "world"
261
+ :ce:
262
+ hello: "world"
263
+ :ht:
264
+ hello: "world"
@@ -4,4 +4,5 @@ gem "test-unit", ">= 2.0.5"
4
4
  require 'active_support'
5
5
  require 'active_support/test_case'
6
6
  require 'test/unit'
7
+ I18n.load_path << File.join(File.dirname(__FILE__),'locales.yml')
7
8
  require File.join(File.dirname(__FILE__),'../init')
@@ -35,6 +35,135 @@ end
35
35
 
36
36
  class WikiClothTest < ActiveSupport::TestCase
37
37
 
38
+ test "nested bold/italic markup" do
39
+ wiki = WikiParser.new(:data => "''Mars goes around the Sun once in a Martian '''year''', or 1.88 Earth '''years'''.''")
40
+ data = wiki.to_html
41
+ assert data.include?("<i>Mars goes around the Sun once in a Martian <b>year</b>, or 1.88 Earth <b>years</b>.</i>")
42
+ end
43
+
44
+ test "google charts math tag" do
45
+ wiki = WikiParser.new(:data => "<math>1+1=2</math>", :math_formatter => :google)
46
+ data = wiki.to_html
47
+ assert data.include?("https://chart.googleapis.com/chart")
48
+ end
49
+
50
+ test "uc lc ucfirst lcfirst" do
51
+ wiki = WikiParser.new(:data => "{{uc:hello}} -- {{lc:BOO}} -- {{ucfirst:john}} -- {{lcfirst:TEST}}")
52
+ data = wiki.to_html
53
+ assert data =~ /HELLO/
54
+ assert data !~ /hello/
55
+ assert data =~ /boo/
56
+ assert data !~ /BOO/
57
+ assert data =~ /John/
58
+ assert data !~ /john/
59
+ assert data =~ /tEST/
60
+ assert data !~ /TEST/
61
+ end
62
+
63
+ test "plural parser function" do
64
+ wiki = WikiParser.new(:data => "{{plural:1|is|are}}")
65
+ data = wiki.to_html
66
+ assert data =~ /is/
67
+
68
+ wiki = WikiParser.new(:data => "{{plural:2|is|are}}")
69
+ data = wiki.to_html
70
+ assert data =~ /are/
71
+
72
+ wiki = WikiParser.new(:data => "{{plural:14/2|is|are}}")
73
+ data = wiki.to_html
74
+ assert data =~ /are/
75
+
76
+ wiki = WikiParser.new(:data => "{{plural:14/2-6|is|are}}")
77
+ data = wiki.to_html
78
+ assert data =~ /is/
79
+ end
80
+
81
+ test "parser functions on multiple lines" do
82
+ wiki = WikiParser.new(:data => "{{
83
+ #if:
84
+ |hello world
85
+ |{{
86
+ #if:test
87
+ |boo
88
+ |
89
+ }}
90
+ }}")
91
+ data = wiki.to_html
92
+ assert data =~ /boo/
93
+ end
94
+
95
+ test "wiki variables" do
96
+ wiki = WikiParser.new(:data => "{{PAGENAME}}", :params => { "PAGENAME" => "Main_Page" })
97
+ data = wiki.to_html
98
+ assert data =~ /Main_Page/
99
+ end
100
+
101
+ test "references" do
102
+ wiki = WikiParser.new(:data => "hello <ref name=\"test\">This is a reference</ref> world <ref name=\"test\"/>")
103
+ data = wiki.to_html
104
+ assert data !~ /This is a reference/
105
+ assert data =~ /sup/
106
+ assert data =~ /cite_ref-test_1-0/
107
+ assert data =~ /cite_ref-test_1-1/
108
+
109
+ wiki = WikiParser.new(:data => "hello <ref name=\"test\">This is a reference</ref> world <ref name=\"test\"/>\n==References==\n<references/>")
110
+ data = wiki.to_html
111
+ assert data =~ /This is a reference/
112
+
113
+ # reference groups
114
+ wiki = WikiParser.new(:data => "hello <ref>one</ref><ref>two</ref><ref group=\"other\">three</ref><ref>four</ref>\n==References==\n<references/>")
115
+ data = wiki.to_html
116
+ assert data =~ /one/
117
+ assert data =~ /two/
118
+ assert data !~ /three/
119
+ assert data =~ /four/
120
+
121
+ wiki = WikiParser.new(:data => "hello <ref>one</ref><ref>two</ref><ref group=\"other\">three</ref><ref>four</ref>\n==References==\n<references group=\"other\"/>")
122
+ data = wiki.to_html
123
+ assert data !~ /one/
124
+ assert data !~ /two/
125
+ assert data =~ /three/
126
+ assert data !~ /four/
127
+ end
128
+
129
+ test "localised language names" do
130
+ wiki = WikiParser.new(:data => "{{#language:de}}", :locale => :de)
131
+ assert wiki.to_html =~ /Deutsch/
132
+
133
+ wiki = WikiParser.new(:data => "{{#language:de}}", :locale => :en)
134
+ assert wiki.to_html =~ /German/
135
+ end
136
+
137
+ test "localised behavior switches" do
138
+ wiki = WikiParser.new(:data => "==test==", :locale => :de)
139
+ assert wiki.to_html =~ /Bearbeiten/
140
+ wiki = WikiParser.new(:data => "__ABSCHNITTE_NICHT_BEARBEITEN__\n==test==")
141
+ data = wiki.to_html
142
+ assert data =~ /edit/
143
+ wiki = WikiParser.new(:data => "__ABSCHNITTE_NICHT_BEARBEITEN__\n==test==", :locale => :de)
144
+ data = wiki.to_html
145
+ assert data !~ /ABSCHNITTE_NICHT_BEARBEITEN/
146
+ assert data !~ /Bearbeiten/
147
+ end
148
+
149
+ test "namespace localisation" do
150
+ assert WikiCloth::Parser.localise_ns("File") == "File"
151
+ assert WikiCloth::Parser.localise_ns("Image") == "File"
152
+ assert WikiCloth::Parser.localise_ns("Datei") == "File"
153
+ assert WikiCloth::Parser.localise_ns("File",:de) == "Datei"
154
+ wiki = WikiParser.new(:data => "{{ns:File}}", :locale => :de)
155
+ assert wiki.to_html =~ /Datei/
156
+
157
+ wiki = WikiParser.new(:data => "{{ns:Image}}", :locale => :de)
158
+ assert wiki.to_html =~ /Datei/
159
+ end
160
+
161
+ test "headings inside of pre tags" do
162
+ wiki = WikiParser.new(:data => "<pre>\n\n== heading ==\n\n</pre>")
163
+ data = wiki.to_html
164
+ assert data !~ /h2/
165
+ end
166
+
38
167
  test "math tag" do
39
168
  wiki = WikiParser.new(:data => "<math>1-\frac{k}{|E(G_j)|}</math>")
40
169
  begin
@@ -50,7 +179,7 @@ class WikiClothTest < ActiveSupport::TestCase
50
179
  data = wiki.to_html
51
180
  assert wiki.external_links.size == 38
52
181
  assert wiki.references.size == 76
53
- assert wiki.internal_links.size == 322
182
+ assert wiki.internal_links.size == 432 #322
54
183
  assert wiki.categories.size == 27
55
184
  assert wiki.languages.size == 101
56
185
  end
@@ -181,6 +310,12 @@ EOS
181
310
  assert data =~ /busted/
182
311
  end
183
312
 
313
+ test "nested lists" do
314
+ wiki = WikiParser.new(:data => "# one\n#* eee\n#* eee\n# two\n# three")
315
+ data = wiki.to_html
316
+ assert data.include?("<ol><li>one<ul><li>eee</li><li>eee</li></ul></li><li>two</li><li>three</li></ol>")
317
+ end
318
+
184
319
  test "lists" do
185
320
  wiki = WikiParser.new(:data => "* item 1\n* item 2\n* item 3\n")
186
321
  data = wiki.to_html
@@ -208,7 +343,7 @@ EOS
208
343
  data = wiki.to_html
209
344
  assert data =~ /<i>testing<\/i>/
210
345
  assert data =~ /<b>123<\/b>/
211
- assert data =~ /<b><i>echo<\/i><\/b>/
346
+ assert data =~ /<i><b>echo<\/b><\/i>/
212
347
  end
213
348
 
214
349
  test "sanitize html" do
@@ -228,18 +363,10 @@ EOS
228
363
  test "disable edit stuff" do
229
364
  wiki = WikiParser.new(:data => "= Hallo =")
230
365
  data = wiki.to_html
231
- if RUBY_VERSION == "1.8.7"
232
- assert_equal data, "\n<p><h1><span class=\"editsection\">&#91;<a href=\"?section=Hallo\" title=\"Edit section: Hallo\">edit</a>&#93;</span> <span class=\"mw-headline\" id=\"Hallo\"><a name=\"Hallo\">Hallo</a></span></h1></p>"
233
- else
234
- assert_equal data, "\n<p><h1><span class=\"editsection\">&#91;<a href=\"?section=Hallo\" title=\"Edit section: Hallo\">edit</a>&#93;</span> <span id=\"Hallo\" class=\"mw-headline\"><a name=\"Hallo\">Hallo</a></span></h1></p>"
235
- end
366
+ assert data =~ /editsection/
236
367
 
237
368
  data = wiki.to_html(:noedit => true)
238
- if RUBY_VERSION == "1.8.7"
239
- assert_equal data, "\n<p><h1><span class=\"mw-headline\" id=\"Hallo\"><a name=\"Hallo\">Hallo</a></span></h1></p>"
240
- else
241
- assert_equal data, "\n<p><h1><span id=\"Hallo\" class=\"mw-headline\"><a name=\"Hallo\">Hallo</a></span></h1></p>"
242
- end
369
+ assert data !~ /editsection/
243
370
  end
244
371
 
245
372
  test "render toc" do
@@ -269,11 +396,7 @@ EOS
269
396
  test "empty item in toc" do
270
397
  wiki = WikiCloth::WikiCloth.new({:data => "__TOC__\n=A="})
271
398
  data = wiki.render
272
- if RUBY_VERSION == "1.8.7"
273
- assert_equal data, "\n<p><table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">A</a></li></ul></td></tr></table>\n<h1><span class=\"editsection\">&#91;<a href=\"?section=A\" title=\"Edit section: A\">edit</a>&#93;</span> <span class=\"mw-headline\" id=\"A\"><a name=\"A\">A</a></span></h1></p>"
274
- else
275
- assert_equal data, "\n<p><table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">A</a></li></ul></td></tr></table>\n<h1><span class=\"editsection\">&#91;<a href=\"?section=A\" title=\"Edit section: A\">edit</a>&#93;</span> <span id=\"A\" class=\"mw-headline\"><a name=\"A\">A</a></span></h1></p>"
276
- end
399
+ assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">A</a></li></ul></td></tr></table>")
277
400
  end
278
401
 
279
402
  test "pre at beginning" do
@@ -285,20 +408,12 @@ EOS
285
408
  test "toc declared as list" do
286
409
  wiki = WikiCloth::WikiCloth.new({:data => "__TOC__\n=A=\n==B==\n===C==="})
287
410
  data = wiki.render
288
- if RUBY_VERSION == "1.8.7"
289
- assert_equal data, "\n<p><table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">A</a><ul><li><a href=\"#B\">B</a><ul><li><a href=\"#C\">C</a></li></ul></ul></ul></td></tr></table>\n<h1><span class=\"editsection\">&#91;<a href=\"?section=A\" title=\"Edit section: A\">edit</a>&#93;</span> <span class=\"mw-headline\" id=\"A\"><a name=\"A\">A</a></span></h1>\n<h2><span class=\"editsection\">&#91;<a href=\"?section=B\" title=\"Edit section: B\">edit</a>&#93;</span> <span class=\"mw-headline\" id=\"B\"><a name=\"B\">B</a></span></h2>\n<h3><span class=\"editsection\">&#91;<a href=\"?section=C\" title=\"Edit section: C\">edit</a>&#93;</span> <span class=\"mw-headline\" id=\"C\"><a name=\"C\">C</a></span></h3></p>"
290
- else
291
- assert_equal data, "\n<p><table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">A</a><ul><li><a href=\"#B\">B</a><ul><li><a href=\"#C\">C</a></li></ul></ul></ul></td></tr></table>\n<h1><span class=\"editsection\">&#91;<a href=\"?section=A\" title=\"Edit section: A\">edit</a>&#93;</span> <span id=\"A\" class=\"mw-headline\"><a name=\"A\">A</a></span></h1>\n<h2><span class=\"editsection\">&#91;<a href=\"?section=B\" title=\"Edit section: B\">edit</a>&#93;</span> <span id=\"B\" class=\"mw-headline\"><a name=\"B\">B</a></span></h2>\n<h3><span class=\"editsection\">&#91;<a href=\"?section=C\" title=\"Edit section: C\">edit</a>&#93;</span> <span id=\"C\" class=\"mw-headline\"><a name=\"C\">C</a></span></h3></p>"
292
- end
411
+ assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">A</a><ul><li><a href=\"#B\">B</a><ul><li><a href=\"#C\">C</a></li></ul></ul></ul></td></tr></table>")
293
412
  end
294
413
 
295
414
  test "toc numbered" do
296
415
  wiki = WikiCloth::WikiCloth.new({:data => "=A=\n=B=\n==C==\n==D==\n===E===\n===F===\n====G====\n====H====\n==I==\n=J=\n=K=\n===L===\n===M===\n====N====\n====O===="})
297
416
  data = wiki.render(:noedit => true, :toc_numbered => true)
298
- if RUBY_VERSION == "1.8.7"
299
- assert_equal data, "\n<p><table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">1 A</a></li><li><a href=\"#B\">2 B</a><ul><li><a href=\"#C\">2.1 C</a></li><li><a href=\"#D\">2.2 D</a><ul><li><a href=\"#E\">2.2.1 E</a></li><li><a href=\"#F\">2.2.2 F</a><ul><li><a href=\"#G\">2.2.2.1 G</a></li><li><a href=\"#H\">2.2.2.2 H</a></li></ul></ul><li><a href=\"#I\">2.3 I</a></li></ul><li><a href=\"#J\">3 J</a></li><li><a href=\"#K\">4 K</a><ul><ul><li><a href=\"#L\">4.1 L</a></li><li><a href=\"#M\">4.2 M</a><ul><li><a href=\"#N\">4.2.1 N</a></li><li><a href=\"#O\">4.2.2 O</a></li></ul></ul></ul></ul></td></tr></table><h1><span class=\"mw-headline\" id=\"A\"><a name=\"A\">A</a></span></h1>\n<h1><span class=\"mw-headline\" id=\"B\"><a name=\"B\">B</a></span></h1>\n<h2><span class=\"mw-headline\" id=\"C\"><a name=\"C\">C</a></span></h2>\n<h2><span class=\"mw-headline\" id=\"D\"><a name=\"D\">D</a></span></h2>\n<h3><span class=\"mw-headline\" id=\"E\"><a name=\"E\">E</a></span></h3>\n<h3><span class=\"mw-headline\" id=\"F\"><a name=\"F\">F</a></span></h3>\n<h4><span class=\"mw-headline\" id=\"G\"><a name=\"G\">G</a></span></h4>\n<h4><span class=\"mw-headline\" id=\"H\"><a name=\"H\">H</a></span></h4>\n<h2><span class=\"mw-headline\" id=\"I\"><a name=\"I\">I</a></span></h2>\n<h1><span class=\"mw-headline\" id=\"J\"><a name=\"J\">J</a></span></h1>\n<h1><span class=\"mw-headline\" id=\"K\"><a name=\"K\">K</a></span></h1>\n<h3><span class=\"mw-headline\" id=\"L\"><a name=\"L\">L</a></span></h3>\n<h3><span class=\"mw-headline\" id=\"M\"><a name=\"M\">M</a></span></h3>\n<h4><span class=\"mw-headline\" id=\"N\"><a name=\"N\">N</a></span></h4>\n<h4><span class=\"mw-headline\" id=\"O\"><a name=\"O\">O</a></span></h4></p>"
300
- else
301
- assert_equal data, "\n<p><table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">1 A</a></li><li><a href=\"#B\">2 B</a><ul><li><a href=\"#C\">2.1 C</a></li><li><a href=\"#D\">2.2 D</a><ul><li><a href=\"#E\">2.2.1 E</a></li><li><a href=\"#F\">2.2.2 F</a><ul><li><a href=\"#G\">2.2.2.1 G</a></li><li><a href=\"#H\">2.2.2.2 H</a></li></ul></ul><li><a href=\"#I\">2.3 I</a></li></ul><li><a href=\"#J\">3 J</a></li><li><a href=\"#K\">4 K</a><ul><ul><li><a href=\"#L\">4.1 L</a></li><li><a href=\"#M\">4.2 M</a><ul><li><a href=\"#N\">4.2.1 N</a></li><li><a href=\"#O\">4.2.2 O</a></li></ul></ul></ul></ul></td></tr></table><h1><span id=\"A\" class=\"mw-headline\"><a name=\"A\">A</a></span></h1>\n<h1><span id=\"B\" class=\"mw-headline\"><a name=\"B\">B</a></span></h1>\n<h2><span id=\"C\" class=\"mw-headline\"><a name=\"C\">C</a></span></h2>\n<h2><span id=\"D\" class=\"mw-headline\"><a name=\"D\">D</a></span></h2>\n<h3><span id=\"E\" class=\"mw-headline\"><a name=\"E\">E</a></span></h3>\n<h3><span id=\"F\" class=\"mw-headline\"><a name=\"F\">F</a></span></h3>\n<h4><span id=\"G\" class=\"mw-headline\"><a name=\"G\">G</a></span></h4>\n<h4><span id=\"H\" class=\"mw-headline\"><a name=\"H\">H</a></span></h4>\n<h2><span id=\"I\" class=\"mw-headline\"><a name=\"I\">I</a></span></h2>\n<h1><span id=\"J\" class=\"mw-headline\"><a name=\"J\">J</a></span></h1>\n<h1><span id=\"K\" class=\"mw-headline\"><a name=\"K\">K</a></span></h1>\n<h3><span id=\"L\" class=\"mw-headline\"><a name=\"L\">L</a></span></h3>\n<h3><span id=\"M\" class=\"mw-headline\"><a name=\"M\">M</a></span></h3>\n<h4><span id=\"N\" class=\"mw-headline\"><a name=\"N\">N</a></span></h4>\n<h4><span id=\"O\" class=\"mw-headline\"><a name=\"O\">O</a></span></h4></p>"
302
- end
417
+ assert data.include?("<table id=\"toc\" class=\"toc\" summary=\"Contents\"><tr><td><div style=\"font-weight:bold\">Table of Contents</div><ul></li><li><a href=\"#A\">1 A</a></li><li><a href=\"#B\">2 B</a><ul><li><a href=\"#C\">2.1 C</a></li><li><a href=\"#D\">2.2 D</a><ul><li><a href=\"#E\">2.2.1 E</a></li><li><a href=\"#F\">2.2.2 F</a><ul><li><a href=\"#G\">2.2.2.1 G</a></li><li><a href=\"#H\">2.2.2.2 H</a></li></ul></ul><li><a href=\"#I\">2.3 I</a></li></ul><li><a href=\"#J\">3 J</a></li><li><a href=\"#K\">4 K</a><ul><ul><li><a href=\"#L\">4.1 L</a></li><li><a href=\"#M\">4.2 M</a><ul><li><a href=\"#N\">4.2.1 N</a></li><li><a href=\"#O\">4.2.2 O</a></li></ul></ul></ul></ul></td></tr></table>")
303
418
  end
304
419
  end