asciidoctor-doctest 2.0.0.beta.4 → 2.0.0.beta.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.adoc +58 -0
  3. data/LICENSE +21 -0
  4. data/README.adoc +310 -0
  5. data/asciidoctor-doctest.gemspec +48 -0
  6. data/data/examples/asciidoc/embedded.adoc +15 -0
  7. data/data/examples/asciidoc/preamble.adoc +1 -2
  8. data/data/examples/asciidoc/section.adoc +9 -0
  9. data/data/examples/asciidoc/toc.adoc +21 -9
  10. data/lib/asciidoctor/doctest/html/converter.rb +1 -1
  11. data/lib/asciidoctor/doctest/io/asciidoc.rb +2 -3
  12. data/lib/asciidoctor/doctest/io/base.rb +1 -1
  13. data/lib/asciidoctor/doctest/io/xml.rb +1 -1
  14. data/lib/asciidoctor/doctest/test_reporter.rb +3 -3
  15. data/lib/asciidoctor/doctest/version.rb +1 -1
  16. metadata +20 -69
  17. data/doc/img/doctest-diag.odf +0 -0
  18. data/doc/img/doctest-diag.svg +0 -56
  19. data/doc/img/failing-test-term.gif +0 -0
  20. data/features/README +0 -1
  21. data/features/fixtures/html-slim/Rakefile +0 -9
  22. data/features/fixtures/html-slim/examples/asciidoc/document.adoc +0 -4
  23. data/features/fixtures/html-slim/examples/asciidoc/inline_quoted.adoc +0 -2
  24. data/features/fixtures/html-slim/examples/asciidoc/quote.adoc +0 -12
  25. data/features/fixtures/html-slim/examples/html/document.html +0 -7
  26. data/features/fixtures/html-slim/examples/html/quote.html +0 -26
  27. data/features/fixtures/html-slim/templates/document.html.slim +0 -13
  28. data/features/fixtures/html-slim/templates/embedded.html.slim +0 -3
  29. data/features/fixtures/html-slim/templates/inline_quoted.html.slim +0 -8
  30. data/features/fixtures/html-slim/templates/paragraph.html.slim +0 -1
  31. data/features/fixtures/html-slim/templates/quote.html.slim +0 -7
  32. data/features/generator_html.feature +0 -171
  33. data/features/step_definitions/doctest_steps.rb +0 -5
  34. data/features/support/env.rb +0 -24
  35. data/features/test_html.feature +0 -98
  36. data/spec/asciidoc_converter_spec.rb +0 -64
  37. data/spec/example_spec.rb +0 -180
  38. data/spec/factory_spec.rb +0 -46
  39. data/spec/html/converter_spec.rb +0 -137
  40. data/spec/html_normalizer_spec.rb +0 -70
  41. data/spec/io/asciidoc_spec.rb +0 -139
  42. data/spec/io/xml_spec.rb +0 -141
  43. data/spec/minitest_diffy_spec.rb +0 -59
  44. data/spec/no_fallback_template_converter_spec.rb +0 -38
  45. data/spec/shared_examples/base_examples.rb +0 -289
  46. data/spec/spec_helper.rb +0 -39
  47. data/spec/support/matchers.rb +0 -7
  48. data/spec/tester_spec.rb +0 -153
@@ -2,6 +2,21 @@
2
2
  :showtitle:
3
3
  = The Dangerous and Thrilling Documentation Chronicles
4
4
 
5
+ // .toc
6
+ // Actual TOC content is rendered in the outline template, this template
7
+ // usually renders just a "border".
8
+ = Document Title
9
+ :toc:
10
+
11
+ == Cavern Glow
12
+
13
+ // .toc-title
14
+ = Document Title
15
+ :toc:
16
+ :toc-title: Table of Adventures
17
+
18
+ == Cavern Glow
19
+
5
20
  // .footnotes
6
21
  The hail-and-rainbow protocol can be initiated at five levels: double, tertiary, supernumerary,
7
22
  supermassive, and apocalyptic party.footnote:[The double hail-and-rainbow level makes my toes tingle.]
@@ -9,8 +9,7 @@ The river rages through the cavern, rattling its content.
9
9
 
10
10
  // .toc-placement-preamble
11
11
  = The Dangerous and Thrilling Documentation Chronicles
12
- :toc:
13
- :toc-placement: preamble
12
+ :toc: preamble
14
13
 
15
14
  This journey begins on a bleary Monday morning.
16
15
  Our intrepid team is in desperate need of double shot mochas, but the milk expired eight days ago.
@@ -77,3 +77,12 @@
77
77
  === Syntax
78
78
 
79
79
  == Terms and Concepts
80
+
81
+ // .book-part-title
82
+ // Subsequent level-0 titles are allowed only for doctype book.
83
+ = Document Title
84
+ :doctype: book
85
+
86
+ = Part Title
87
+
88
+ == Section Level 1
@@ -1,10 +1,9 @@
1
- // .basic
1
+ // .in-section
2
2
  // The toc node is used only with toc::[] macro!
3
3
  // Actual TOC content is rendered in the outline template, this template
4
4
  // usually renders just a "border".
5
5
  = Document Title
6
- :toc:
7
- :toc-placement!:
6
+ :toc: macro
8
7
 
9
8
  == Introduction
10
9
 
@@ -14,10 +13,19 @@ toc::[]
14
13
 
15
14
  === A Recipe for Potion
16
15
 
16
+ // .in-preamble
17
+ = Document Title
18
+ :toc: macro
19
+
20
+ toc::[]
21
+
22
+ == The Ravages of Writing
23
+
24
+ === A Recipe for Potion
25
+
17
26
  // .with-title
18
27
  = Document Title
19
- :toc:
20
- :toc-placement!:
28
+ :toc: macro
21
29
 
22
30
  == Introduction
23
31
 
@@ -27,8 +35,7 @@ toc::[title="Table of Adventures"]
27
35
 
28
36
  // .with-levels
29
37
  = Document Title
30
- :toc:
31
- :toc-placement!:
38
+ :toc: macro
32
39
 
33
40
  == Introduction
34
41
 
@@ -40,11 +47,16 @@ toc::[levels=1]
40
47
 
41
48
  // .with-id-and-role
42
49
  = Document Title
43
- :toc:
44
- :toc-placement!:
50
+ :toc: macro
45
51
 
46
52
  == Introduction
47
53
 
48
54
  toc::[id="mytoc", role="taco"]
49
55
 
50
56
  == The Ravages of Writing
57
+
58
+ // .doc-without-sections
59
+ = Document Title
60
+ :toc: macro
61
+
62
+ toc::[]
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  require 'asciidoctor/doctest/html_normalizer'
3
3
  require 'corefines'
4
4
  require 'htmlbeautifier'
@@ -1,8 +1,7 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  require 'asciidoctor/doctest/io/base'
3
3
  require 'corefines'
4
4
 
5
- using Corefines::Enumerable::map_send
6
5
  using Corefines::Object[:blank?, :presence]
7
6
  using Corefines::String::concat!
8
7
 
@@ -52,7 +51,7 @@ module Asciidoctor::DocTest
52
51
  Array.new.push(".#{exmpl.local_name}")
53
52
  .push(*exmpl.desc.lines.map(&:chomp))
54
53
  .push(*format_options(exmpl.opts))
55
- .map_send(:prepend, '// ')
54
+ .map { |s| '// ' + s }
56
55
  .push(exmpl.content.presence)
57
56
  .compact
58
57
  .join("\n")
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  require 'corefines'
3
3
  require 'pathname'
4
4
 
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  require 'asciidoctor/doctest/io/base'
3
3
  require 'corefines'
4
4
 
@@ -1,4 +1,4 @@
1
- # frozen_string_literal: false
1
+ # frozen_string_literal: true
2
2
  # coding: utf-8
3
3
  require 'minitest'
4
4
 
@@ -52,7 +52,7 @@ module Asciidoctor
52
52
 
53
53
  return nil if filtered_results.empty?
54
54
 
55
- str = "Aggregated results:\n"
55
+ str = String.new("Aggregated results:\n")
56
56
  filtered_results.each do |res|
57
57
  str << "\n#{res.symbol} #{res.failure.result_label}: ".color(res.color)
58
58
  str << "#{res.name}\n#{res.failure.message.indent(3)}\n\n"
@@ -63,7 +63,7 @@ module Asciidoctor
63
63
 
64
64
  # @private
65
65
  def summary
66
- str = "#{count} examples ("
66
+ str = String.new("#{count} examples (")
67
67
  str << [
68
68
  ("#{passes} passed".color(:green) if passes > 0),
69
69
  ("#{failures} failed".color(:red) if failures > 0),
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Asciidoctor
4
4
  module DocTest
5
- VERSION = '2.0.0.beta.4'
5
+ VERSION = '2.0.0.beta.5'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-doctest
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta.4
4
+ version: 2.0.0.beta.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Jirutka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-21 00:00:00.000000000 Z
11
+ date: 2018-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.5.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.1'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 1.5.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.1'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: corefines
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -262,13 +268,19 @@ dependencies:
262
268
  - - "~>"
263
269
  - !ruby/object:Gem::Version
264
270
  version: '2.1'
265
- description: |
266
- A tool for end-to-end testing of Asciidoctor backends based on comparing of textual output.
271
+ description: 'A tool for end-to-end testing of Asciidoctor backends based on comparing
272
+ of textual output.
273
+
274
+ '
267
275
  email: jakub@jirutka.cz
268
276
  executables: []
269
277
  extensions: []
270
278
  extra_rdoc_files: []
271
279
  files:
280
+ - CHANGELOG.adoc
281
+ - LICENSE
282
+ - README.adoc
283
+ - asciidoctor-doctest.gemspec
272
284
  - data/examples/asciidoc/admonition.adoc
273
285
  - data/examples/asciidoc/audio.adoc
274
286
  - data/examples/asciidoc/colist.adoc
@@ -306,25 +318,6 @@ files:
306
318
  - data/examples/asciidoc/ulist.adoc
307
319
  - data/examples/asciidoc/verse.adoc
308
320
  - data/examples/asciidoc/video.adoc
309
- - doc/img/doctest-diag.odf
310
- - doc/img/doctest-diag.svg
311
- - doc/img/failing-test-term.gif
312
- - features/README
313
- - features/fixtures/html-slim/Rakefile
314
- - features/fixtures/html-slim/examples/asciidoc/document.adoc
315
- - features/fixtures/html-slim/examples/asciidoc/inline_quoted.adoc
316
- - features/fixtures/html-slim/examples/asciidoc/quote.adoc
317
- - features/fixtures/html-slim/examples/html/document.html
318
- - features/fixtures/html-slim/examples/html/quote.html
319
- - features/fixtures/html-slim/templates/document.html.slim
320
- - features/fixtures/html-slim/templates/embedded.html.slim
321
- - features/fixtures/html-slim/templates/inline_quoted.html.slim
322
- - features/fixtures/html-slim/templates/paragraph.html.slim
323
- - features/fixtures/html-slim/templates/quote.html.slim
324
- - features/generator_html.feature
325
- - features/step_definitions/doctest_steps.rb
326
- - features/support/env.rb
327
- - features/test_html.feature
328
321
  - lib/asciidoctor-doctest.rb
329
322
  - lib/asciidoctor/doctest.rb
330
323
  - lib/asciidoctor/doctest/asciidoc_converter.rb
@@ -343,19 +336,6 @@ files:
343
336
  - lib/asciidoctor/doctest/test_reporter.rb
344
337
  - lib/asciidoctor/doctest/tester.rb
345
338
  - lib/asciidoctor/doctest/version.rb
346
- - spec/asciidoc_converter_spec.rb
347
- - spec/example_spec.rb
348
- - spec/factory_spec.rb
349
- - spec/html/converter_spec.rb
350
- - spec/html_normalizer_spec.rb
351
- - spec/io/asciidoc_spec.rb
352
- - spec/io/xml_spec.rb
353
- - spec/minitest_diffy_spec.rb
354
- - spec/no_fallback_template_converter_spec.rb
355
- - spec/shared_examples/base_examples.rb
356
- - spec/spec_helper.rb
357
- - spec/support/matchers.rb
358
- - spec/tester_spec.rb
359
339
  homepage: https://github.com/asciidoctor/asciidoctor-doctest
360
340
  licenses:
361
341
  - MIT
@@ -376,37 +356,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
376
356
  version: 1.3.1
377
357
  requirements: []
378
358
  rubyforge_project:
379
- rubygems_version: 2.6.11
359
+ rubygems_version: 2.7.8
380
360
  signing_key:
381
361
  specification_version: 4
382
362
  summary: Test suite for Asciidoctor backends
383
- test_files:
384
- - features/README
385
- - features/fixtures/html-slim/Rakefile
386
- - features/fixtures/html-slim/examples/asciidoc/document.adoc
387
- - features/fixtures/html-slim/examples/asciidoc/inline_quoted.adoc
388
- - features/fixtures/html-slim/examples/asciidoc/quote.adoc
389
- - features/fixtures/html-slim/examples/html/document.html
390
- - features/fixtures/html-slim/examples/html/quote.html
391
- - features/fixtures/html-slim/templates/document.html.slim
392
- - features/fixtures/html-slim/templates/embedded.html.slim
393
- - features/fixtures/html-slim/templates/inline_quoted.html.slim
394
- - features/fixtures/html-slim/templates/paragraph.html.slim
395
- - features/fixtures/html-slim/templates/quote.html.slim
396
- - features/generator_html.feature
397
- - features/step_definitions/doctest_steps.rb
398
- - features/support/env.rb
399
- - features/test_html.feature
400
- - spec/asciidoc_converter_spec.rb
401
- - spec/example_spec.rb
402
- - spec/factory_spec.rb
403
- - spec/html/converter_spec.rb
404
- - spec/html_normalizer_spec.rb
405
- - spec/io/asciidoc_spec.rb
406
- - spec/io/xml_spec.rb
407
- - spec/minitest_diffy_spec.rb
408
- - spec/no_fallback_template_converter_spec.rb
409
- - spec/shared_examples/base_examples.rb
410
- - spec/spec_helper.rb
411
- - spec/support/matchers.rb
412
- - spec/tester_spec.rb
363
+ test_files: []
Binary file
@@ -1,56 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny" width="180mm" height="100mm" viewBox="0 0 18000 10000" preserveAspectRatio="xMidYMid" fill-rule="evenodd" stroke-width="28.222" stroke-linejoin="round">
3
- <path fill="none" stroke="#000" stroke-width="100" stroke-linejoin="round" d="M4300 2700h1528" />
4
- <path d="M5834 2923l447-199 14-10 5-13-5-15-12-9-449-200-6-2h-4l-9 2-9 6-6 7-2 9v402l2 9 6 9 9 4 9 2h4l6-2z" />
5
- <text font-family="Arial, sans-serif" font-size="388px" font-weight="400" x="4350" y="2218">AsciiDoc</text>
6
- <path fill="none" stroke="#000" stroke-width="100" stroke-linejoin="round" d="M7900 4400v728" />
7
- <path d="M7677 5134l199 447 10 14 13 5 15-5 9-12 200-449 2-6v-4l-2-9-6-9-7-6-9-2h-402l-9 2-9 6-4 9-2 9v4l2 6z" />
8
- <text font-family="Arial, sans-serif" font-size="388px" font-weight="400" x="6850" y="4693">AST</text>
9
- <text font-family="Arial, sans-serif" font-size="494px" font-weight="400" x="654" y="1172">reference input</text>
10
- <path fill="none" stroke="#000" stroke-width="100" stroke-linejoin="round" d="M10476 2726h1528" />
11
- <path d="M12010 2949l447-199 14-10 5-13-5-15-12-9-449-200-6-2h-4l-9 2-9 6-6 7-2 9v402l2 9 6 9 9 4 9 2h4l6-2z" />
12
- <text font-family="Arial, sans-serif" font-size="388px" font-weight="400" x="10748" y="2244">HTML</text>
13
- <text font-family="Courier New, monospace" font-size="353px" font-weight="700">
14
- <tspan x="1450" y="2572">* Linux</tspan>
15
- <tspan x="1450" y="2970">* FreeBSD</tspan>
16
- </text>
17
- <path fill="#fff" d="M1001 5201h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V5201zm0 0zm2521 3201z" />
18
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" d="M1001 5201h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V5201z" />
19
- <path fill="#fff" d="M1090 5000h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V5000zm0 0zm2521 3201z" />
20
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" d="M1090 5000h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V5000z" />
21
- <path fill="#fff" d="M1180 4800h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V4800zm0 0zm2521 3201z" />
22
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" d="M1180 4800h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V4800zM1450 5200h1980M1450 5500h1980M1450 6100h1980M1450 6400h1980M1450 7000h1980M1450 7300h990" />
23
- <path fill="#fff" d="M13600 5301h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V5301zm0 0zm2521 3201z" />
24
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" d="M13600 5301h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V5301z" />
25
- <path fill="#fff" d="M13689 5100h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V5100zm0 0zm2521 3201z" />
26
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" d="M13689 5100h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V5100z" />
27
- <path fill="#fff" d="M13779 4900h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V4900zm0 0zm2521 3201z" />
28
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" d="M13779 4900h2521v2572c-998-21-965 505-1866 629-322-75-440-134-655-220V4900zM14049 5300h1980M14049 5600h1980M14049 6200h1980M14049 6500h1980M14049 7100h1980M14049 7400h990" />
29
- <path fill="none" stroke="#000" stroke-width="100" stroke-linejoin="round" d="M14949 5117v-945" />
30
- <path d="M14981 5098l32 9 31 16 29 22 22 29 16 31 9 32 4 32-4 32-9 33-16 31-22 28-29 22-31 16-32 10-33 3-31-3-33-10-30-16-29-22-22-28-16-31-9-33-4-32 4-32 9-32 16-31 22-29 29-22 30-16 33-9 31-4 33 4zM15172 4166l-199-447-10-14-13-5-15 5-9 12-200 449-2 6v4l2 9 6 9 7 6 9 2h402l9-2 9-6 4-9 2-9v-4l-2-6z" />
31
- <path fill="none" stroke="#000" stroke-width="100" stroke-linejoin="round" d="M2350 5042v-970" />
32
- <path d="M2382 5023l32 9 31 16 29 22 22 29 16 31 9 32 4 32-4 32-9 33-16 31-22 28-29 22-31 16-32 10-33 3-31-3-33-10-30-16-29-22-22-28-16-31-9-33-4-32 4-32 9-32 16-31 22-29 29-22 30-16 33-9 31-4 33 4zM2573 4066l-199-447-10-14-13-5-15 5-9 12-200 449-2 6v4l2 9 6 9 7 6 9 2h402l9-2 9-6 4-9 2-9v-4l-2-6z" />
33
- <text font-family="Arial, sans-serif" font-size="494px" font-weight="400">
34
- <tspan x="14295" y="670">output</tspan>
35
- <tspan x="13114" y="1217">actual / expected</tspan>
36
- </text>
37
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" d="M15500 2000l-2688 1800" />
38
- <path d="M13219 2117l115 63c6 4 9 6 11 9 2 2 3 6 3 10 0 5-2 9-5 12-4 4-8 6-13 6-3 0-7-2-14-5l-170-95 170-95c7-3 11-5 14-5 5 0 9 2 13 5 3 4 5 8 5 13 0 4-1 7-3 10-2 2-5 5-11 8l-115 64zm323-56v121c8 0 13 2 17 5 4 4 5 8 5 13s-1 9-5 13c-4 3-10 5-18 5h-34v-9c-10 5-20 8-29 11-9 2-18 3-26 3-12 0-22-2-30-7-9-5-15-12-20-20-4-7-6-14-6-24v-76h-6c-8 0-14-1-18-5-4-3-5-7-5-12 0-6 1-10 5-13s10-5 18-5h42v105c0 8 1 13 5 17 4 3 9 5 17 5 7 0 14-1 23-4 8-3 18-8 30-16v-72h-13c-8 0-14-1-18-5-3-3-5-7-5-12 0-6 2-10 5-13 4-3 10-5 18-5h48zm155-67v188h42c9 0 15 2 19 5 3 3 5 8 5 13s-2 9-5 13c-4 3-10 5-19 5h-120c-8 0-14-2-18-5-3-4-5-8-5-13s2-10 5-13c4-3 10-5 18-5h43v-153h-29c-8 0-14-1-18-5-3-3-5-7-5-12 0-6 1-10 5-13s10-5 18-5h64zm232 123l-115-64c-5-3-9-6-11-8-2-3-3-6-3-10 0-5 2-9 5-13 4-3 8-5 13-5 3 0 7 2 14 5l170 95-170 95c-7 3-11 5-14 5-5 0-9-2-13-5-3-4-5-8-5-13 0-4 1-8 3-10 2-3 6-5 11-9l115-63zm-498 398l115 63c6 4 9 6 11 9 2 2 3 6 3 10 0 5-2 9-5 12-4 4-8 6-13 6-3 0-7-2-14-5l-170-95 170-95c7-3 11-5 14-5 5 0 9 2 13 5 3 4 5 8 5 13 0 4-1 7-3 10-2 2-5 5-11 8l-115 64zm267-123v188h42c9 0 15 2 19 5 3 3 5 8 5 13s-2 9-5 13c-4 3-10 5-19 5h-120c-8 0-14-2-18-5-3-4-5-8-5-13s2-10 5-13c4-3 10-5 18-5h43v-153h-29c-8 0-14-1-18-5-3-3-5-7-5-12 0-6 1-10 5-13s10-5 18-5h64zm207 0v37h-42v-37h42zm5 67v121h42c9 0 15 2 18 5 4 3 6 8 6 13s-2 9-6 13c-3 3-9 5-18 5h-120c-8 0-14-2-18-5-4-4-5-8-5-13s1-10 5-13 10-5 18-5h43v-86h-29c-8 0-14-1-18-5-4-3-5-7-5-12 0-6 1-10 5-13s10-5 18-5h64zm232 56l-115-64c-5-3-9-6-11-8-2-3-3-6-3-10 0-5 2-9 5-13 4-3 8-5 13-5 3 0 7 2 14 5l170 95-170 95c-7 3-11 5-14 5-5 0-9-2-13-5-3-4-5-8-5-13 0-4 1-8 3-10 2-3 6-5 11-9l115-63zm160-73v138h76v-33c0-9 1-15 5-18 3-4 7-6 13-6 5 0 9 2 12 6 4 3 5 9 5 18v69h-167c-9 0-15-2-18-5-4-4-6-8-6-13s2-10 6-13c3-3 9-5 18-5h20v-138h-20c-9 0-15-2-18-5-4-3-6-7-6-13 0-5 2-9 6-13 3-3 9-5 18-5l76 1c9 0 15 1 19 4 3 4 5 8 5 13 0 6-2 10-5 13-4 3-10 5-19 5h-20zm239-50v37h-42v-37h42zm5 67v121h7l-52 36h-33c-8 0-14-2-18-5-4-4-5-8-5-13s1-10 5-13 10-5 18-5h43v-86h-29c-8 0-14-1-18-5-4-3-5-7-5-12 0-6 1-10 5-13s10-5 18-5h64zm159 0v12c6-6 13-10 21-12 3-1 5-2 8-3l-65 45v-7c-7 0-13-1-16-5-4-3-6-7-6-12 0-6 2-10 6-13 3-3 10-5 18-5h34zm-1274 454l115 63c6 4 9 6 11 9 2 2 3 6 3 10 0 5-2 9-5 12-4 4-8 6-13 6-3 0-7-2-14-5l-170-95 170-95c7-3 11-5 14-5 5 0 9 2 13 5 3 4 5 8 5 13 0 4-1 7-3 10-2 2-5 5-11 8l-115 64zm266-123v188h42c9 0 15 2 19 5 3 3 5 8 5 13s-2 9-5 13c-4 3-10 5-19 5h-120c-8 0-14-2-18-5-3-4-5-8-5-13s2-10 5-13c4-3 10-5 18-5h43v-153h-29c-8 0-14-1-18-5-3-3-5-7-5-12 0-6 1-10 5-13s10-5 18-5h64zm207 0v37h-42v-37h42zm5 67v121h42c7 0 12 1 16 3l-48 33h-88c-8 0-14-2-18-5-4-4-5-8-5-13s1-10 5-13 10-5 18-5h43v-86h-29c-8 0-14-1-18-5-4-3-5-7-5-12 0-6 1-10 5-13s10-5 18-5h64zm117-8c-5-3-9-6-11-8-2-3-3-6-3-10 0-5 2-9 5-13 4-3 8-5 13-5 3 0 7 2 14 5l89 50-33 22-74-41zm-807 462l115 63c6 4 9 6 11 9 2 2 3 6 3 10 0 5-2 9-5 12-4 4-8 6-13 6-3 0-7-2-14-5l-170-95 170-95c7-3 11-5 14-5 5 0 9 2 13 5 3 4 5 8 5 13 0 4-1 7-3 10-2 2-5 5-11 8l-115 64zm321-118l-54 117-57 39 79-171c3-6 6-10 8-12 3-2 7-4 11-4 5 0 9 2 12 5 4 4 5 8 5 12 0 3-1 8-4 14zM13284 3512l-58 124c-3 6-5 10-7 12-3 3-7 4-11 4-5 0-9-2-13-5-3-4-5-8-5-12 0-3 1-8 4-14l33-70 57-39zm483-330c1 0 1 0 2 1 3 3 5 7 5 13 0 5-2 9-5 12-4 4-10 5-18 5h-30l46-31zm166-114l81 45-171 94c-6 4-11 6-14 6-5 0-9-2-12-6-4-3-6-8-6-13 0-4 1-7 3-9 2-3 6-6 12-9l114-63-40-22 33-23zm422-288h33c8 0 14 2 18 5 3 3 5 7 5 13 0 5-2 9-5 12-4 4-10 5-18 5h-85l52-35zm182-125c4-1 9-1 14-1 20 0 37 7 49 20 10 10 15 23 15 40v66c7 0 13 2 16 5 4 3 6 7 6 13 0 5-2 9-6 12-3 4-10 5-18 5h-32c-8 0-14-1-18-5-4-3-6-7-6-13 0-5 2-9 6-12 3-3 9-5 16-5v-67c0-8-2-13-6-17-5-4-13-7-24-7-8 0-15 2-22 5-6 3-14 10-23 20v66c9 0 15 1 18 2 5 4 8 9 8 16 0 5-2 9-5 12-4 4-10 5-19 5h-40c-8 0-14-1-18-5-4-3-5-7-5-13s2-11 8-15c3-1 9-2 18-2v-78l68-47zm290 4v121c7 0 13 2 16 5 4 3 6 7 6 13 0 5-2 9-6 12-3 4-9 5-18 5h-33v-8c-11 5-20 8-29 10-10 3-18 4-27 4-11 0-21-3-30-7-8-5-15-12-20-21-4-6-5-14-5-23v-76h-6c-9 0-15-2-19-5-3-3-5-7-5-13 0-5 2-9 5-12 4-4 10-5 19-5h41v105c0 7 2 13 5 16 4 4 10 6 17 6s15-2 23-5c8-2 18-8 31-15v-72h-13c-9 0-15-2-18-5-4-3-6-7-6-13 0-5 2-9 6-12 3-4 9-5 18-5h48zm163 75l54 46c6 0 11 2 14 5 4 4 5 8 5 13s-2 9-5 12c-4 4-10 5-18 5h-41c-8 0-14-1-18-5-3-3-5-7-5-13 0-4 1-7 4-11 2-3 6-5 10-6l-26-23-27 23c5 1 9 3 12 6 2 3 3 7 3 11 0 6-2 10-5 13-4 4-10 5-18 5h-40c-9 0-15-1-18-5-4-3-6-7-6-13 0-4 2-8 5-12 3-3 8-5 15-5l52-46-46-40c-6 0-11-2-14-6-3-3-5-7-5-12s2-9 5-12c4-4 10-5 19-5h33c8 0 14 1 18 5 4 3 5 7 5 12 0 7-3 12-9 17l21 17 21-18c-6-4-9-9-9-15s1-10 5-13c4-4 10-5 18-5h33c8 0 15 1 18 5 4 3 6 7 6 12s-2 9-5 12c-3 4-8 6-14 6l-47 40zm149-19l114 63c6 3 10 6 12 9 2 2 3 5 3 9 0 5-2 9-6 13-3 4-7 6-12 6-3 0-8-2-14-6l-171-94 171-95c6-4 11-5 14-5 4 0 9 2 12 5 4 4 6 8 6 13 0 4-1 7-3 10-2 2-6 5-12 8l-114 64zm322-119l-114 244c-3 6-5 10-7 12-3 3-7 4-11 4-5 0-9-2-13-5-3-4-5-8-5-12 0-3 1-8 4-14l114-243c3-7 5-11 7-12 3-3 7-4 11-4 5 0 9 2 13 5 3 3 5 7 5 12 0 3-2 7-4 13zm156-4v188h43c8 0 14 2 18 5s5 7 5 13c0 5-1 9-5 12-4 4-10 5-18 5h-120c-9 0-15-1-18-5-4-3-6-7-6-13 0-5 2-9 6-12 3-3 9-5 18-5h42v-153h-28c-9 0-15-2-18-5-4-3-6-7-6-13 0-5 2-9 5-12 4-4 10-5 19-5h63zm207 0v37h-42v-37h42zm5 67v121h43c8 0 14 2 18 5 3 3 5 7 5 13 0 5-2 9-5 12-4 4-10 5-18 5h-120c-9 0-15-1-19-5-3-3-5-7-5-13 0-5 2-9 5-12 4-3 10-5 19-5h42v-86h-28c-9 0-15-2-19-5-3-3-5-7-5-13 0-5 2-9 5-12 4-4 10-5 19-5h63zm232 56l-114-64c-6-3-10-6-12-8-2-3-3-6-3-10 0-5 2-9 6-13 3-3 7-5 12-5 3 0 8 1 14 5l171 95-171 94c-6 4-11 6-14 6-5 0-9-2-12-6-4-3-6-8-6-13 0-4 1-7 3-9 2-3 6-6 12-9l114-63zm-1970 411v52h36c8 0 14 2 18 5s5 7 5 13c0 5-1 9-5 12-4 4-10 5-18 5h-77c-9 0-15-1-18-5-4-3-6-7-6-13 0-5 2-9 6-12 3-3 9-5 18-5h5v-138h-5c-9 0-15-2-18-5-4-4-6-8-6-13s2-10 6-13c3-3 9-5 18-5h166v54c0 9-2 15-5 18-3 4-7 6-13 6-5 0-9-2-12-6-4-3-5-9-5-18v-18h-90v51h31c0-9 0-15 2-18 4-6 9-8 15-8s10 1 13 5 5 10 5 18v41c0 8-2 15-5 18-3 4-8 6-13 6-6 0-11-3-15-9-2-3-2-8-2-18h-31zm228-69v22c15-11 27-18 36-22 8-3 16-5 24-5 11 0 22 4 33 13 7 6 11 11 11 17 0 5-2 10-5 13-4 4-8 6-13 6-4 0-9-3-14-7-4-4-9-7-13-7-5 0-12 4-22 10s-22 15-37 28v53h51c8 0 14 2 18 5s5 7 5 13c0 5-1 9-5 12-4 4-10 5-18 5h-107c-8 0-14-1-18-5-4-3-6-7-6-13 0-5 2-9 6-12s10-5 18-5h21v-86h-13c-8 0-14-2-18-5-3-3-5-7-5-13 0-5 2-9 5-12 4-4 10-5 18-5h48zm308 96h-144c3 9 10 17 19 22 9 6 22 9 38 9 13 0 31-3 52-9 9-2 15-3 19-3 5 0 9 1 12 5 3 3 5 7 5 12s-2 9-6 12c-4 4-15 8-33 12s-35 6-52 6c-28 0-50-8-67-24s-26-36-26-59c0-25 9-45 28-61 18-15 39-23 63-23 14 0 28 3 40 8s21 10 26 16c9 9 16 19 21 32 4 8 5 18 5 30v15zm-39-35c-5-11-12-18-21-23s-19-8-31-8-22 3-31 8-16 12-21 23h104zm251 35h-144c3 9 10 17 19 22 9 6 22 9 38 9 13 0 31-3 52-9 9-2 15-3 19-3 5 0 9 1 12 5 3 3 5 7 5 12s-2 9-6 12c-4 4-15 8-33 12s-35 6-52 6c-28 0-50-8-67-24s-26-36-26-59c0-25 9-45 28-61 18-15 39-23 63-23 14 0 28 3 40 8s21 10 26 16c9 9 16 19 21 32 4 8 5 18 5 30v15zm-39-35c-5-11-12-18-21-23s-19-8-31-8-22 3-31 8-16 12-21 23h104zm91 60v-138h-6c-8 0-14-2-18-5-4-4-5-8-5-13s1-10 5-13 10-5 18-5h89c21 0 38 6 51 18s19 26 19 42c0 7-1 15-4 22-3 6-8 13-14 18 11 7 19 15 25 24s8 19 8 30c0 9-2 17-6 25-3 6-6 10-11 14-6 5-13 9-21 12-9 3-19 4-32 4h-104c-8 0-14-1-18-5-4-3-5-7-5-13 0-5 1-9 5-12s10-5 18-5h6zm35-87h39c14 0 25-3 34-10 7-5 10-11 10-18 0-6-3-12-9-16-6-5-15-7-28-7h-46v51zm0 87h61c14 0 24-2 30-6 5-4 7-8 7-14 0-7-4-14-13-21s-22-11-38-11h-47v52zm197 26c-3 4-5 6-7 7s-5 2-7 2c-6 0-10-2-13-6-4-3-5-9-5-18v-23c0-9 1-15 5-19 3-3 7-5 13-5 4 0 7 1 10 3 3 3 5 6 7 11 1 5 3 9 4 11 4 3 9 7 18 11 8 3 18 5 28 5 16 0 29-4 39-11 6-4 9-10 9-17 0-4-1-8-4-12s-8-7-15-9c-5-2-15-4-31-7-20-4-34-8-44-13s-18-13-24-22c-5-9-8-19-8-30 0-16 7-31 21-44s33-19 55-19c9 0 18 1 25 3 8 2 15 5 22 9 4-4 9-6 13-6 6 0 10 1 13 5s5 10 5 18v26c0 9-2 15-5 19-3 3-7 5-13 5-4 0-8-1-11-4-3-2-4-6-6-12-1-5-3-10-5-12-3-5-8-8-15-11-6-3-14-5-23-5-12 0-22 3-30 9-7 6-11 12-11 19 0 4 2 8 5 12s7 8 13 10c4 2 15 4 33 8 18 3 32 7 42 11 9 5 17 11 24 20 6 10 10 20 10 33 0 17-7 31-19 42-16 14-37 20-62 20-10 0-20-1-29-3s-18-6-27-11zm185-26v-138c-8 0-13-2-17-5-3-4-5-8-5-13s2-10 5-13c4-3 10-5 18-5h74c12 0 23 2 34 7 11 4 20 9 27 16 5 5 10 12 15 20 6 9 10 17 13 26 2 8 4 19 4 31v17c0 15-3 28-8 40-5 11-11 21-20 28-8 7-16 13-23 16-11 6-26 8-45 8h-71c-8 0-14-1-18-5-3-3-5-7-5-13 0-5 2-9 5-12 4-4 9-5 17-5zm35 0h38c14 0 24-2 31-6 10-5 17-12 21-20 5-8 7-19 7-32v-17c0-11-2-21-6-29-7-13-14-22-22-27-9-5-19-7-32-7h-37v138zm219-65l114 63c6 3 10 6 12 9 2 2 3 5 3 9 0 5-2 9-6 13-3 4-7 6-12 6-3 0-8-2-14-6l-171-94 171-95c6-4 11-5 14-5 4 0 9 2 12 5 4 4 6 8 6 13 0 4-1 7-3 10-2 2-6 5-12 8l-114 64zm322-119l-114 244c-3 6-5 10-7 12-3 3-7 4-11 4-5 0-9-2-13-5-3-4-5-8-5-12 0-3 1-8 4-14l114-243c3-7 5-11 7-12 3-3 7-4 11-4 5 0 9 2 13 5 3 3 5 7 5 12 0 3-2 7-4 13zm156-4v188h43c8 0 14 2 18 5s5 7 5 13c0 5-1 9-5 12-4 4-10 5-18 5h-120c-9 0-15-1-18-5-4-3-6-7-6-13 0-5 2-9 6-12 3-3 9-5 18-5h42v-153h-28c-9 0-15-2-18-5-4-3-6-7-6-13 0-5 2-9 5-12 4-4 10-5 19-5h63zm207 0v37h-42v-37h42zm5 67v121h43c8 0 14 2 18 5 3 3 5 7 5 13 0 5-2 9-5 12-4 4-10 5-18 5h-120c-9 0-15-1-19-5-3-3-5-7-5-13 0-5 2-9 5-12 4-3 10-5 19-5h42v-86h-28c-9 0-15-2-19-5-3-3-5-7-5-13 0-5 2-9 5-12 4-4 10-5 19-5h63zm232 56l-114-64c-6-3-10-6-12-8-2-3-3-6-3-10 0-5 2-9 6-13 3-3 7-5 12-5 3 0 8 1 14 5l171 95-171 94c-6 4-11 6-14 6-5 0-9-2-12-6-4-3-6-8-6-13 0-4 1-7 3-9 2-3 6-6 12-9l114-63zm-2930 342v121c7 0 13 2 16 5 4 3 6 7 6 13 0 5-2 9-6 12-3 4-9 5-18 5h-33v-8c-11 5-20 8-29 10-10 3-18 4-27 4-11 0-21-3-30-7-8-5-15-12-20-21-4-6-5-14-5-23v-76h-6c-9 0-15-2-19-5-3-3-5-7-5-13 0-5 2-9 5-12 4-4 10-5 19-5h41v105c0 7 2 13 5 16 4 4 10 6 17 6s15-2 23-5c8-2 18-8 31-15v-72h-13c-9 0-15-2-18-5-4-3-6-7-6-13 0-5 2-9 6-12 3-4 9-5 18-5h48zm154-67v188h43c8 0 14 2 18 5s5 7 5 13c0 5-1 9-5 12-4 4-10 5-18 5h-120c-9 0-15-1-18-5-4-3-6-7-6-13 0-5 2-9 6-12 3-3 9-5 18-5h42v-153h-28c-9 0-15-2-18-5-4-3-6-7-6-13 0-5 2-9 5-12 4-4 10-5 19-5h63zm232 123l-114-64c-6-3-10-6-12-8-2-3-3-6-3-10 0-5 2-9 6-13 3-3 7-5 12-5 3 0 8 1 14 5l171 95-171 94c-6 4-11 6-14 6-5 0-9-2-12-6-4-3-6-8-6-13 0-4 1-7 3-9 2-3 6-6 12-9l114-63z" />
39
- <text font-family="Arial, sans-serif" font-size="388px" font-weight="400" x="2915" y="8372">.adoc</text>
40
- <text font-family="Arial, sans-serif" font-size="388px" font-weight="400" x="15616" y="8373">.html</text>
41
- <text font-family="Arial, sans-serif" font-size="388px" font-weight="400" x="15650" y="2172">diff</text>
42
- <text font-family="Arial, sans-serif" font-size="494px" font-weight="400" x="710" y="9416">input examples</text>
43
- <text font-family="Arial, sans-serif" font-size="494px" font-weight="400" x="13111" y="9416">output examples</text>
44
- <text font-family="Arial, sans-serif" font-size="494px" font-weight="400" x="7250" y="670">Asciidoctor</text>
45
- <path fill="#fff" d="M8186 8242H6586l514-2242h3200l-514 2242H8186z" />
46
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" d="M8186 8242H6586l514-2242h3200l-514 2242H8186z" />
47
- <path fill="none" stroke="#000" stroke-width="100" stroke-linejoin="round" d="M9000 5575v-728" />
48
- <path d="M9223 4841l-199-447-10-14-13-5-15 5-9 12-200 449-2 6v4l2 9 6 9 7 6 9 2h402l9-2 9-6 4-9 2-9v-4l-2-6z" />
49
- <text font-family="Arial, sans-serif" font-size="388px" font-weight="400" x="9394" y="4693">HTML</text>
50
- <text font-family="Arial, sans-serif" font-size="494px" font-weight="400">
51
- <tspan x="7453" y="6970">backend</tspan>
52
- <tspan x="7150" y="7517">(templates)</tspan>
53
- </text>
54
- <path fill="#fff" d="M8677 2218c-69-28-146-44-227-44s-158 16-227 44-131 70-183 121c-51 52-93 114-121 183s-44 146-44 227 16 158 44 227 70 131 121 183c52 51 114 93 183 121s146 44 227 44 158-16 227-44 131-70 183-121c51-52 93-114 121-183s44-146 44-227-16-158-44-227-70-131-121-183c-52-51-114-93-183-121zm1027 680l-213 33c-11 63-27 123-49 182l169 134-16 20 22 12-125 216-22-13-9 23-200-78c-41 48-85 93-134 133l79 201-23 9 12 22-215 124-13-22-19 16-134-168c-59 21-120 38-183 49l-32 212-25-3v25h-248v-25l-25 3-32-212c-63-11-124-28-183-49l-134 168-19-16-13 22-215-124 13-22-24-9 79-201c-48-40-93-85-134-133l-200 78-9-23-22 13-124-216 21-12-15-20 168-134c-21-58-38-119-49-182l-213-33 4-24h-25v-249h25l-4-25 214-32c11-63 27-123 48-182l-168-135 15-19-21-13 124-215 22 13 9-24 201 80c40-49 85-93 133-134l-79-201 24-9-13-22 215-124 13 21 19-15 135 169c59-21 119-38 182-49l32-214 25 4v-25h248v25l25-4 32 214c63 11 124 28 182 49l135-169 19 15 13-21 216 124-13 22 23 9-79 201c48 41 93 85 133 134l202-80 9 24 22-13 124 215-22 13 16 19-169 135c21 59 38 119 49 182l213 32-4 25h25v249h-25l4 24z" />
55
- <path fill="none" stroke="#000" stroke-width="50" stroke-linejoin="round" stroke-linecap="round" d="M8677 2218c-69-28-146-44-227-44s-158 16-227 44-131 70-183 121c-51 52-93 114-121 183s-44 146-44 227 16 158 44 227 70 131 121 183c52 51 114 93 183 121s146 44 227 44 158-16 227-44 131-70 183-121c51-52 93-114 121-183s44-146 44-227-16-158-44-227-70-131-121-183c-52-51-114-93-183-121zM9704 2898l-213 33c-11 63-27 123-49 182l169 134-16 20 22 12-125 216-22-13-9 23-200-78c-41 48-85 93-134 133l79 201-23 9 12 22-215 124-13-22-19 16-134-168c-59 21-120 38-183 49l-32 212-25-3v25h-248v-25l-25 3-32-212c-63-11-124-28-183-49l-134 168-19-16-13 22-215-124 13-22-24-9 79-201c-48-40-93-85-134-133l-200 78-9-23-22 13-124-216 21-12-15-20 168-134c-21-58-38-119-49-182l-213-33 4-24h-25v-249h25l-4-25 214-32c11-63 27-123 48-182l-168-135 15-19-21-13 124-215 22 13 9-24 201 80c40-49 85-93 133-134l-79-201 24-9-13-22 215-124 13 21 19-15 135 169c59-21 119-38 182-49l32-214 25 4v-25h248v25l25-4 32 214c63 11 124 28 182 49l135-169 19 15 13-21 216 124-13 22 23 9-79 201c48 41 93 85 133 134l202-80 9 24 22-13 124 215-22 13 16 19-169 135c21 59 38 119 49 182l213 32-4 25h25v249h-25l4 24z" />
56
- </svg>
Binary file
data/features/README DELETED
@@ -1 +0,0 @@
1
- This directory contains end-to-end integration tests (not acceptance tests).
@@ -1,9 +0,0 @@
1
- require 'asciidoctor/doctest'
2
- require 'tilt'
3
-
4
- DocTest::RakeTasks.new do |t|
5
- t.output_examples :html, path: 'examples/html'
6
- t.input_examples :asciidoc, path: 'examples/asciidoc'
7
- t.converter = DocTest::HTML::Converter
8
- t.converter_opts = { template_dirs: 'templates' }
9
- end
@@ -1,4 +0,0 @@
1
- // .title-with-author
2
- // This example should fail.
3
- = The Dangerous and Thrilling Documentation Chronicles
4
- Kismet Rainbow Chameleon <kismet@asciidoctor.org>
@@ -1,2 +0,0 @@
1
- // .emphasis
2
- _chunky bacon_
@@ -1,12 +0,0 @@
1
- // .with-id-and-role
2
- [quote, id="parking", role="startrek"]
3
- Everybody remember where we parked.
4
-
5
- // .with-title
6
- .After landing the cloaked Klingon bird of prey in Golden Gate park:
7
- [quote]
8
- Everybody remember where we parked.
9
-
10
- // .with-attribution
11
- [quote, Albert Einstein]
12
- A person who never made a mistake _never_ tried anything new.
@@ -1,7 +0,0 @@
1
- <!-- .title-with-author
2
- :include: .//body/div[@id="header"]
3
- -->
4
- <div id="header">
5
- <h1>The Dangerous and Thrilling Documentation Chronicles</h1>
6
- <div id="author">Kismet Rainbow Chameleon</div>
7
- </div>
@@ -1,26 +0,0 @@
1
- <!-- .basic
2
- Doesn't exist in input examples.
3
- -->
4
- <div class="quoteblock">
5
- <blockquote>Four score and seven years ago our fathers brought forth
6
- on this continent a new nation&#8230;&#8203;</blockquote>
7
- </div>
8
-
9
- <!-- .with-id-and-role
10
- Correct example.
11
- -->
12
- <div id="parking"
13
- class="quoteblock startrek">
14
- <blockquote>
15
- Everybody remember
16
- where we parked.
17
- </blockquote>
18
- </div>
19
-
20
- <!-- .with-attribution
21
- Failing example.
22
- -->
23
- <div class="quoteblock">
24
- <blockquote>A person who never made a mistake <em>never</em> tried anything new.</blockquote>
25
- <div>Albert Einstein</div>
26
- </div>