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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.adoc +48 -68
- data/features/fixtures/html-slim/Rakefile +5 -11
- data/features/generator_html.feature +6 -6
- data/features/test_html.feature +70 -28
- data/lib/asciidoctor/doctest.rb +11 -14
- data/lib/asciidoctor/doctest/asciidoc_converter.rb +85 -0
- data/lib/asciidoctor/doctest/{base_example.rb → example.rb} +6 -27
- data/lib/asciidoctor/doctest/factory.rb +36 -0
- data/lib/asciidoctor/doctest/generator.rb +30 -23
- data/lib/asciidoctor/doctest/html/converter.rb +64 -0
- data/lib/asciidoctor/doctest/{html/normalizer.rb → html_normalizer.rb} +4 -4
- data/lib/asciidoctor/doctest/io.rb +14 -0
- data/lib/asciidoctor/doctest/{asciidoc/examples_suite.rb → io/asciidoc.rb} +4 -8
- data/lib/asciidoctor/doctest/{base_examples_suite.rb → io/base.rb} +28 -46
- data/lib/asciidoctor/doctest/io/xml.rb +69 -0
- data/lib/asciidoctor/doctest/no_fallback_template_converter.rb +42 -0
- data/lib/asciidoctor/doctest/rake_tasks.rb +229 -0
- data/lib/asciidoctor/doctest/test_reporter.rb +110 -0
- data/lib/asciidoctor/doctest/tester.rb +134 -0
- data/lib/asciidoctor/doctest/version.rb +1 -1
- data/spec/asciidoc_converter_spec.rb +64 -0
- data/spec/{base_example_spec.rb → example_spec.rb} +4 -5
- data/spec/factory_spec.rb +46 -0
- data/spec/html/converter_spec.rb +95 -0
- data/spec/{html/normalizer_spec.rb → html_normalizer_spec.rb} +1 -1
- data/spec/{asciidoc/examples_suite_spec.rb → io/asciidoc_spec.rb} +3 -8
- data/spec/{html/examples_suite_spec.rb → io/xml_spec.rb} +3 -106
- data/spec/no_fallback_template_converter_spec.rb +38 -0
- data/spec/shared_examples/{base_examples_suite.rb → base_examples.rb} +25 -28
- data/spec/spec_helper.rb +4 -0
- data/spec/tester_spec.rb +153 -0
- metadata +52 -59
- data/features/fixtures/html-slim/test/html_test.rb +0 -6
- data/features/fixtures/html-slim/test/test_helper.rb +0 -5
- data/lib/asciidoctor/doctest/asciidoc_renderer.rb +0 -111
- data/lib/asciidoctor/doctest/generator_task.rb +0 -115
- data/lib/asciidoctor/doctest/html/example.rb +0 -21
- data/lib/asciidoctor/doctest/html/examples_suite.rb +0 -118
- data/lib/asciidoctor/doctest/test.rb +0 -125
- data/spec/asciidoc_renderer_spec.rb +0 -103
- 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::
|
7
|
-
extend Forwardable
|
6
|
+
shared_examples DocTest::IO::Base do
|
8
7
|
|
9
|
-
|
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,
|
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
|
28
|
-
let(:args) { {file_ext: '.html',
|
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(
|
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
|
-
|
55
|
-
create_and_write_group
|
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
|
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
|
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
|
93
|
-
second = create_and_write_group
|
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 {
|
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 "#{
|
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 {
|
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 "#{
|
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 "#{
|
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 "#{
|
153
|
-
File.write "#{
|
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
|
190
|
+
let(:theirs_suite) { DocTest::IO::Asciidoc.new(file_ext: '.adoc') }
|
194
191
|
|
195
192
|
def ours_exmpl(suffix, group = 0)
|
196
|
-
|
193
|
+
create_example "gr#{group}:ex#{suffix}", content: 'ours!'
|
197
194
|
end
|
198
195
|
|
199
196
|
def theirs_exmpl(suffix, group = 0)
|
200
|
-
|
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
|
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
|
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
data/spec/tester_spec.rb
ADDED
@@ -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:
|
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:
|
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.
|
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.
|
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.
|
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.
|
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: '
|
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: '
|
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.
|
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.
|
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: '
|
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: '
|
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
|
-
|
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/
|
351
|
-
- lib/asciidoctor/doctest/
|
352
|
-
- lib/asciidoctor/doctest/
|
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/
|
356
|
-
- lib/asciidoctor/doctest/
|
357
|
-
- lib/asciidoctor/doctest/
|
358
|
-
- lib/asciidoctor/doctest/
|
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/
|
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/
|
363
|
-
- spec/
|
364
|
-
- spec/
|
365
|
-
- spec/html/
|
366
|
-
- spec/
|
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/
|
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/
|
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:
|
382
|
+
version: 1.3.1
|
390
383
|
requirements: []
|
391
384
|
rubyforge_project:
|
392
|
-
rubygems_version: 2.
|
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/
|
416
|
-
- spec/
|
417
|
-
- spec/
|
418
|
-
- spec/html/
|
419
|
-
- spec/
|
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/
|
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/
|
425
|
-
has_rdoc: yard
|
418
|
+
- spec/tester_spec.rb
|