pseudohikiparser 0.0.4 → 0.0.5.develop

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.
@@ -518,6 +518,159 @@ TEXT
518
518
  assert_equal(md_text, @formatter.format(tree).to_s)
519
519
  end
520
520
 
521
+ def test_decorator_for_verbatim
522
+ text = <<TEXT
523
+ //@code[ruby]
524
+ def bonjour!
525
+ puts "Bonjour!"
526
+ end
527
+ TEXT
528
+
529
+ gfm_text =<<TEXT
530
+ ```ruby
531
+ def bonjour!
532
+ puts "Bonjour!"
533
+ end
534
+ ```
535
+
536
+ TEXT
537
+
538
+ md_text = <<TEXT
539
+ def bonjour!
540
+ puts "Bonjour!"
541
+ end
542
+
543
+ TEXT
544
+
545
+ tree = BlockParser.parse(text.lines.to_a)
546
+ assert_equal(gfm_text, @gfm_formatter.format(tree).to_s)
547
+ assert_equal(md_text, @formatter.format(tree).to_s)
548
+ end
549
+
550
+ def test_decorator_for_verbatim_block
551
+ text = <<TEXT
552
+ //@code[ruby]
553
+ <<<
554
+ def bonjour!
555
+ puts "Bonjour!"
556
+ end
557
+ >>>
558
+ TEXT
559
+
560
+ gfm_text =<<TEXT
561
+ ```ruby
562
+ def bonjour!
563
+ puts "Bonjour!"
564
+ end
565
+ ```
566
+
567
+ TEXT
568
+
569
+ md_text = <<TEXT
570
+ def bonjour!
571
+ puts "Bonjour!"
572
+ end
573
+
574
+ TEXT
575
+
576
+ tree = BlockParser.parse(text.lines.to_a)
577
+ assert_equal(gfm_text, @gfm_formatter.format(tree).to_s)
578
+ assert_equal(md_text, @formatter.format(tree).to_s)
579
+ end
580
+
581
+ def test_without_sectioning_node
582
+ text = <<TEXT
583
+ ! Main title
584
+
585
+ !! first title in header
586
+
587
+ paragraph
588
+
589
+ !! second title in header
590
+
591
+ paragraph2
592
+
593
+ !! first subtitle in main part
594
+
595
+ paragraph3
596
+
597
+ paragraph4
598
+
599
+ TEXT
600
+
601
+ expected_text = <<HTML
602
+ # Main title
603
+
604
+ ## first title in header
605
+
606
+ paragraph
607
+
608
+ ## second title in header
609
+
610
+ paragraph2
611
+
612
+ ## first subtitle in main part
613
+
614
+ paragraph3
615
+
616
+ paragraph4
617
+
618
+ HTML
619
+
620
+ tree = BlockParser.parse(text.lines.to_a)
621
+ assert_equal(expected_text, @gfm_formatter.format(tree).to_s)
622
+ end
623
+
624
+ def test_sectioning_node
625
+ text = <<TEXT
626
+ ! Main title
627
+
628
+ //@begin[header]
629
+ !! first title in header
630
+
631
+ paragraph
632
+
633
+ !! second title in header
634
+
635
+ paragraph2
636
+
637
+ //@end[header]
638
+
639
+ !! first subtitle in main part
640
+
641
+ paragraph3
642
+
643
+ //@begin[#footer]
644
+
645
+ paragraph4
646
+
647
+ //@end[#footer]
648
+
649
+ TEXT
650
+
651
+ expected_text = <<HTML
652
+ # Main title
653
+
654
+ ## first title in header
655
+
656
+ paragraph
657
+
658
+ ## second title in header
659
+
660
+ paragraph2
661
+
662
+ ## first subtitle in main part
663
+
664
+ paragraph3
665
+
666
+ paragraph4
667
+
668
+ HTML
669
+
670
+ tree = BlockParser.parse(text.lines.to_a)
671
+ assert_equal(expected_text, @gfm_formatter.format(tree).to_s)
672
+ end
673
+
521
674
  def test_collect_headings
522
675
  text = <<TEXT
523
676
  !![main-heading] heading
@@ -265,4 +265,89 @@ TEXT
265
265
  assert_equal(expected_text_in_verbose_mode, PlainTextFormat.format(tree, { :verbose_mode => true }).to_s)
266
266
  assert_equal(expected_text, PlainTextFormat.format(tree, { :verbose_mode => false }).to_s)
267
267
  end
268
+
269
+ def test_without_sectioning_node
270
+ text = <<TEXT
271
+ ! Main title
272
+
273
+ !! first title in header
274
+
275
+ paragraph
276
+
277
+ !! second title in header
278
+
279
+ paragraph2
280
+
281
+ !! first subtitle in main part
282
+
283
+ paragraph3
284
+
285
+ paragraph4
286
+
287
+ TEXT
288
+
289
+ expected_text = <<HTML
290
+ Main title
291
+ first title in header
292
+ paragraph
293
+
294
+ second title in header
295
+ paragraph2
296
+
297
+ first subtitle in main part
298
+ paragraph3
299
+
300
+ paragraph4
301
+
302
+ HTML
303
+
304
+ tree = BlockParser.parse(text.lines.to_a)
305
+ assert_equal(expected_text, PlainTextFormat.format(tree, { :verbose_mode => false }).to_s)
306
+ end
307
+
308
+ def test_sectioning_node
309
+ text = <<TEXT
310
+ ! Main title
311
+
312
+ //@begin[header]
313
+ !! first title in header
314
+
315
+ paragraph
316
+
317
+ !! second title in header
318
+
319
+ paragraph2
320
+
321
+ //@end[header]
322
+
323
+ !! first subtitle in main part
324
+
325
+ paragraph3
326
+
327
+ //@begin[#footer]
328
+
329
+ paragraph4
330
+
331
+ //@end[#footer]
332
+
333
+ TEXT
334
+
335
+ expected_text = <<HTML
336
+ Main title
337
+ first title in header
338
+ paragraph
339
+
340
+ second title in header
341
+ paragraph2
342
+
343
+ first subtitle in main part
344
+ paragraph3
345
+
346
+ paragraph4
347
+
348
+ HTML
349
+
350
+ tree = BlockParser.parse(text.lines.to_a)
351
+ assert_equal(expected_text, PlainTextFormat.format(tree, { :verbose_mode => false }).to_s)
352
+ end
268
353
  end
@@ -13,11 +13,11 @@ end
13
13
  class TC_OptionManager < MiniTest::Unit::TestCase
14
14
  include PseudoHiki
15
15
 
16
- def test_set_options_from_command_line
16
+ def test_parse_command_line_options
17
17
  set_argv("-fx -s -m 'Table of Contents' -c css/with_toc.css wikipage.txt -o wikipage_with_toc.html")
18
18
 
19
19
  options = OptionManager.new
20
- options.set_options_from_command_line
20
+ options.parse_command_line_options
21
21
 
22
22
  assert_equal("xhtml1", options[:html_version].version)
23
23
  assert_equal(true, options[:split_main_heading])
@@ -27,11 +27,11 @@ class TC_OptionManager < MiniTest::Unit::TestCase
27
27
  assert_equal("wikipage_with_toc.html", File.basename(options[:output]))
28
28
  end
29
29
 
30
- def test_set_options_from_command_line2
30
+ def test_parse_command_line_options2
31
31
  set_argv("-f h -m 'Table of Contents' -w 'Title' -c css/with_toc.css wikipage.txt")
32
32
 
33
33
  options = OptionManager.new
34
- options.set_options_from_command_line
34
+ options.parse_command_line_options
35
35
 
36
36
  assert_equal("html4", options[:html_version].version)
37
37
  assert_equal(false, options[:split_main_heading])
@@ -51,7 +51,7 @@ LINES
51
51
  set_argv("-f h -m 'Table of Contents' -w 'Title' -c css/with_toc.css wikipage.txt")
52
52
 
53
53
  options = OptionManager.new
54
- options.set_options_from_command_line
54
+ options.parse_command_line_options
55
55
  options.set_options_from_input_file(input_data.each_line.to_a)
56
56
 
57
57
  assert_equal("Table of Contents set in the input file", options[:toc])
@@ -68,7 +68,7 @@ LINES
68
68
  set_argv("-F -f h -m 'Table of Contents' -w 'Title' -c css/with_toc.css wikipage.txt")
69
69
 
70
70
  options = OptionManager.new
71
- options.set_options_from_command_line
71
+ options.parse_command_line_options
72
72
  options.set_options_from_input_file(input_data.each_line.to_a)
73
73
 
74
74
  assert_equal("Table of Contents", options[:toc])
@@ -85,7 +85,7 @@ LINES
85
85
  set_argv("-F -f h -m 'Table of Contents' -c css/with_toc.css wikipage.txt")
86
86
 
87
87
  options = OptionManager.new
88
- options.set_options_from_command_line
88
+ options.parse_command_line_options
89
89
  options.set_options_from_input_file(input_data.each_line.to_a)
90
90
 
91
91
  assert_equal("Table of Contents", options[:toc])
@@ -101,12 +101,25 @@ LINES
101
101
  set_argv("-F -f h -m 'Table of Contents' -c css/with_toc.css wikipage.txt")
102
102
 
103
103
  options = OptionManager.new
104
- options.set_options_from_command_line
104
+ options.parse_command_line_options
105
105
  options.set_options_from_input_file(input_data.each_line.to_a)
106
106
 
107
107
  assert_equal("Table of Contents", options[:toc])
108
108
  assert_equal(nil, options[:title])
109
109
  end
110
+
111
+ def test_remove_bom
112
+ bom = "\xef\xbb\xbf"
113
+ string_without_bom = "a string without BOM"
114
+ string_with_bom = bom + string_without_bom
115
+ io_with_bom = StringIO.new(string_with_bom, "r")
116
+ io_without_bom = StringIO.new(string_without_bom, "r")
117
+
118
+ OptionManager.remove_bom(io_with_bom)
119
+ assert_equal(string_without_bom, io_with_bom.read)
120
+ OptionManager.remove_bom(io_without_bom)
121
+ assert_equal(string_without_bom, io_without_bom.read)
122
+ end
110
123
  end
111
124
 
112
125
  class TC_PageComposer < MiniTest::Unit::TestCase
@@ -138,17 +151,17 @@ HIKI
138
151
  def test_collect_nodes_for_table_of_contents
139
152
  set_argv("-fg -s -c css/with_toc.css wikipage.txt")
140
153
  options = OptionManager.new
141
- options.set_options_from_command_line
154
+ options.parse_command_line_options
142
155
  collected_nodes = [[["Heading1\n"]],
143
156
  [["Heading2\n"]],
144
157
  [["Heading2-1\n"]]]
145
158
 
146
159
  tree = BlockParser.parse(@input_lines)
147
- toc_nodes = PageComposer.new(options).collect_nodes_for_table_of_contents(tree)
160
+ toc_nodes = PageComposer::BaseComposer.new(options).send(:collect_nodes_for_table_of_contents, tree)
148
161
  assert_equal(collected_nodes, toc_nodes)
149
162
  end
150
163
 
151
- def test_create_plain_table_of_contents
164
+ def test_plain_composer_create_table_of_contents
152
165
  toc_in_plain_text = <<TEXT
153
166
  * Heading1
154
167
  * Heading2
@@ -157,14 +170,28 @@ TEXT
157
170
  set_argv("-fg -s -c css/with_toc.css wikipage.txt")
158
171
 
159
172
  options = OptionManager.new
160
- options.set_options_from_command_line
173
+ options.parse_command_line_options
174
+ toc = PageComposer::PlainComposer.new(options).create_table_of_contents(@parsed_tree)
161
175
 
162
- toc = PageComposer.new(options).create_plain_table_of_contents(@parsed_tree)
176
+ assert_equal(toc_in_plain_text, toc)
177
+ end
178
+
179
+ def test_gfm_composer_create_table_of_contents
180
+ toc_in_plain_text = <<TEXT
181
+ * [Heading1](#heading1)
182
+ * [Heading2](#heading2)
183
+ * [Heading2-1](#heading21)
184
+ TEXT
185
+ set_argv("-fg -s -c css/with_toc.css wikipage.txt")
186
+
187
+ options = OptionManager.new
188
+ options.parse_command_line_options
189
+ toc = PageComposer::GfmComposer.new(options).create_table_of_contents(@parsed_tree)
163
190
 
164
191
  assert_equal(toc_in_plain_text, toc)
165
192
  end
166
193
 
167
- def test_create_html_table_of_contents
194
+ def test_html_composer_create_table_of_contents
168
195
  toc_in_html = <<TEXT
169
196
  <ul>
170
197
  <li><a href="#HEADING1" title="toc_item: Heading1">Heading1
@@ -181,9 +208,8 @@ TEXT
181
208
  set_argv("-fh5 -s -c css/with_toc.css wikipage.txt")
182
209
 
183
210
  options = OptionManager.new
184
- options.set_options_from_command_line
185
-
186
- toc = PageComposer.new(options).create_html_table_of_contents(@parsed_tree).join
211
+ options.parse_command_line_options
212
+ toc = PageComposer::HtmlComposer.new(options).create_table_of_contents(@parsed_tree).join
187
213
 
188
214
  assert_equal(toc_in_html, toc)
189
215
  end
@@ -191,7 +217,7 @@ TEXT
191
217
  def test_create_table_of_contents
192
218
  set_argv("-c css/with_toc.css wikipage.txt")
193
219
  options = OptionManager.new
194
- options.set_options_from_command_line
220
+ options.parse_command_line_options
195
221
  toc = PageComposer.new(options).create_table_of_contents(@parsed_tree)
196
222
  assert_equal("", toc)
197
223
 
@@ -203,7 +229,7 @@ TEXT
203
229
 
204
230
  set_argv("-fg -m 'table of contents' -c css/with_toc.css wikipage.txt")
205
231
  options = OptionManager.new
206
- options.set_options_from_command_line
232
+ options.parse_command_line_options
207
233
  toc = PageComposer.new(options).create_table_of_contents(@parsed_tree)
208
234
  assert_equal(toc_in_gfm_text, toc)
209
235
 
@@ -222,11 +248,28 @@ TEXT
222
248
 
223
249
  set_argv("-fh5 -m 'table of contents' -c css/with_toc.css wikipage.txt")
224
250
  options = OptionManager.new
225
- options.set_options_from_command_line
251
+ options.parse_command_line_options
226
252
  toc = PageComposer.new(options).create_table_of_contents(@parsed_tree).join
227
253
  assert_equal(toc_in_html, toc)
228
254
  end
229
255
 
256
+ def test_html_composer_create_style
257
+ expected_style = <<STYLE
258
+ <style type="text/css">
259
+ h1 {
260
+ margin-left: 0.5em;
261
+ }
262
+ </style>
263
+ STYLE
264
+
265
+ set_argv("-c test_data/css/test.css wikipage.txt")
266
+ options = OptionManager.new
267
+ options.parse_command_line_options
268
+ test_data = File.join(File.dirname(__FILE__), "test_data/css/test.css")
269
+ style = PageComposer::HtmlComposer.new(options).create_style(test_data).to_s
270
+ assert_equal(expected_style, style)
271
+ end
272
+
230
273
  def test_compose_html
231
274
  expected_html =<<HTML
232
275
  <?xml version="1.0" encoding="UTF-8"?>
@@ -321,19 +364,61 @@ TEXT
321
364
 
322
365
  set_argv("-fh5 -m 'table of contents' -c css/with_toc.css wikipage.txt")
323
366
  options = OptionManager.new
324
- options.set_options_from_command_line
367
+ options.parse_command_line_options
325
368
 
326
369
  composed_html = PageComposer.new(options).compose_html(@input_lines).to_s
327
370
  assert_equal(expected_html, composed_html)
328
371
 
329
372
  set_argv("-fg -m 'table of contents' -c css/with_toc.css wikipage.txt")
330
373
  options = OptionManager.new
331
- options.set_options_from_command_line
374
+ options.parse_command_line_options
332
375
 
333
376
  composed_gfm_text = PageComposer.new(options).compose_html(@input_lines).join
334
377
  assert_equal(expected_gfm_text, composed_gfm_text)
335
378
  end
336
379
 
380
+ def test_compose_html_with_relative_links
381
+ expected_html =<<HTML
382
+ <?xml version="1.0" encoding="UTF-8"?>
383
+ <!DOCTYPE html>
384
+ <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
385
+ <head>
386
+ <meta charset="UTF-8" />
387
+ <title>wikipage</title>
388
+ <link href="css/with_toc.css" rel="stylesheet" type="text/css" />
389
+ </head>
390
+ <body>
391
+ <p>
392
+ a link in a paragraph <a href="./">http://www.example.org/</a>
393
+ </p>
394
+ <p>
395
+ another link <a href="index.html">for index.html</a> in a paragraph
396
+ </p>
397
+ <pre>
398
+ <a href="http://www.example.org/">http://www.example.org/</a>
399
+ </pre>
400
+ </body>
401
+ </html>
402
+ HTML
403
+
404
+ input_text = <<TEXT
405
+ a link in a paragraph http://www.example.org/
406
+
407
+ another link [[for index.html|http://www.example.org/index.html]] in a paragraph
408
+
409
+ <<<
410
+ http://www.example.org/
411
+ >>>
412
+ TEXT
413
+
414
+ set_argv("-fh5 -d 'www.example.org' --relative-links-in-html -c css/with_toc.css wikipage.txt")
415
+ options = OptionManager.new
416
+ options.parse_command_line_options
417
+
418
+ composed_html = PageComposer.new(options).compose_html(input_text).to_s
419
+ assert_equal(expected_html, composed_html)
420
+ end
421
+
337
422
  def test_output_in_gfm_with_toc
338
423
  input = <<TEXT.each_line.to_a
339
424
  //title: Test Data
@@ -372,7 +457,7 @@ GFM
372
457
  set_argv("-fg -s -c css/with_toc.css wikipage.txt")
373
458
 
374
459
  options = OptionManager.new
375
- options.set_options_from_command_line
460
+ options.parse_command_line_options
376
461
  options.set_options_from_input_file(input)
377
462
 
378
463
  html = PageComposer.new(options).compose_html(input).join
@@ -384,7 +469,7 @@ GFM
384
469
  current_auto_linker = BlockParser.auto_linker
385
470
  set_argv("--with-wikiname wikipage.txt")
386
471
  options = OptionManager.new
387
- options.set_options_from_command_line
472
+ options.parse_command_line_options
388
473
 
389
474
  assert_equal(AutoLink::WikiName, BlockParser.auto_linker.class)
390
475
 
@@ -443,14 +528,14 @@ HTML
443
528
 
444
529
  set_argv("-fh5 -c css/with_toc.css wikipage.txt")
445
530
  options = OptionManager.new
446
- options.set_options_from_command_line
531
+ options.parse_command_line_options
447
532
 
448
533
  composed_html = PageComposer.new(options).compose_html(verbatim_block_text).to_s
449
534
  assert_equal(expected_html, composed_html)
450
535
 
451
536
  set_argv("-fh5 -c css/with_toc.css wikipage.txt")
452
537
  options = OptionManager.new
453
- options.set_options_from_command_line
538
+ options.parse_command_line_options
454
539
 
455
540
  current_auto_linker = BlockParser.auto_linker
456
541
  BlockParser.auto_linker = AutoLink::Off
data/test/test_utils.rb CHANGED
@@ -37,5 +37,27 @@ TEXT
37
37
 
38
38
  assert_equal(selected_headings, nodes)
39
39
  end
40
+
41
+ def test_table_manager_guess_header_scope
42
+ table_with_row_header_text = <<TABLE
43
+ ||!header1||!header2||!header3
44
+ ||row1-1||row1-2||row1-3
45
+ ||row2-1||row2-2||row2-3
46
+ TABLE
47
+
48
+ table_with_col_header_text = <<TABLE
49
+ ||!header1||col1-1||col2-1
50
+ ||!header2||col1-2||col2-2
51
+ ||!header3||col1-3||col2-3
52
+ TABLE
53
+
54
+ table_manager = PseudoHiki::Utils::TableManager.new
55
+
56
+ table_with_row_header = PseudoHiki::BlockParser.parse(table_with_row_header_text)[0]
57
+ assert_equal("col", table_manager.guess_header_scope(table_with_row_header))
58
+
59
+ table_with_col_header = PseudoHiki::BlockParser.parse(table_with_col_header_text)[0]
60
+ assert_equal("row", table_manager.guess_header_scope(table_with_col_header))
61
+ end
40
62
  end
41
63
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pseudohikiparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5.develop
5
5
  platform: ruby
6
6
  authors:
7
7
  - HASHIMOTO, Naoki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-23 00:00:00.000000000 Z
11
+ date: 2016-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,21 +66,22 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.31'
69
- description: PseudoHikiParser is a parser of texts written in a Hiki like notation,
70
- and coverts them into HTML or other formats.
69
+ description: PseudoHikiParser parses texts written in a Hiki like notation, and coverts
70
+ them into HTML, Markdown or other formats.
71
71
  email:
72
72
  - hashimoto.naoki@gmail.com
73
73
  executables:
74
- - pseudohiki2html.rb
74
+ - pseudohiki2html
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
78
  - LICENSE
79
79
  - README.ja.md
80
80
  - README.md
81
- - bin/pseudohiki2html.rb
81
+ - bin/pseudohiki2html
82
82
  - lib/htmlelement.rb
83
83
  - lib/htmlelement/htmltemplate.rb
84
+ - lib/htmlelement/utils.rb
84
85
  - lib/pseudohiki/autolink.rb
85
86
  - lib/pseudohiki/blockparser.rb
86
87
  - lib/pseudohiki/converter.rb
@@ -89,18 +90,20 @@ files:
89
90
  - lib/pseudohiki/inlineparser.rb
90
91
  - lib/pseudohiki/markdownformat.rb
91
92
  - lib/pseudohiki/plaintextformat.rb
93
+ - lib/pseudohiki/sinatra_helpers.rb
92
94
  - lib/pseudohiki/treestack.rb
93
95
  - lib/pseudohiki/utils.rb
94
96
  - lib/pseudohiki/version.rb
95
97
  - lib/pseudohikiparser.rb
96
98
  - test/test_autolink.rb
97
99
  - test/test_blockparser.rb
100
+ - test/test_data/css/test.css
98
101
  - test/test_htmlelement.rb
102
+ - test/test_htmlelement_utils.rb
99
103
  - test/test_htmlformat.rb
100
104
  - test/test_htmlplugin.rb
101
105
  - test/test_htmltemplate.rb
102
106
  - test/test_inlineparser.rb
103
- - test/test_latexformat.rb
104
107
  - test/test_markdownformat.rb
105
108
  - test/test_plaintextformat.rb
106
109
  - test/test_pseudohiki2html.rb
@@ -122,9 +125,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
122
125
  version: 1.8.7
123
126
  required_rubygems_version: !ruby/object:Gem::Requirement
124
127
  requirements:
125
- - - ">="
128
+ - - ">"
126
129
  - !ruby/object:Gem::Version
127
- version: '0'
130
+ version: 1.3.1
128
131
  requirements: []
129
132
  rubyforge_project:
130
133
  rubygems_version: 2.2.3
@@ -144,5 +147,6 @@ test_files:
144
147
  - test/test_htmlformat.rb
145
148
  - test/test_htmlplugin.rb
146
149
  - test/test_autolink.rb
150
+ - test/test_htmlelement_utils.rb
147
151
  - test/test_utils.rb
148
- - test/test_latexformat.rb
152
+ - test/test_data/css/test.css
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'minitest/autorun'
4
- require 'pseudohiki/latexformat'
5
-
6
- class TC_LaTeXTag < MiniTest::Unit::TestCase
7
- include PseudoHiki
8
-
9
- def test_escape
10
- unescaped = '# $ % \\ & {} ^ _ ~'
11
- escaped = '\\# \\$ \\% \\textbackslash{} \\& \\{\\} \\^{} \\_ \\~{}'
12
- assert_equal(escaped, LaTeXTag.escape(unescaped))
13
- end
14
-
15
- def test_format_options
16
- command = LaTeXTag.new("documentclass")
17
- end
18
- end
19
-