asciidoctor-doctest 1.5.2.0 → 2.0.0.beta.1

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.adoc +48 -68
  4. data/features/fixtures/html-slim/Rakefile +5 -11
  5. data/features/generator_html.feature +6 -6
  6. data/features/test_html.feature +70 -28
  7. data/lib/asciidoctor/doctest.rb +11 -14
  8. data/lib/asciidoctor/doctest/asciidoc_converter.rb +85 -0
  9. data/lib/asciidoctor/doctest/{base_example.rb → example.rb} +6 -27
  10. data/lib/asciidoctor/doctest/factory.rb +36 -0
  11. data/lib/asciidoctor/doctest/generator.rb +30 -23
  12. data/lib/asciidoctor/doctest/html/converter.rb +64 -0
  13. data/lib/asciidoctor/doctest/{html/normalizer.rb → html_normalizer.rb} +4 -4
  14. data/lib/asciidoctor/doctest/io.rb +14 -0
  15. data/lib/asciidoctor/doctest/{asciidoc/examples_suite.rb → io/asciidoc.rb} +4 -8
  16. data/lib/asciidoctor/doctest/{base_examples_suite.rb → io/base.rb} +28 -46
  17. data/lib/asciidoctor/doctest/io/xml.rb +69 -0
  18. data/lib/asciidoctor/doctest/no_fallback_template_converter.rb +42 -0
  19. data/lib/asciidoctor/doctest/rake_tasks.rb +229 -0
  20. data/lib/asciidoctor/doctest/test_reporter.rb +110 -0
  21. data/lib/asciidoctor/doctest/tester.rb +134 -0
  22. data/lib/asciidoctor/doctest/version.rb +1 -1
  23. data/spec/asciidoc_converter_spec.rb +64 -0
  24. data/spec/{base_example_spec.rb → example_spec.rb} +4 -5
  25. data/spec/factory_spec.rb +46 -0
  26. data/spec/html/converter_spec.rb +95 -0
  27. data/spec/{html/normalizer_spec.rb → html_normalizer_spec.rb} +1 -1
  28. data/spec/{asciidoc/examples_suite_spec.rb → io/asciidoc_spec.rb} +3 -8
  29. data/spec/{html/examples_suite_spec.rb → io/xml_spec.rb} +3 -106
  30. data/spec/no_fallback_template_converter_spec.rb +38 -0
  31. data/spec/shared_examples/{base_examples_suite.rb → base_examples.rb} +25 -28
  32. data/spec/spec_helper.rb +4 -0
  33. data/spec/tester_spec.rb +153 -0
  34. metadata +52 -59
  35. data/features/fixtures/html-slim/test/html_test.rb +0 -6
  36. data/features/fixtures/html-slim/test/test_helper.rb +0 -5
  37. data/lib/asciidoctor/doctest/asciidoc_renderer.rb +0 -111
  38. data/lib/asciidoctor/doctest/generator_task.rb +0 -115
  39. data/lib/asciidoctor/doctest/html/example.rb +0 -21
  40. data/lib/asciidoctor/doctest/html/examples_suite.rb +0 -118
  41. data/lib/asciidoctor/doctest/test.rb +0 -125
  42. data/spec/asciidoc_renderer_spec.rb +0 -103
  43. data/spec/test_spec.rb +0 -164
@@ -0,0 +1,38 @@
1
+ describe DocTest::NoFallbackTemplateConverter do
2
+
3
+ subject(:delegator) { described_class.new('html5', template_dirs: ['/tmp/html5']) }
4
+
5
+ describe '#convert' do
6
+
7
+ let(:converter) { delegator.__getobj__ }
8
+ let(:node) { double('Node', node_name: 'block_foo') }
9
+
10
+ before do
11
+ expect(converter).to receive(:handles?).with('block_foo').and_return(handles)
12
+ end
13
+
14
+ context 'when template is not found' do
15
+ let(:handles) { false }
16
+
17
+ it 'returns a not found marker instead of converted node' do
18
+ expect(converter).to_not receive(:convert)
19
+ expect(delegator.convert node).to eq described_class::NOT_FOUND_MARKER
20
+ end
21
+
22
+ it 'prints a warning on stderr' do
23
+ expect { delegator.convert node }.to output(/Could not find a custom template/i).to_stderr
24
+ end
25
+ end
26
+
27
+ context 'when template is found' do
28
+ let(:handles) { true }
29
+
30
+ it 'delegates to the original #convert and returns result' do
31
+ expect(converter).to receive(:convert)
32
+ .with(node, 'block_foo', {}).and_return('allons-y!')
33
+
34
+ expect(delegator.convert node).to eq 'allons-y!'
35
+ end
36
+ end
37
+ end
38
+ end
@@ -3,13 +3,10 @@ require 'forwardable'
3
3
 
4
4
  using Corefines::Array::second
5
5
 
6
- shared_examples DocTest::BaseExamplesSuite do
7
- extend Forwardable
6
+ shared_examples DocTest::IO::Base do
8
7
 
9
- def_delegator :suite, :create_example
10
-
11
- subject(:suite) { described_class.new(file_ext: '.adoc', examples_path: ex_path) }
12
- let(:ex_path) { ['/tmp/alpha', '/tmp/beta'] }
8
+ subject(:suite) { described_class.new(file_ext: '.adoc', path: path) }
9
+ let(:path) { ['/tmp/alpha', '/tmp/beta'] }
13
10
 
14
11
 
15
12
  describe '#initialize' do
@@ -19,16 +16,16 @@ shared_examples DocTest::BaseExamplesSuite do
19
16
 
20
17
  {'nil' => nil, 'blank' => ' '}.each do |desc, file_ext|
21
18
  context "with file_ext #{desc}" do
22
- let(:args) { {file_ext: file_ext, examples_path: ex_path} }
19
+ let(:args) { {file_ext: file_ext, path: path} }
23
20
  it { expect { init }.to raise_error ArgumentError }
24
21
  end
25
22
  end
26
23
 
27
- context 'with examples_path string' do
28
- let(:args) { {file_ext: '.html', examples_path: '/foo/bar'} }
24
+ context 'with path string' do
25
+ let(:args) { {file_ext: '.html', path: '/foo/bar'} }
29
26
 
30
27
  it 'wraps string to array' do
31
- is_expected.to have_attributes(examples_path: ['/foo/bar'])
28
+ is_expected.to have_attributes(path: ['/foo/bar'])
32
29
  end
33
30
  end
34
31
  end
@@ -51,8 +48,8 @@ shared_examples DocTest::BaseExamplesSuite do
51
48
  let(:group_name) { 'section' }
52
49
 
53
50
  before do
54
- ex_path.each { |p| FileUtils.mkpath p }
55
- create_and_write_group ex_path.first, 'noise', '.adoc', 'foo', 'bar'
51
+ path.each { |p| FileUtils.mkpath p }
52
+ create_and_write_group path.first, 'noise', '.adoc', 'foo', 'bar'
56
53
 
57
54
  allow(suite).to receive(:parse) do |input, group_name|
58
55
  path, file_name, *example_names = input.split("\n")
@@ -71,7 +68,7 @@ shared_examples DocTest::BaseExamplesSuite do
71
68
 
72
69
  context "when the group's file has a wrong file extension" do
73
70
  before do
74
- create_and_write_group ex_path.first, group_name, '.html', 'level1', 'level2'
71
+ create_and_write_group path.first, group_name, '.html', 'level1', 'level2'
75
72
  end
76
73
 
77
74
  it { is_expected.to be_empty }
@@ -79,7 +76,7 @@ shared_examples DocTest::BaseExamplesSuite do
79
76
 
80
77
  context 'when single group file is found' do
81
78
  let! :examples do
82
- create_and_write_group ex_path.second, group_name, '.adoc', 'level1', 'level2'
79
+ create_and_write_group path.second, group_name, '.adoc', 'level1', 'level2'
83
80
  end
84
81
 
85
82
  it 'returns parsed examples' do
@@ -89,8 +86,8 @@ shared_examples DocTest::BaseExamplesSuite do
89
86
 
90
87
  context 'when multiple group files are found and contains example with same name' do
91
88
  let! :examples do
92
- first = create_and_write_group ex_path.first, group_name, '.adoc', 'level1', 'level2'
93
- second = create_and_write_group ex_path.second, group_name, '.adoc', 'level2', 'level3'
89
+ first = create_and_write_group path.first, group_name, '.adoc', 'level1', 'level2'
90
+ second = create_and_write_group path.second, group_name, '.adoc', 'level2', 'level3'
94
91
  [*first, second[1]]
95
92
  end
96
93
 
@@ -108,7 +105,7 @@ shared_examples DocTest::BaseExamplesSuite do
108
105
  (1..2).map { |i| create_example "section:level#{i}", content: 'yada' }
109
106
  end
110
107
 
111
- before { ex_path.each { |p| FileUtils.mkpath p } }
108
+ before { path.each { |p| FileUtils.mkpath p } }
112
109
 
113
110
  it 'writes serialized examples to file named after the group with file extension' do
114
111
  expect(suite).to receive :serialize do |exmpls|
@@ -116,7 +113,7 @@ shared_examples DocTest::BaseExamplesSuite do
116
113
  end
117
114
  suite.write_examples examples
118
115
 
119
- file = File.read "#{ex_path.first}/section.adoc"
116
+ file = File.read "#{path.first}/section.adoc"
120
117
  expect(file).to eq examples.map(&:name).join("\n")
121
118
  end
122
119
  end
@@ -127,7 +124,7 @@ shared_examples DocTest::BaseExamplesSuite do
127
124
 
128
125
  subject(:result) { suite.group_names }
129
126
 
130
- before { ex_path.each { |p| FileUtils.mkpath p } }
127
+ before { path.each { |p| FileUtils.mkpath p } }
131
128
 
132
129
  context 'when no file is found' do
133
130
  it { is_expected.to be_empty }
@@ -135,22 +132,22 @@ shared_examples DocTest::BaseExamplesSuite do
135
132
 
136
133
  it 'returns names of files with matching file extension only' do
137
134
  %w[block_image.html block_ulist.adoc].each do |name|
138
- File.write "#{ex_path.first}/#{name}", 'yada'
135
+ File.write "#{path.first}/#{name}", 'yada'
139
136
  end
140
137
  is_expected.to contain_exactly 'block_ulist'
141
138
  end
142
139
 
143
140
  it 'returns names sorted and deduplicated' do
144
141
  (names = %w[z j d c k d]).each_with_index do |name, i|
145
- File.write "#{ex_path[i % 2]}/#{name}.adoc", 'yada'
142
+ File.write "#{path[i % 2]}/#{name}.adoc", 'yada'
146
143
  end
147
144
 
148
145
  is_expected.to eq names.uniq.sort
149
146
  end
150
147
 
151
148
  it 'ignores directories and files in subdirectories' do
152
- Dir.mkdir "#{ex_path.first}/invalid.adoc"
153
- File.write "#{ex_path.first}/invalid.adoc/wat.adoc", 'yada'
149
+ Dir.mkdir "#{path.first}/invalid.adoc"
150
+ File.write "#{path.first}/invalid.adoc/wat.adoc", 'yada'
154
151
 
155
152
  is_expected.to be_empty
156
153
  end
@@ -190,14 +187,14 @@ shared_examples DocTest::BaseExamplesSuite do
190
187
  let(:result_names) { result.map(&:first).map(&:name) }
191
188
 
192
189
  let(:ours_suite) { described_class.new(file_ext: '.xyz') }
193
- let(:theirs_suite) { DocTest::Asciidoc::ExamplesSuite.new(file_ext: '.adoc') }
190
+ let(:theirs_suite) { DocTest::IO::Asciidoc.new(file_ext: '.adoc') }
194
191
 
195
192
  def ours_exmpl(suffix, group = 0)
196
- ours_suite.create_example "gr#{group}:ex#{suffix}", content: 'ours!'
193
+ create_example "gr#{group}:ex#{suffix}", content: 'ours!'
197
194
  end
198
195
 
199
196
  def theirs_exmpl(suffix, group = 0)
200
- theirs_suite.create_example "gr#{group}:ex#{suffix}", content: 'theirs!'
197
+ create_example "gr#{group}:ex#{suffix}", content: 'theirs!'
201
198
  end
202
199
 
203
200
  before do
@@ -235,7 +232,7 @@ shared_examples DocTest::BaseExamplesSuite do
235
232
  end
236
233
 
237
234
  it 'replaces the missing example with empty one with the name' do
238
- expect(result.second.last).to eq theirs_suite.create_example 'gr0:ex1'
235
+ expect(result.second.last).to eq create_example 'gr0:ex1'
239
236
  end
240
237
  end
241
238
 
@@ -247,7 +244,7 @@ shared_examples DocTest::BaseExamplesSuite do
247
244
  end
248
245
 
249
246
  it 'replaces the missing example with empty one with the name' do
250
- expect(result.last.first).to eq ours_suite.create_example 'gr0:ex0'
247
+ expect(result.last.first).to eq create_example 'gr0:ex0'
251
248
  end
252
249
  end
253
250
  end
data/spec/spec_helper.rb CHANGED
@@ -33,3 +33,7 @@ RSpec.configure do |config|
33
33
 
34
34
  config.color = true
35
35
  end
36
+
37
+ def create_example(*args)
38
+ DocTest::Example.new(*args)
39
+ end
@@ -0,0 +1,153 @@
1
+ describe DocTest::Tester do
2
+
3
+ subject(:tester) { described_class.new(input_suite, output_suite, converter, reporter) }
4
+
5
+ let(:converter) { double 'converter' }
6
+ let(:input_suite) { double 'ExamplesSuite' }
7
+ let(:output_suite) { double 'ExamplesSuite' }
8
+ let(:reporter) { spy 'Reporter' }
9
+ let(:examples) { fixtures }
10
+
11
+
12
+ describe '#initialize' do
13
+
14
+ context "with default reporter" do
15
+ subject(:tester) { described_class.new(input_suite, output_suite, converter, nil) }
16
+
17
+ it { expect(tester.reporter).to be_a DocTest::TestReporter }
18
+ end
19
+ end
20
+
21
+
22
+ describe '#run_tests' do
23
+
24
+ before do |ex|
25
+ next if ex.metadata[:skip_before]
26
+
27
+ expect(input_suite).to receive(:pair_with)
28
+ .with(output_suite).and_return(examples.values)
29
+ allow(tester).to receive(:test_example)
30
+ end
31
+
32
+ context "with default pattern" do
33
+
34
+ it "pairs the examples and tests all valid pairs" do
35
+ ['ex:alpha', 'ex:beta', 'ex:nooutput'].each do |name|
36
+ expect(tester).to receive(:test_example).with(*examples[name])
37
+ end
38
+ tester.run_tests
39
+ end
40
+ end
41
+
42
+ context "with specific pattern" do
43
+
44
+ it "pairs the examples and tests those matching the pattern" do
45
+ expect(tester).to receive(:test_example).with(*examples['ex:beta'])
46
+ tester.run_tests(pattern: 'ex:b*')
47
+ end
48
+ end
49
+
50
+ it "ignores pairs with empty input example" do
51
+ expect(tester).to_not receive(:test_example).with(*examples['ex:noinput'])
52
+ tester.run_tests
53
+ end
54
+
55
+ it "calls reporter's methods in the correct order", :skip_before do
56
+ expect(reporter).to receive(:start).ordered
57
+ expect(input_suite).to receive(:pair_with).and_return([]).ordered
58
+ expect(reporter).to receive(:report).ordered
59
+ expect(reporter).to receive(:passed?).ordered
60
+
61
+ tester.run_tests
62
+ end
63
+ end
64
+
65
+
66
+ describe '#test_example' do
67
+
68
+ subject(:failures) { tester.test_example input_exmpl, output_exmpl }
69
+
70
+ let(:examples_pair) { examples['ex:alpha'] }
71
+ let(:input_exmpl) { examples_pair[0] }
72
+ let(:output_exmpl) { examples_pair[1] }
73
+ let(:actual) { output_exmpl.content }
74
+ let(:expected) { output_exmpl.content }
75
+
76
+ shared_examples :example do
77
+ it "calls reporter" do
78
+ expect(reporter).to receive(:record)
79
+ tester.test_example input_exmpl, output_exmpl
80
+ end
81
+ end
82
+
83
+ before do |ex|
84
+ next if ex.metadata[:skip_before]
85
+
86
+ expect(converter).to receive(:convert_examples)
87
+ .with(input_exmpl, output_exmpl)
88
+ .and_return([actual, expected])
89
+ end
90
+
91
+
92
+ context "when output example is empty", :skip_before do
93
+
94
+ let(:examples_pair) { examples['ex:nooutput'] }
95
+
96
+ it "skips the test" do
97
+ is_expected.to contain_exactly Minitest::Skip
98
+ end
99
+
100
+ include_examples :example
101
+ end
102
+
103
+ context "when examples are equivalent" do
104
+
105
+ it "returns no failure" do
106
+ is_expected.to be_empty
107
+ end
108
+
109
+ include_examples :example
110
+ end
111
+
112
+ context "when examples are not equivalent" do
113
+
114
+ let(:actual) { '<em>meh</em>' }
115
+
116
+ it "returns failure" do
117
+ is_expected.to include Minitest::Assertion
118
+ end
119
+
120
+ context "and input example has desc:" do
121
+
122
+ it "returns failure with message that starts with the desc" do
123
+ expect(failures.first.message).to match /^yada.*/
124
+ end
125
+ end
126
+
127
+ context "and both input and output examples have desc:" do
128
+
129
+ let(:examples_pair) { examples['ex:beta'] }
130
+
131
+ it "returns failure with message that starts with the output's example desc" do
132
+ expect(failures.first.message).to match /^Yoda.*/
133
+ end
134
+ end
135
+
136
+ include_examples :example
137
+ end
138
+ end
139
+
140
+
141
+ def fixtures
142
+ data = {
143
+ 'ex:alpha' => [ {content: '_alpha_', desc: 'yada'}, {content: '<i>alpha</i>'} ],
144
+ 'ex:beta' => [ {content: '*beta*', desc: 'yada'}, {content: '<b>beta</b>', desc: 'Yoda'} ],
145
+ 'ex:noinput' => [ {}, {content: '<del>noinput</del>'} ],
146
+ 'ex:nooutput' => [ {content: 'nooutput'}, {} ]
147
+ }
148
+ data = data.map { |name, tuple|
149
+ [ name, tuple.map { |opts| DocTest::Example.new(name, opts) } ]
150
+ }
151
+ Hash[data]
152
+ end
153
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-doctest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2.0
4
+ version: 2.0.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Jirutka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-03 00:00:00.000000000 Z
11
+ date: 2017-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: asciidoctor
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0
33
+ version: '1.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.0
40
+ version: '1.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: diffy
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,34 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '5.4'
83
- - !ruby/object:Gem::Dependency
84
- name: minitest-rg
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '5.1'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '5.1'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: nokogiri
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: 1.6.0
89
+ version: 1.8.0
104
90
  type: :runtime
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: 1.6.0
96
+ version: 1.8.0
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: bundler
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +114,14 @@ dependencies:
128
114
  requirements:
129
115
  - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '10.0'
117
+ version: '12.0'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '10.0'
124
+ version: '12.0'
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: thread_safe
141
127
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +170,14 @@ dependencies:
184
170
  requirements:
185
171
  - - "~>"
186
172
  - !ruby/object:Gem::Version
187
- version: 0.6.4
173
+ version: 0.11.0
188
174
  type: :development
189
175
  prerelease: false
190
176
  version_requirements: !ruby/object:Gem::Requirement
191
177
  requirements:
192
178
  - - "~>"
193
179
  - !ruby/object:Gem::Version
194
- version: 0.6.4
180
+ version: 0.11.0
195
181
  - !ruby/object:Gem::Dependency
196
182
  name: simplecov
197
183
  requirement: !ruby/object:Gem::Requirement
@@ -254,14 +240,14 @@ dependencies:
254
240
  requirements:
255
241
  - - "~>"
256
242
  - !ruby/object:Gem::Version
257
- version: '1.3'
243
+ version: '2.4'
258
244
  type: :development
259
245
  prerelease: false
260
246
  version_requirements: !ruby/object:Gem::Requirement
261
247
  requirements:
262
248
  - - "~>"
263
249
  - !ruby/object:Gem::Version
264
- version: '1.3'
250
+ version: '2.4'
265
251
  - !ruby/object:Gem::Dependency
266
252
  name: slim
267
253
  requirement: !ruby/object:Gem::Requirement
@@ -276,8 +262,10 @@ dependencies:
276
262
  - - "~>"
277
263
  - !ruby/object:Gem::Version
278
264
  version: '2.1'
279
- description: |
280
- A tool for end-to-end testing of Asciidoctor backends based on comparing of textual output.
265
+ description: 'A tool for end-to-end testing of Asciidoctor backends based on comparing
266
+ of textual output.
267
+
268
+ '
281
269
  email: jakub@jirutka.cz
282
270
  executables: []
283
271
  extensions: []
@@ -339,36 +327,41 @@ files:
339
327
  - features/fixtures/html-slim/templates/document.html.slim
340
328
  - features/fixtures/html-slim/templates/embedded.html.slim
341
329
  - features/fixtures/html-slim/templates/inline_quoted.html.slim
342
- - features/fixtures/html-slim/test/html_test.rb
343
- - features/fixtures/html-slim/test/test_helper.rb
344
330
  - features/generator_html.feature
345
331
  - features/step_definitions/doctest_steps.rb
346
332
  - features/support/env.rb
347
333
  - features/test_html.feature
348
334
  - lib/asciidoctor-doctest.rb
349
335
  - lib/asciidoctor/doctest.rb
350
- - lib/asciidoctor/doctest/asciidoc/examples_suite.rb
351
- - lib/asciidoctor/doctest/asciidoc_renderer.rb
352
- - lib/asciidoctor/doctest/base_example.rb
353
- - lib/asciidoctor/doctest/base_examples_suite.rb
336
+ - lib/asciidoctor/doctest/asciidoc_converter.rb
337
+ - lib/asciidoctor/doctest/example.rb
338
+ - lib/asciidoctor/doctest/factory.rb
354
339
  - lib/asciidoctor/doctest/generator.rb
355
- - lib/asciidoctor/doctest/generator_task.rb
356
- - lib/asciidoctor/doctest/html/example.rb
357
- - lib/asciidoctor/doctest/html/examples_suite.rb
358
- - lib/asciidoctor/doctest/html/normalizer.rb
340
+ - lib/asciidoctor/doctest/html/converter.rb
341
+ - lib/asciidoctor/doctest/html_normalizer.rb
342
+ - lib/asciidoctor/doctest/io.rb
343
+ - lib/asciidoctor/doctest/io/asciidoc.rb
344
+ - lib/asciidoctor/doctest/io/base.rb
345
+ - lib/asciidoctor/doctest/io/xml.rb
359
346
  - lib/asciidoctor/doctest/minitest_diffy.rb
360
- - lib/asciidoctor/doctest/test.rb
347
+ - lib/asciidoctor/doctest/no_fallback_template_converter.rb
348
+ - lib/asciidoctor/doctest/rake_tasks.rb
349
+ - lib/asciidoctor/doctest/test_reporter.rb
350
+ - lib/asciidoctor/doctest/tester.rb
361
351
  - lib/asciidoctor/doctest/version.rb
362
- - spec/asciidoc/examples_suite_spec.rb
363
- - spec/asciidoc_renderer_spec.rb
364
- - spec/base_example_spec.rb
365
- - spec/html/examples_suite_spec.rb
366
- - spec/html/normalizer_spec.rb
352
+ - spec/asciidoc_converter_spec.rb
353
+ - spec/example_spec.rb
354
+ - spec/factory_spec.rb
355
+ - spec/html/converter_spec.rb
356
+ - spec/html_normalizer_spec.rb
357
+ - spec/io/asciidoc_spec.rb
358
+ - spec/io/xml_spec.rb
367
359
  - spec/minitest_diffy_spec.rb
368
- - spec/shared_examples/base_examples_suite.rb
360
+ - spec/no_fallback_template_converter_spec.rb
361
+ - spec/shared_examples/base_examples.rb
369
362
  - spec/spec_helper.rb
370
363
  - spec/support/matchers.rb
371
- - spec/test_spec.rb
364
+ - spec/tester_spec.rb
372
365
  homepage: https://github.com/asciidoctor/asciidoctor-doctest
373
366
  licenses:
374
367
  - MIT
@@ -384,12 +377,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
384
377
  version: '2.0'
385
378
  required_rubygems_version: !ruby/object:Gem::Requirement
386
379
  requirements:
387
- - - ">="
380
+ - - ">"
388
381
  - !ruby/object:Gem::Version
389
- version: '0'
382
+ version: 1.3.1
390
383
  requirements: []
391
384
  rubyforge_project:
392
- rubygems_version: 2.4.6
385
+ rubygems_version: 2.6.11
393
386
  signing_key:
394
387
  specification_version: 4
395
388
  summary: Test suite for Asciidoctor backends
@@ -406,20 +399,20 @@ test_files:
406
399
  - features/fixtures/html-slim/templates/document.html.slim
407
400
  - features/fixtures/html-slim/templates/embedded.html.slim
408
401
  - features/fixtures/html-slim/templates/inline_quoted.html.slim
409
- - features/fixtures/html-slim/test/html_test.rb
410
- - features/fixtures/html-slim/test/test_helper.rb
411
402
  - features/generator_html.feature
412
403
  - features/step_definitions/doctest_steps.rb
413
404
  - features/support/env.rb
414
405
  - features/test_html.feature
415
- - spec/asciidoc/examples_suite_spec.rb
416
- - spec/asciidoc_renderer_spec.rb
417
- - spec/base_example_spec.rb
418
- - spec/html/examples_suite_spec.rb
419
- - spec/html/normalizer_spec.rb
406
+ - spec/asciidoc_converter_spec.rb
407
+ - spec/example_spec.rb
408
+ - spec/factory_spec.rb
409
+ - spec/html/converter_spec.rb
410
+ - spec/html_normalizer_spec.rb
411
+ - spec/io/asciidoc_spec.rb
412
+ - spec/io/xml_spec.rb
420
413
  - spec/minitest_diffy_spec.rb
421
- - spec/shared_examples/base_examples_suite.rb
414
+ - spec/no_fallback_template_converter_spec.rb
415
+ - spec/shared_examples/base_examples.rb
422
416
  - spec/spec_helper.rb
423
417
  - spec/support/matchers.rb
424
- - spec/test_spec.rb
425
- has_rdoc: yard
418
+ - spec/tester_spec.rb