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.
- 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
|