asciidoctor-doctest 1.5.2.0 → 2.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
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