reverse_adoc 1.0.1 → 2.0.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.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/README.adoc +4 -294
  4. data/Rakefile +2 -13
  5. data/reverse_adoc.gemspec +2 -20
  6. metadata +5 -246
  7. data/.editorconfig +0 -15
  8. data/.github/workflows/rake.yml +0 -15
  9. data/.gitignore +0 -10
  10. data/.hound.yml +0 -5
  11. data/.rubocop.yml +0 -10
  12. data/LICENSE.txt +0 -25
  13. data/exe/reverse_adoc +0 -70
  14. data/exe/w2a +0 -72
  15. data/lib/reverse_adoc/cleaner.rb +0 -113
  16. data/lib/reverse_adoc/config.rb +0 -54
  17. data/lib/reverse_adoc/converters/a.rb +0 -42
  18. data/lib/reverse_adoc/converters/aside.rb +0 -16
  19. data/lib/reverse_adoc/converters/audio.rb +0 -29
  20. data/lib/reverse_adoc/converters/base.rb +0 -100
  21. data/lib/reverse_adoc/converters/blockquote.rb +0 -27
  22. data/lib/reverse_adoc/converters/br.rb +0 -15
  23. data/lib/reverse_adoc/converters/bypass.rb +0 -81
  24. data/lib/reverse_adoc/converters/code.rb +0 -56
  25. data/lib/reverse_adoc/converters/div.rb +0 -18
  26. data/lib/reverse_adoc/converters/drop.rb +0 -22
  27. data/lib/reverse_adoc/converters/em.rb +0 -55
  28. data/lib/reverse_adoc/converters/figure.rb +0 -25
  29. data/lib/reverse_adoc/converters/h.rb +0 -42
  30. data/lib/reverse_adoc/converters/head.rb +0 -23
  31. data/lib/reverse_adoc/converters/hr.rb +0 -15
  32. data/lib/reverse_adoc/converters/ignore.rb +0 -16
  33. data/lib/reverse_adoc/converters/img.rb +0 -93
  34. data/lib/reverse_adoc/converters/li.rb +0 -17
  35. data/lib/reverse_adoc/converters/mark.rb +0 -21
  36. data/lib/reverse_adoc/converters/math.rb +0 -31
  37. data/lib/reverse_adoc/converters/ol.rb +0 -64
  38. data/lib/reverse_adoc/converters/p.rb +0 -23
  39. data/lib/reverse_adoc/converters/pass_through.rb +0 -13
  40. data/lib/reverse_adoc/converters/pre.rb +0 -55
  41. data/lib/reverse_adoc/converters/q.rb +0 -16
  42. data/lib/reverse_adoc/converters/strong.rb +0 -52
  43. data/lib/reverse_adoc/converters/sub.rb +0 -16
  44. data/lib/reverse_adoc/converters/sup.rb +0 -16
  45. data/lib/reverse_adoc/converters/table.rb +0 -69
  46. data/lib/reverse_adoc/converters/td.rb +0 -83
  47. data/lib/reverse_adoc/converters/text.rb +0 -65
  48. data/lib/reverse_adoc/converters/th.rb +0 -14
  49. data/lib/reverse_adoc/converters/tr.rb +0 -22
  50. data/lib/reverse_adoc/converters/video.rb +0 -29
  51. data/lib/reverse_adoc/converters.rb +0 -32
  52. data/lib/reverse_adoc/errors.rb +0 -10
  53. data/lib/reverse_adoc/html_converter.rb +0 -61
  54. data/lib/reverse_adoc/version.rb +0 -3
  55. data/lib/reverse_adoc.rb +0 -27
  56. data/spec/assets/anchors.html +0 -30
  57. data/spec/assets/basic.html +0 -61
  58. data/spec/assets/code.html +0 -22
  59. data/spec/assets/escapables.html +0 -17
  60. data/spec/assets/external_images.docx +0 -0
  61. data/spec/assets/external_images.html +0 -35
  62. data/spec/assets/from_the_wild.html +0 -23
  63. data/spec/assets/full_example.html +0 -49
  64. data/spec/assets/html_fragment.html +0 -3
  65. data/spec/assets/lists.html +0 -137
  66. data/spec/assets/minimum.html +0 -4
  67. data/spec/assets/paragraphs.html +0 -24
  68. data/spec/assets/quotation.html +0 -12
  69. data/spec/assets/tables.html +0 -99
  70. data/spec/assets/unknown_tags.html +0 -9
  71. data/spec/bin/reverse_adoc_spec.rb +0 -33
  72. data/spec/bin/w2a_spec.rb +0 -35
  73. data/spec/components/anchors_spec.rb +0 -32
  74. data/spec/components/basic_spec.rb +0 -63
  75. data/spec/components/code_spec.rb +0 -25
  76. data/spec/components/escapables_spec.rb +0 -30
  77. data/spec/components/from_the_wild_spec.rb +0 -15
  78. data/spec/components/html_fragment_spec.rb +0 -9
  79. data/spec/components/lists_spec.rb +0 -90
  80. data/spec/components/paragraphs_spec.rb +0 -14
  81. data/spec/components/quotation_spec.rb +0 -12
  82. data/spec/components/tables_spec.rb +0 -42
  83. data/spec/components/unknown_tags_spec.rb +0 -41
  84. data/spec/lib/reverse_adoc/cleaner_spec.rb +0 -180
  85. data/spec/lib/reverse_adoc/config_spec.rb +0 -25
  86. data/spec/lib/reverse_adoc/converters/aside_spec.rb +0 -11
  87. data/spec/lib/reverse_adoc/converters/audio_spec.rb +0 -15
  88. data/spec/lib/reverse_adoc/converters/blockquote_spec.rb +0 -23
  89. data/spec/lib/reverse_adoc/converters/br_spec.rb +0 -9
  90. data/spec/lib/reverse_adoc/converters/code_spec.rb +0 -15
  91. data/spec/lib/reverse_adoc/converters/div_spec.rb +0 -15
  92. data/spec/lib/reverse_adoc/converters/figure_spec.rb +0 -10
  93. data/spec/lib/reverse_adoc/converters/img_spec.rb +0 -25
  94. data/spec/lib/reverse_adoc/converters/li_spec.rb +0 -11
  95. data/spec/lib/reverse_adoc/converters/mark_spec.rb +0 -10
  96. data/spec/lib/reverse_adoc/converters/p_spec.rb +0 -10
  97. data/spec/lib/reverse_adoc/converters/pre_spec.rb +0 -43
  98. data/spec/lib/reverse_adoc/converters/q_spec.rb +0 -10
  99. data/spec/lib/reverse_adoc/converters/strong_spec.rb +0 -21
  100. data/spec/lib/reverse_adoc/converters/text_spec.rb +0 -67
  101. data/spec/lib/reverse_adoc/converters/video_spec.rb +0 -15
  102. data/spec/lib/reverse_adoc/converters_spec.rb +0 -22
  103. data/spec/lib/reverse_adoc.rb +0 -90
  104. data/spec/spec_helper.rb +0 -25
  105. data/spec/support/shell_helpers.rb +0 -15
@@ -1,49 +0,0 @@
1
- <html>
2
- <body>
3
- <ul>
4
- <li>li 1</li>
5
- <li>li 2</li>
6
- <li>li 3</li>
7
- </ul>
8
- <ul>
9
- <li>li 1</li>
10
- <li>li 2</li>
11
- <li>li 3</li>
12
- </ul>
13
- <ol>
14
- <li>li 1</li>
15
- <li>
16
- <ul>
17
- <li>eins</li>
18
- <li>eins</li>
19
- <li>eins</li>
20
- </ul>
21
- </li>
22
- </ol>
23
- <ol>
24
- <li>li 1</li>
25
- <li>li 2</li>
26
- </ol>
27
- <h1>h1</h1>
28
- <h2>h2</h2>
29
- <h3>h3</h3>
30
- <h4>h4</h4>
31
- <p>
32
- Hallo <em>em</em> Text
33
- </p>
34
- <p>
35
- <strong>strong</strong>
36
- </p>
37
- <pre>
38
- <code>Block of code</code>
39
- </pre>
40
-
41
- <blockquote>
42
- <p>First quoted paragraph</p>
43
- <p>Second quoted paragraph</p>
44
- </blockquote>
45
- <a href="http://www.bla.com">link</a>
46
- <img src="http://raw.com">
47
- <hr>
48
- </body>
49
- </html>
@@ -1,3 +0,0 @@
1
- naked text 1
2
- <p>paragraph text</p>
3
- naked text 2
@@ -1,137 +0,0 @@
1
- <html>
2
- <body>
3
- <p>some text...</p>
4
-
5
- <ul>
6
- <li>unordered list entry</li>
7
- <li>unordered list entry 2</li>
8
- </ul>
9
-
10
- <ol>
11
- <li>ordered list entry</li>
12
- <li>ordered list entry 2</li>
13
- </ol>
14
-
15
- <ol start="3">
16
- <li>another ordered list entry</li>
17
- </ol>
18
-
19
- <ol reversed>
20
- <li>a reversed ordered list entry</li>
21
- </ol>
22
-
23
- <ol>
24
- <li>list entry 1st hierarchy</li>
25
- <li>
26
- <ul>
27
- <li>nested unsorted list entry</li>
28
- <li>
29
- <ol>
30
- <li>deep nested list entry</li>
31
- </ol>
32
- </li>
33
- </ul>
34
- </li>
35
- </ol>
36
-
37
- <ol id="1">
38
- <li>arabic1</li>
39
- </ol>
40
-
41
- <ul id="A">
42
- <li>upperalpha1</li>
43
- </ul>
44
-
45
- <ol style="1">
46
- <li>arabic</li>
47
- </ol>
48
-
49
- <ol style="A">
50
- <li>upperalpha</li>
51
- </ol>
52
-
53
- <ol style="a">
54
- <li>loweralpha</li>
55
- </ol>
56
-
57
- <ol style="I">
58
- <li>upperroman</li>
59
- </ol>
60
-
61
- <ol style="i">
62
- <li>lowerroman</li>
63
- </ol>
64
-
65
- <ul type="disc">
66
- <li>disc</li>
67
- </ul>
68
-
69
- <p>a nested list with no whitespace:</p>
70
- <ul><li>item a</li><li>item b<ul><li>item bb</li><li>item bc</li></ul></li></ul>
71
-
72
- <p>a nested list with lots of whitespace:</p>
73
- <ul> <li> item wa </li> <li> item wb <ul> <li> item wbb </li> <li> item wbc </li> </ul> </li> </ul>
74
-
75
- <ul>
76
- <li class="toclevel-1 tocsection-1"><a href="Basic_concepts"><span class="tocnumber">1</span> <span class="toctext">Basic concepts</span></a></li>
77
- <li class="toclevel-1 tocsection-2"><a href="History_of_the_idea"><span class="tocnumber">2</span> <span class="toctext">History of the idea</span></a></li>
78
- <li class="toclevel-1 tocsection-3"><a href="Intelligence_explosion"><span class="tocnumber">3</span> <span class="toctext">Intelligence explosion</span></a>
79
- </ul>
80
-
81
- <ul>
82
- <li>
83
- <p dir="ltr">I want to have a party at my house!</p>
84
- </li>
85
- </ul>
86
-
87
- <ul>
88
- <li>
89
- <p>li 1, p 1</p>
90
- <p>li 1, p 2</p>
91
- </li>
92
- <li><p>li 2, p 1</p></li>
93
- </ul>
94
-
95
- <ol>
96
- <li>
97
- one
98
- <ol>
99
- <li>one one</li>
100
- <li>one two</li>
101
- </ol>
102
- </li>
103
- <li>
104
- two
105
- <ol>
106
- <li>
107
- two one
108
- <ol>
109
- <li>two one one</li>
110
- <li>two one two</li>
111
- </ol>
112
- </li>
113
- <li>two two</li>
114
- </ol>
115
- </li>
116
- <li>three</li>
117
- </ol>
118
-
119
- <p>a nested list between adjacent list items</p>
120
- <ul>
121
- <li>alpha</li>
122
- <li>bravo
123
- <ul>
124
- <li>bravo alpha</li>
125
- <li>bravo bravo
126
- <ul>
127
- <li>bravo bravo alpha</i>
128
- </ul>
129
- </li>
130
- </ul>
131
- </li>
132
- <li>charlie</li>
133
- <li>delta</li>
134
- </ul>
135
-
136
- </body>
137
- </html>
@@ -1,4 +0,0 @@
1
- <html>
2
- <body>
3
- </body>
4
- </html>
@@ -1,24 +0,0 @@
1
- <html>
2
- <body>
3
- <p>First content</p>
4
- <p>
5
- Second
6
- content
7
- </p>
8
- <p>
9
- <em>Complex</em>
10
- <pre>
11
- <code>Content</code>
12
- </pre>
13
- </p>
14
- <p>
15
- <strong>Trailing whitespace: </strong>
16
- </p>
17
- <p>
18
- <strong>Trailing non-breaking space:&nbsp;</strong>
19
- </p>
20
- <p>
21
- <strong><em>Combination:&nbsp;</em></strong>
22
- </p>
23
- </body>
24
- </html>
@@ -1,12 +0,0 @@
1
- <html>
2
- <body>
3
- <pre>
4
- <code>Block of code</code>
5
- </pre>
6
-
7
- <blockquote>
8
- <p>First quoted paragraph</p>
9
- <p>Second quoted paragraph</p>
10
- </blockquote>
11
- </body>
12
- </html>
@@ -1,99 +0,0 @@
1
- <html>
2
- <body>
3
- some text...
4
-
5
- <table id="A">
6
- <thead>
7
- <colgroup>
8
- <col span="2" style="background-color:red">
9
- <col style="background-color:yellow">
10
- </colgroup>
11
- </thead>
12
- <tbody>
13
- <tr id="B">
14
- <th id="C">header 1</th>
15
- <th>header 2</th>
16
- <th>header 3</th>
17
- </tr>
18
- <tr>
19
- <th id="D">data 1-1</td>
20
- <td>data 2-1</td>
21
- <td>data 3-1</td>
22
- </tr>
23
- <tr>
24
- <th>data 1-2</td>
25
- <td>data 2-2</td>
26
- <td>data 3-2</td>
27
- </tr>
28
- </tbody>
29
- </table>
30
-
31
- <table>
32
- <tr>
33
- <th><i>header oblique</i></th>
34
- <th><strong>header bold</strong></th>
35
- <th><code>header code</code></th>
36
- </tr>
37
- <tr>
38
- <td><i>data oblique</i></td>
39
- <td><strong>data bold</strong></td>
40
- <td><code>data code</code></td>
41
- </tr>
42
- </table>
43
-
44
- <table>
45
- <tr>
46
- <td colspan=2>colspan 2</td>
47
- </tr>
48
- <tr>
49
- <td rowspan=2>rowspan 2</td>
50
- </tr>
51
- <tr>
52
- <td rowspan=2 colspan=2>colrowspan 2</td>
53
- </tr>
54
- </table>
55
-
56
- <table>
57
- <tr>
58
- <td align="left">horizontal left</td>
59
- <td align="center">horizontal center</td>
60
- <td align="right">horizontal right</td>
61
- </tr>
62
- <tr>
63
- <td valign="top">vertical top</td>
64
- <td valign="middle">vertical middle</td>
65
- <td valign="bottom">vertical bottom</td>
66
- </tr>
67
- <tr>
68
- <td align="center" valign="middle">center middle</td>
69
- </tr>
70
- </table>
71
-
72
- <table>
73
- <caption>Table <i>caption</i></caption>
74
- <tr>
75
- <td>
76
- <p>Hello</p>
77
- <p>This cell has multiple paragraphs</p>
78
- </td>
79
- <td>
80
- <p>This cell has a single paragraph</p>
81
- </td>
82
- </tr>
83
- </table>
84
-
85
- <table width="75%">
86
- <tr>
87
- <td>75% width table</td>
88
- </tr>
89
- </table>
90
-
91
- <table frame="hsides" rules="cols">
92
- <tr>
93
- <td>topbot</td>
94
- </tr>
95
- </table>
96
-
97
- some text...
98
- </body>
99
- </html>
@@ -1,9 +0,0 @@
1
- <html>
2
- <body>
3
- <p>
4
- <foo>
5
- <bar>Foo with bar</bar>
6
- </foo>
7
- </p>
8
- </body>
9
- </html>
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe "exe/reverse_adoc" do
6
- subject(:convert) do
7
- ShellUtils.execute!("./exe/reverse_adoc -e -o test1 #{input_file_path}")
8
- end
9
-
10
- unless Gem.win_platform?
11
- context "when external images present" do
12
- let(:input_file_path) { "spec/assets/external_images.html" }
13
- let(:images_folder) { "images" }
14
-
15
- after do
16
- FileUtils.rm_rf(images_folder) if File.directory?(images_folder)
17
- end
18
-
19
- it "Does not raise error" do
20
- expect { convert }.to_not raise_error
21
- end
22
-
23
- it "exatracts images from source html" do
24
- expect { convert }
25
- .to(change do
26
- Dir["#{images_folder}/*gif"]
27
- .map { |entry| File.basename(entry) }
28
- .sort
29
- end.from([]).to(["001.gif"]))
30
- end
31
- end
32
- end
33
- end
data/spec/bin/w2a_spec.rb DELETED
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe "exe/w2a" do
6
- subject(:convert) do
7
- ShellUtils.execute!("./exe/w2a -e -o test1 #{input_file_path}")
8
- end
9
-
10
- # TODO: fix github actions integration with libreoffice, currently it hangs
11
- # when trying to use soffice binary
12
- unless Gem.win_platform? ||
13
- (Gem::Platform.local.os == "darwin" && !ENV["GITHUB_ACTION"].nil?)
14
- context "when external images present" do
15
- let(:input_file_path) { "spec/assets/external_images.docx" }
16
- let(:images_folder) { "images" }
17
-
18
- after do
19
- FileUtils.rm_rf(images_folder) if File.directory?(images_folder)
20
- end
21
-
22
- it "Does not raise error" do
23
- expect { convert }.to_not raise_error
24
- end
25
-
26
- it "extracts images from source html" do
27
- expect { convert }
28
- .to(change do
29
- !Dir["#{images_folder}/*gif"]
30
- .map { |entry| File.basename(entry) }.empty?
31
- end.from(false).to(true))
32
- end
33
- end
34
- end
35
- end
@@ -1,32 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe ReverseAdoc do
4
- let(:input) { File.read("spec/assets/anchors.html") }
5
- let(:document) { Nokogiri::HTML(input) }
6
- subject { ReverseAdoc.convert(input) }
7
-
8
- it { is_expected.to include "http://foobar.com[Foobar]" }
9
- it { is_expected.to include "http://foobar.com[Fubar]" }
10
- it { is_expected.to include 'http://foobar.com[f\*\*\*\*\* up beyond all redemption]' }
11
- it { is_expected.to include "http://strong.foobar.com[*Strong foobar*]" }
12
-
13
- it {
14
- is_expected.to include "There should be space before but not after the anchor ( http://foobar.com[stripped])."
15
- }
16
-
17
- it {
18
- is_expected.to include " do not ignore link:foo.html[] anchor tags with no link text "
19
- }
20
- it {
21
- is_expected.to include " link <<content,internal jumplinks>> with anchors "
22
- }
23
- it {
24
- is_expected.to include " link <<content2>>internal jumplinks without anchors "
25
- }
26
- it { is_expected.to include " treat [[content]] as bookmarks " }
27
-
28
- it { is_expected.to include "<<a_bspaced,Double \\_\\_ anchor with space>>" }
29
- it { is_expected.to include "[[a_bspaced]]" }
30
- it { is_expected.to include "[[a_Foreword]]\n== Text" }
31
- it { is_expected.not_to include "[[_Toc12345]]" }
32
- end
@@ -1,63 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe ReverseAdoc do
4
- let(:input) { File.read("spec/assets/basic.html") }
5
- # let(:document) { Nokogiri::HTML(input) }
6
- subject { ReverseAdoc.convert(input) }
7
-
8
- it { is_expected.to match /plain text ?\n/ }
9
- it { is_expected.to match /\n== h1\n/ }
10
- it { is_expected.to match /\n\[\[A\]\]\n== h1 with anchor\n/ }
11
- it { is_expected.to match /\n=== h2\n/ }
12
- it { is_expected.to match /\n==== h3\n/ }
13
- it { is_expected.to match /\n===== h4\n/ }
14
- it { is_expected.to match /\n====== h5\n/ }
15
- it { is_expected.to match /\n======= h6\n/ }
16
-
17
- it { is_expected.to match /_em tag content_/ }
18
- it { is_expected.to match /before and after empty em tags/ }
19
- it { is_expected.to match /before and after em tags containing whitespace/ }
20
- it { is_expected.to match /_double em tags_/ }
21
- it { is_expected.to match /_double em tags in p tag_/ }
22
- it { is_expected.to match /a _em with leading and trailing_ whitespace/ }
23
- it {
24
- is_expected.to match /a _em with extra leading and trailing_ whitespace/
25
- }
26
-
27
- it { is_expected.to match /\*strong tag content\*/ }
28
- it { is_expected.to match /before and after empty strong tags/ }
29
- it {
30
- is_expected.to match /before and after strong tags containing whitespace/
31
- }
32
- it { is_expected.to match /\*double strong tags\*/ }
33
- it { is_expected.to match /\*double strong tags in p tag\*/ }
34
- it {
35
- is_expected.to match /before \*double strong tags containing whitespace\* after/
36
- }
37
- it {
38
- is_expected.to match /a \*strong with leading and trailing\* whitespace/
39
- }
40
- it {
41
- is_expected.to match /a \*strong with extra leading and trailing\* whitespace/
42
- }
43
-
44
- it { is_expected.to match /constrai\*\*ned\*\* strong/ }
45
- it { is_expected.to match /constrai__ned__ italic/ }
46
-
47
- it { is_expected.to match /_i tag content_/ }
48
- it { is_expected.to match /\*b tag content\*/ }
49
-
50
- it { is_expected.to match /H~2~O/ }
51
- it { is_expected.to match /A\^2\^B/ }
52
-
53
- it {
54
- is_expected.to match /br tags become double space followed by newline \+\n/
55
- }
56
- # it { should match /br tags XXX \n/ }
57
-
58
- it { is_expected.to match /before hr \n\* \* \*\n after hr/ }
59
-
60
- it { is_expected.to match /section 1\n ?\nsection 2/ }
61
-
62
- it { is_expected.to match /ignore abbr/ }
63
- end
@@ -1,25 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe ReverseAdoc do
4
- let(:input) { File.read("spec/assets/code.html") }
5
- let(:document) { Nokogiri::HTML(input) }
6
- subject { ReverseAdoc.convert(input) }
7
-
8
- it { is_expected.to match /inline `code` block/ }
9
- it { is_expected.to match /\nvar this;\nthis\.is/ }
10
- it { is_expected.to match /block"\)\nconsole/ }
11
-
12
- context "with github style code blocks" do
13
- subject { ReverseAdoc.convert(input) }
14
- it { is_expected.to match /inline `code` block/ }
15
- it { is_expected.to match /\n\.\.\.\.\nvar this;\nthis/ }
16
- it { is_expected.to match /it is"\) ?\n \n\.\.\.\./ }
17
- end
18
-
19
- context "code with indentation" do
20
- subject { ReverseAdoc.convert(input) }
21
- it { is_expected.to match(/^tell application "Foo"\n/) }
22
- it { is_expected.to match(/^ beep\n/) }
23
- it { is_expected.to match(/^end tell\n/) }
24
- end
25
- end
@@ -1,30 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe ReverseAdoc do
4
- let(:input) { File.read("spec/assets/escapables.html") }
5
- let(:document) { Nokogiri::HTML(input) }
6
- subject { ReverseAdoc.convert(input) }
7
-
8
- context "multiple asterisks" do
9
- it { is_expected.to include ' \*\*two asterisks\*\* ' }
10
- it { is_expected.to include ' \*\*\*three asterisks\*\*\* ' }
11
- it { is_expected.to include ' \*and*the\* ' }
12
- it { is_expected.to include " asterisc*word " }
13
- it { is_expected.to include ' asterisc**multword asterisks\*\*\* ' }
14
- end
15
-
16
- context "multiple underscores" do
17
- it { is_expected.to include ' \_\_two underscores\_\_ ' }
18
- it { is_expected.to include ' \_\_\_three underscores\_\_\_ ' }
19
- end
20
-
21
- context "multiple underscores with undersocre inside words and new lines" do
22
- it { is_expected.to include "another_undersocre" }
23
- it { is_expected.to include ' \_\_\_three__underscores\_\_\_ ' }
24
- end
25
-
26
- context "underscores within words in code blocks" do
27
- let(:expected_output) { "....\nvar theoretical_max_infin = 1.0;\n....\n" }
28
- it { is_expected.to include expected_output }
29
- end
30
- end
@@ -1,15 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe ReverseAdoc do
4
- let(:input) { File.read("spec/assets/from_the_wild.html") }
5
- let(:document) { Nokogiri::HTML(input) }
6
- subject { ReverseAdoc.convert(input) }
7
-
8
- it "should make sense of strong-crazy markup (as seen in the wild)" do
9
- expect(subject).to include "*. +\n \\*\\*\\* intentcast* : logo design *+*\n"
10
- end
11
-
12
- it "should not over escape * or _" do
13
- expect(subject).to include 'link:example.com/foo_bar[image::example.com/foo_bar.png[] I\_AM\_HELPFUL]'
14
- end
15
- end
@@ -1,9 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe ReverseAdoc do
4
- let(:input) { File.read("spec/assets/html_fragment.html") }
5
- let(:document) { Nokogiri::HTML(input) }
6
- subject { ReverseAdoc.convert(input) }
7
-
8
- it { is_expected.to eq("naked text 1\n\nparagraph text\n\nnaked text 2") }
9
- end