cucumber-core 5.0.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/lib/cucumber/core.rb +8 -6
- data/lib/cucumber/core/compiler.rb +34 -13
- data/lib/cucumber/core/event.rb +0 -2
- data/lib/cucumber/core/events.rb +25 -0
- data/lib/cucumber/core/gherkin/parser.rb +9 -6
- data/lib/cucumber/core/test/case.rb +5 -4
- data/lib/cucumber/core/test/data_table.rb +5 -9
- data/lib/cucumber/core/test/doc_string.rb +3 -6
- data/lib/cucumber/core/test/result.rb +64 -3
- data/lib/cucumber/core/test/step.rb +6 -5
- data/lib/cucumber/core/version.rb +1 -1
- data/spec/cucumber/core/compiler_spec.rb +66 -3
- data/spec/cucumber/core/gherkin/parser_spec.rb +17 -1
- data/spec/cucumber/core/test/case_spec.rb +3 -2
- data/spec/cucumber/core/test/data_table_spec.rb +10 -12
- data/spec/cucumber/core/test/doc_string_spec.rb +8 -11
- data/spec/cucumber/core/test/result_spec.rb +31 -1
- data/spec/cucumber/core/test/runner_spec.rb +23 -21
- data/spec/cucumber/core/test/step_spec.rb +10 -9
- data/spec/cucumber/core_spec.rb +1 -1
- metadata +57 -37
@@ -3,6 +3,7 @@ require 'cucumber/core/test/step'
|
|
3
3
|
|
4
4
|
module Cucumber::Core::Test
|
5
5
|
describe Step do
|
6
|
+
let(:id) { 'some-random-uid' }
|
6
7
|
let(:text) { 'step text' }
|
7
8
|
let(:location) { double }
|
8
9
|
|
@@ -10,7 +11,7 @@ module Cucumber::Core::Test
|
|
10
11
|
it "describes itself to a visitor" do
|
11
12
|
visitor = double
|
12
13
|
args = double
|
13
|
-
test_step = Step.new(text, location)
|
14
|
+
test_step = Step.new(id, text, location)
|
14
15
|
expect( visitor ).to receive(:test_step).with(test_step, args)
|
15
16
|
test_step.describe_to(visitor, args)
|
16
17
|
end
|
@@ -19,7 +20,7 @@ module Cucumber::Core::Test
|
|
19
20
|
describe "backtrace line" do
|
20
21
|
let(:text) { 'this step passes' }
|
21
22
|
let(:location) { Location.new('path/file.feature', 10) }
|
22
|
-
let(:test_step) { Step.new(text, location) }
|
23
|
+
let(:test_step) { Step.new(id, text, location) }
|
23
24
|
|
24
25
|
it "knows how to form the backtrace line" do
|
25
26
|
expect( test_step.backtrace_line ).to eq("path/file.feature:10:in `this step passes'")
|
@@ -30,7 +31,7 @@ module Cucumber::Core::Test
|
|
30
31
|
it "passes arbitrary arguments to the action's block" do
|
31
32
|
args_spy = nil
|
32
33
|
expected_args = [double, double]
|
33
|
-
test_step = Step.new(text, location).with_action do |*actual_args|
|
34
|
+
test_step = Step.new(id, text, location).with_action do |*actual_args|
|
34
35
|
args_spy = actual_args
|
35
36
|
end
|
36
37
|
test_step.execute(*expected_args)
|
@@ -39,7 +40,7 @@ module Cucumber::Core::Test
|
|
39
40
|
|
40
41
|
context "when a passing action exists" do
|
41
42
|
it "returns a passing result" do
|
42
|
-
test_step = Step.new(text, location).with_action {}
|
43
|
+
test_step = Step.new(id, text, location).with_action {}
|
43
44
|
expect( test_step.execute ).to be_passed
|
44
45
|
end
|
45
46
|
end
|
@@ -48,7 +49,7 @@ module Cucumber::Core::Test
|
|
48
49
|
let(:exception) { StandardError.new('oops') }
|
49
50
|
|
50
51
|
it "returns a failing result" do
|
51
|
-
test_step = Step.new(text, location).with_action { raise exception }
|
52
|
+
test_step = Step.new(id, text, location).with_action { raise exception }
|
52
53
|
result = test_step.execute
|
53
54
|
expect( result ).to be_failed
|
54
55
|
expect( result.exception ).to eq exception
|
@@ -57,7 +58,7 @@ module Cucumber::Core::Test
|
|
57
58
|
|
58
59
|
context "with no action" do
|
59
60
|
it "returns an Undefined result" do
|
60
|
-
test_step = Step.new(text, location)
|
61
|
+
test_step = Step.new(id, text, location)
|
61
62
|
result = test_step.execute
|
62
63
|
expect( result ).to be_undefined
|
63
64
|
end
|
@@ -65,7 +66,7 @@ module Cucumber::Core::Test
|
|
65
66
|
end
|
66
67
|
|
67
68
|
it "exposes the text and location of as attributes" do
|
68
|
-
test_step = Step.new(text, location)
|
69
|
+
test_step = Step.new(id, text, location)
|
69
70
|
expect( test_step.text ).to eq text
|
70
71
|
expect( test_step.location ).to eq location
|
71
72
|
end
|
@@ -73,13 +74,13 @@ module Cucumber::Core::Test
|
|
73
74
|
it "exposes the location of the action as attribute" do
|
74
75
|
location = double
|
75
76
|
action = double(location: location)
|
76
|
-
test_step = Step.new(text, location, action)
|
77
|
+
test_step = Step.new(id, text, location, action)
|
77
78
|
expect( test_step.action_location ).to eq location
|
78
79
|
end
|
79
80
|
|
80
81
|
it "returns the text when converted to a string" do
|
81
82
|
text = 'a passing step'
|
82
|
-
test_step = Step.new(text, location)
|
83
|
+
test_step = Step.new(id, text, location)
|
83
84
|
expect( test_step.to_s ).to eq 'a passing step'
|
84
85
|
end
|
85
86
|
|
data/spec/cucumber/core_spec.rb
CHANGED
@@ -170,7 +170,7 @@ module Cucumber
|
|
170
170
|
context "with around hooks" do
|
171
171
|
class WithAroundHooks < Core::Filter.new(:logger)
|
172
172
|
def test_case(test_case)
|
173
|
-
base_step = Core::Test::Step.new('text', nil, nil, nil)
|
173
|
+
base_step = Core::Test::Step.new('some-random-uid', 'text', nil, nil, nil)
|
174
174
|
test_steps = [
|
175
175
|
base_step.with_action { logger << :step },
|
176
176
|
]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aslak Hellesøy
|
@@ -12,68 +12,68 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2020-02-24 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
|
-
name: gherkin
|
18
|
+
name: cucumber-gherkin
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
|
-
- - "~>"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: '8.1'
|
24
21
|
- - ">="
|
25
22
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
23
|
+
version: 10.0.0
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '10.0'
|
27
27
|
type: :runtime
|
28
28
|
prerelease: false
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '8.1'
|
34
31
|
- - ">="
|
35
32
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
33
|
+
version: 10.0.0
|
34
|
+
- - "~>"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '10.0'
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
-
name: cucumber-
|
38
|
+
name: cucumber-messages
|
39
39
|
requirement: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
43
|
+
version: '10.0'
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 10.0.1
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '10.0'
|
54
54
|
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
56
|
+
version: 10.0.1
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
58
|
+
name: cucumber-tag_expressions
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- - ">="
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: 3.15.0
|
64
61
|
- - "~>"
|
65
62
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
63
|
+
version: '2.0'
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 2.0.2
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
69
|
version_requirements: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 3.15.0
|
74
71
|
- - "~>"
|
75
72
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
73
|
+
version: '2.0'
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 2.0.2
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
78
|
name: coveralls
|
79
79
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,42 +98,62 @@ dependencies:
|
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '12.3'
|
104
101
|
- - ">="
|
105
102
|
- !ruby/object:Gem::Version
|
106
|
-
version:
|
103
|
+
version: 13.0.0
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '13.0'
|
107
107
|
type: :development
|
108
108
|
prerelease: false
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
110
110
|
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 13.0.0
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '13.0'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: rubocop
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 0.78.0
|
111
124
|
- - "~>"
|
112
125
|
- !ruby/object:Gem::Version
|
113
|
-
version: '
|
126
|
+
version: '0.78'
|
127
|
+
type: :development
|
128
|
+
prerelease: false
|
129
|
+
version_requirements: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
114
131
|
- - ">="
|
115
132
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
133
|
+
version: 0.78.0
|
134
|
+
- - "~>"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0.78'
|
117
137
|
- !ruby/object:Gem::Dependency
|
118
138
|
name: rspec
|
119
139
|
requirement: !ruby/object:Gem::Requirement
|
120
140
|
requirements:
|
121
141
|
- - ">="
|
122
142
|
- !ruby/object:Gem::Version
|
123
|
-
version: 3.
|
143
|
+
version: 3.9.0
|
124
144
|
- - "~>"
|
125
145
|
- !ruby/object:Gem::Version
|
126
|
-
version: '3.
|
146
|
+
version: '3.9'
|
127
147
|
type: :development
|
128
148
|
prerelease: false
|
129
149
|
version_requirements: !ruby/object:Gem::Requirement
|
130
150
|
requirements:
|
131
151
|
- - ">="
|
132
152
|
- !ruby/object:Gem::Version
|
133
|
-
version: 3.
|
153
|
+
version: 3.9.0
|
134
154
|
- - "~>"
|
135
155
|
- !ruby/object:Gem::Version
|
136
|
-
version: '3.
|
156
|
+
version: '3.9'
|
137
157
|
- !ruby/object:Gem::Dependency
|
138
158
|
name: unindent
|
139
159
|
requirement: !ruby/object:Gem::Requirement
|
@@ -242,10 +262,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
262
|
- !ruby/object:Gem::Version
|
243
263
|
version: '0'
|
244
264
|
requirements: []
|
245
|
-
rubygems_version: 3.0.
|
265
|
+
rubygems_version: 3.0.6
|
246
266
|
signing_key:
|
247
267
|
specification_version: 4
|
248
|
-
summary: cucumber-core-
|
268
|
+
summary: cucumber-core-6.0.0
|
249
269
|
test_files:
|
250
270
|
- spec/cucumber/core/test/runner_spec.rb
|
251
271
|
- spec/cucumber/core/test/doc_string_spec.rb
|