cucumber 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +35 -32
- data/History.md +17 -0
- data/cucumber.gemspec +11 -11
- data/features/json_formatter.feature +131 -131
- data/features/nested_steps.feature +60 -0
- data/legacy_features/call_steps_from_stepdefs.feature +1 -1
- data/legacy_features/language_help.feature +2 -2
- data/legacy_features/step_definitions/cucumber_steps.rb +1 -1
- data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +4 -0
- data/lib/cucumber/formatter/json.rb +0 -12
- data/lib/cucumber/platform.rb +1 -1
- data/lib/cucumber/rb_support/rb_world.rb +7 -3
- data/spec/cucumber/ast/scenario_outline_spec.rb +1 -2
- data/spec/cucumber/cli/main_spec.rb +1 -1
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +3 -3
- metadata +58 -55
data/Gemfile.lock
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cucumber (1.1.
|
4
|
+
cucumber (1.1.1)
|
5
5
|
builder (>= 2.1.2)
|
6
6
|
diff-lcs (>= 1.1.2)
|
7
|
-
gherkin (~> 2.
|
7
|
+
gherkin (~> 2.6.0)
|
8
8
|
json (>= 1.4.6)
|
9
9
|
term-ansicolor (>= 1.0.6)
|
10
10
|
|
@@ -30,54 +30,57 @@ GEM
|
|
30
30
|
childprocess (0.2.2)
|
31
31
|
ffi (~> 1.0.6)
|
32
32
|
diff-lcs (1.1.3)
|
33
|
-
ffi (1.0.
|
34
|
-
gherkin (2.
|
33
|
+
ffi (1.0.10)
|
34
|
+
gherkin (2.6.0)
|
35
35
|
json (>= 1.4.6)
|
36
|
-
innate (2011.
|
36
|
+
innate (2011.10)
|
37
37
|
rack (>= 1.1.0)
|
38
38
|
json (1.6.1)
|
39
39
|
json_pure (1.6.1)
|
40
|
-
mime-types (1.
|
40
|
+
mime-types (1.17.2)
|
41
41
|
multi_json (1.0.3)
|
42
42
|
nokogiri (1.5.0)
|
43
43
|
prawn (0.8.4)
|
44
|
-
prawn-core (
|
45
|
-
prawn-layout (
|
46
|
-
prawn-security (
|
44
|
+
prawn-core (>= 0.8.4, < 0.9)
|
45
|
+
prawn-layout (>= 0.8.4, < 0.9)
|
46
|
+
prawn-security (>= 0.8.4, < 0.9)
|
47
47
|
prawn-core (0.8.4)
|
48
48
|
prawn-layout (0.8.4)
|
49
49
|
prawn-security (0.8.4)
|
50
|
-
rack (1.3.
|
50
|
+
rack (1.3.5)
|
51
|
+
rack-protection (1.1.4)
|
52
|
+
rack
|
51
53
|
rack-test (0.6.1)
|
52
54
|
rack (>= 1.0)
|
53
|
-
rake (0.9.2)
|
54
|
-
ramaze (2011.
|
55
|
+
rake (0.9.2.2)
|
56
|
+
ramaze (2011.10.23)
|
55
57
|
innate (>= 2010.03)
|
56
58
|
rdiscount (1.6.8)
|
57
|
-
rspec (2.
|
58
|
-
rspec-core (~> 2.
|
59
|
-
rspec-expectations (~> 2.
|
60
|
-
rspec-mocks (~> 2.
|
61
|
-
rspec-core (2.
|
62
|
-
rspec-expectations (2.
|
59
|
+
rspec (2.7.0)
|
60
|
+
rspec-core (~> 2.7.0)
|
61
|
+
rspec-expectations (~> 2.7.0)
|
62
|
+
rspec-mocks (~> 2.7.0)
|
63
|
+
rspec-core (2.7.1)
|
64
|
+
rspec-expectations (2.7.0)
|
63
65
|
diff-lcs (~> 1.1.2)
|
64
|
-
rspec-mocks (2.
|
66
|
+
rspec-mocks (2.7.0)
|
65
67
|
rubyzip (0.9.4)
|
66
|
-
selenium-webdriver (2.
|
68
|
+
selenium-webdriver (2.8.0)
|
67
69
|
childprocess (>= 0.2.1)
|
68
70
|
ffi (>= 1.0.7)
|
69
71
|
json_pure
|
70
72
|
rubyzip
|
71
|
-
simplecov (0.5.
|
73
|
+
simplecov (0.5.4)
|
72
74
|
multi_json (~> 1.0.3)
|
73
75
|
simplecov-html (~> 0.5.3)
|
74
76
|
simplecov-html (0.5.3)
|
75
|
-
sinatra (1.
|
76
|
-
rack (~> 1.1)
|
77
|
-
|
77
|
+
sinatra (1.3.1)
|
78
|
+
rack (~> 1.3, >= 1.3.4)
|
79
|
+
rack-protection (~> 1.1, >= 1.1.2)
|
80
|
+
tilt (~> 1.3, >= 1.3.3)
|
78
81
|
spork (0.9.0.rc9)
|
79
82
|
syntax (1.0.0)
|
80
|
-
term-ansicolor (1.0.
|
83
|
+
term-ansicolor (1.0.7)
|
81
84
|
tilt (1.3.3)
|
82
85
|
webrat (0.7.3)
|
83
86
|
nokogiri (>= 1.2.0)
|
@@ -85,7 +88,7 @@ GEM
|
|
85
88
|
rack-test (>= 0.5.3)
|
86
89
|
xpath (0.1.4)
|
87
90
|
nokogiri (~> 1.3)
|
88
|
-
yard (0.7.
|
91
|
+
yard (0.7.3)
|
89
92
|
|
90
93
|
PLATFORMS
|
91
94
|
ruby
|
@@ -93,19 +96,19 @@ PLATFORMS
|
|
93
96
|
DEPENDENCIES
|
94
97
|
aruba (~> 0.4.6)
|
95
98
|
bcat (~> 0.6.1)
|
96
|
-
capybara (>= 1.1.
|
99
|
+
capybara (>= 1.1.1)
|
97
100
|
cucumber!
|
98
101
|
nokogiri (>= 1.5.0)
|
99
102
|
prawn (~> 0.8.4)
|
100
103
|
prawn-layout (~> 0.8.4)
|
101
|
-
rack-test (>= 0.
|
104
|
+
rack-test (>= 0.6.1)
|
102
105
|
rake (>= 0.9.2)
|
103
106
|
ramaze
|
104
107
|
rdiscount (~> 1.6.8)
|
105
|
-
rspec (>= 2.
|
106
|
-
simplecov (>= 0.4
|
107
|
-
sinatra (>= 1.
|
108
|
+
rspec (>= 2.7.0)
|
109
|
+
simplecov (>= 0.5.4)
|
110
|
+
sinatra (>= 1.3.1)
|
108
111
|
spork (>= 0.9.0.rc9)
|
109
112
|
syntax (>= 1.0.0)
|
110
113
|
webrat (>= 0.7.3)
|
111
|
-
yard (~> 0.7.
|
114
|
+
yard (~> 0.7.3)
|
data/History.md
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
## [v1.1.1](https://github.com/cucumber/cucumber/compare/v1.1.0...v1.1.1)
|
2
|
+
|
3
|
+
### Changed features
|
4
|
+
|
5
|
+
* Deprecated i18n methods in World, and added a new #step method to use instead. ([#68](https://github.com/cucumber/cucumber/issues/68) Matt Wynne)
|
6
|
+
* The JSON formatter output has changed slightly. Old format:
|
7
|
+
|
8
|
+
{
|
9
|
+
features: [feature here]
|
10
|
+
}
|
11
|
+
|
12
|
+
New format:
|
13
|
+
|
14
|
+
[feature here]
|
15
|
+
|
16
|
+
Also see [Gherkin 2.6.0 History](https://github.com/cucumber/gherkin/blob/master/History.md) for info about new `id` and `uri` elements in the JSON.
|
17
|
+
|
1
18
|
## [v1.1.0](https://github.com/cucumber/cucumber/compare/v1.0.6...v1.1.0)
|
2
19
|
|
3
20
|
### Changed features
|
data/cucumber.gemspec
CHANGED
@@ -23,33 +23,33 @@ for important information about this release. Happy cuking!
|
|
23
23
|
|
24
24
|
}
|
25
25
|
|
26
|
-
s.
|
27
|
-
s.
|
28
|
-
s.
|
29
|
-
s.
|
30
|
-
s.
|
26
|
+
s.add_runtime_dependency 'gherkin', '~> 2.6.0'
|
27
|
+
s.add_runtime_dependency 'term-ansicolor', '>= 1.0.6'
|
28
|
+
s.add_runtime_dependency 'builder', '>= 2.1.2'
|
29
|
+
s.add_runtime_dependency 'diff-lcs', '>= 1.1.2'
|
30
|
+
s.add_runtime_dependency 'json', '>= 1.4.6'
|
31
31
|
|
32
32
|
s.add_development_dependency 'aruba', '~> 0.4.6'
|
33
33
|
s.add_development_dependency 'rake', '>= 0.9.2'
|
34
|
-
s.add_development_dependency 'rspec', '>= 2.
|
34
|
+
s.add_development_dependency 'rspec', '>= 2.7.0'
|
35
35
|
s.add_development_dependency 'nokogiri', '>= 1.5.0'
|
36
36
|
s.add_development_dependency 'prawn', '~> 0.8.4'
|
37
37
|
s.add_development_dependency 'prawn-layout', '~> 0.8.4'
|
38
38
|
s.add_development_dependency 'syntax', '>= 1.0.0'
|
39
39
|
s.add_development_dependency 'spork', '>= 0.9.0.rc9'
|
40
|
-
s.add_development_dependency 'simplecov', '>= 0.4
|
40
|
+
s.add_development_dependency 'simplecov', '>= 0.5.4'
|
41
41
|
|
42
42
|
# For Documentation:
|
43
|
-
s.add_development_dependency('yard', '~> 0.7.
|
43
|
+
s.add_development_dependency('yard', '~> 0.7.3')
|
44
44
|
s.add_development_dependency('rdiscount', '~> 1.6.8')
|
45
45
|
s.add_development_dependency('bcat', '~> 0.6.1')
|
46
46
|
|
47
47
|
# Needed for examples (rake examples)
|
48
48
|
s.add_development_dependency 'ramaze'
|
49
|
-
s.add_development_dependency 'rack-test', '>= 0.
|
49
|
+
s.add_development_dependency 'rack-test', '>= 0.6.1'
|
50
50
|
s.add_development_dependency 'webrat', '>= 0.7.3'
|
51
|
-
s.add_development_dependency 'sinatra', '>= 1.
|
52
|
-
s.add_development_dependency 'capybara', '>= 1.1.
|
51
|
+
s.add_development_dependency 'sinatra', '>= 1.3.1'
|
52
|
+
s.add_development_dependency 'capybara', '>= 1.1.1'
|
53
53
|
|
54
54
|
s.rubygems_version = ">= 1.6.1"
|
55
55
|
s.files = `git ls-files`.split("\n")
|
@@ -60,85 +60,83 @@ Feature: JSON output formatter
|
|
60
60
|
|
61
61
|
"""
|
62
62
|
|
63
|
-
Scenario: one feature, one passing scenario, one failing scenario
|
64
|
-
When I run cucumber "--format json features/one_passing_one_failing.feature"
|
65
|
-
Then the output should match /^\{"features":\[/
|
66
|
-
|
67
63
|
Scenario: one feature, one passing scenario, one failing scenario
|
68
64
|
When I run cucumber "--format json features/one_passing_one_failing.feature"
|
69
65
|
Then it should fail with JSON:
|
70
66
|
"""
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
"
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
]
|
110
|
-
},
|
111
|
-
{
|
112
|
-
"keyword": "Scenario",
|
113
|
-
"name": "Failing",
|
114
|
-
"line": 9,
|
115
|
-
"description": "",
|
116
|
-
"tags": [
|
117
|
-
{
|
118
|
-
"name": "@c",
|
119
|
-
"line": 8
|
67
|
+
[
|
68
|
+
{
|
69
|
+
"uri": "features/one_passing_one_failing.feature",
|
70
|
+
"keyword": "Feature",
|
71
|
+
"id": "one-passing-scenario,-one-failing-scenario",
|
72
|
+
"name": "One passing scenario, one failing scenario",
|
73
|
+
"line": 2,
|
74
|
+
"description": "",
|
75
|
+
"tags": [
|
76
|
+
{
|
77
|
+
"name": "@a",
|
78
|
+
"line": 1
|
79
|
+
}
|
80
|
+
],
|
81
|
+
"elements": [
|
82
|
+
{
|
83
|
+
"keyword": "Scenario",
|
84
|
+
"id": "one-passing-scenario,-one-failing-scenario;passing",
|
85
|
+
"name": "Passing",
|
86
|
+
"line": 5,
|
87
|
+
"description": "",
|
88
|
+
"tags": [
|
89
|
+
{
|
90
|
+
"name": "@b",
|
91
|
+
"line": 4
|
92
|
+
}
|
93
|
+
],
|
94
|
+
"type": "scenario",
|
95
|
+
"steps": [
|
96
|
+
{
|
97
|
+
"keyword": "Given ",
|
98
|
+
"name": "a passing step",
|
99
|
+
"line": 6,
|
100
|
+
"match": {
|
101
|
+
"location": "features/step_definitions/steps.rb:1"
|
102
|
+
},
|
103
|
+
"result": {
|
104
|
+
"status": "passed"
|
120
105
|
}
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
106
|
+
}
|
107
|
+
]
|
108
|
+
},
|
109
|
+
{
|
110
|
+
"keyword": "Scenario",
|
111
|
+
"id": "one-passing-scenario,-one-failing-scenario;failing",
|
112
|
+
"name": "Failing",
|
113
|
+
"line": 9,
|
114
|
+
"description": "",
|
115
|
+
"tags": [
|
116
|
+
{
|
117
|
+
"name": "@c",
|
118
|
+
"line": 8
|
119
|
+
}
|
120
|
+
],
|
121
|
+
"type": "scenario",
|
122
|
+
"steps": [
|
123
|
+
{
|
124
|
+
"keyword": "Given ",
|
125
|
+
"name": "a failing step",
|
126
|
+
"line": 10,
|
127
|
+
"match": {
|
128
|
+
"location": "features/step_definitions/steps.rb:5"
|
129
|
+
},
|
130
|
+
"result": {
|
131
|
+
"status": "failed",
|
132
|
+
"error_message": " (RuntimeError)\n./features/step_definitions/steps.rb:6:in `/a failing step/'\nfeatures/one_passing_one_failing.feature:10:in `Given a failing step'"
|
135
133
|
}
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
134
|
+
}
|
135
|
+
]
|
136
|
+
}
|
137
|
+
]
|
138
|
+
}
|
139
|
+
]
|
142
140
|
|
143
141
|
"""
|
144
142
|
|
@@ -162,59 +160,17 @@ Feature: JSON output formatter
|
|
162
160
|
When I run cucumber "--format json features/doc_string.feature"
|
163
161
|
Then it should fail with JSON:
|
164
162
|
"""
|
165
|
-
|
166
|
-
"features": [
|
167
|
-
{
|
168
|
-
"keyword": "Feature",
|
169
|
-
"name": "A DocString feature",
|
170
|
-
"line": 1,
|
171
|
-
"description": "",
|
172
|
-
"elements": [
|
173
|
-
{
|
174
|
-
"keyword": "Scenario",
|
175
|
-
"name": "",
|
176
|
-
"line": 3,
|
177
|
-
"description": "",
|
178
|
-
"type": "scenario",
|
179
|
-
"steps": [
|
180
|
-
{
|
181
|
-
"keyword": "Then ",
|
182
|
-
"name": "I should fail with",
|
183
|
-
"line": 4,
|
184
|
-
"doc_string": {
|
185
|
-
"content_type": "",
|
186
|
-
"value": "a string",
|
187
|
-
"line": 5
|
188
|
-
},
|
189
|
-
"match": {
|
190
|
-
"location": "features/step_definitions/doc_string_steps.rb:1"
|
191
|
-
},
|
192
|
-
"result": {
|
193
|
-
"status": "failed",
|
194
|
-
"error_message": "a string (RuntimeError)\n./features/step_definitions/doc_string_steps.rb:2:in `/I should fail with/'\nfeatures/doc_string.feature:4:in `Then I should fail with'"
|
195
|
-
}
|
196
|
-
}
|
197
|
-
]
|
198
|
-
}
|
199
|
-
]
|
200
|
-
}
|
201
|
-
]
|
202
|
-
}
|
203
|
-
"""
|
204
|
-
|
205
|
-
Scenario: embedding screenshot
|
206
|
-
When I run cucumber "-b --format json features/embed.feature"
|
207
|
-
Then it should pass with JSON:
|
208
|
-
"""
|
209
|
-
{
|
210
|
-
"features": [
|
163
|
+
[
|
211
164
|
{
|
165
|
+
"id": "a-docstring-feature",
|
166
|
+
"uri": "features/doc_string.feature",
|
212
167
|
"keyword": "Feature",
|
213
|
-
"name": "A
|
168
|
+
"name": "A DocString feature",
|
214
169
|
"line": 1,
|
215
170
|
"description": "",
|
216
171
|
"elements": [
|
217
172
|
{
|
173
|
+
"id": "a-docstring-feature;",
|
218
174
|
"keyword": "Scenario",
|
219
175
|
"name": "",
|
220
176
|
"line": 3,
|
@@ -222,20 +178,20 @@ Feature: JSON output formatter
|
|
222
178
|
"type": "scenario",
|
223
179
|
"steps": [
|
224
180
|
{
|
225
|
-
"keyword": "
|
226
|
-
"name": "I
|
181
|
+
"keyword": "Then ",
|
182
|
+
"name": "I should fail with",
|
227
183
|
"line": 4,
|
228
|
-
"
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
],
|
184
|
+
"doc_string": {
|
185
|
+
"content_type": "",
|
186
|
+
"value": "a string",
|
187
|
+
"line": 5
|
188
|
+
},
|
234
189
|
"match": {
|
235
|
-
"location": "features/step_definitions/
|
190
|
+
"location": "features/step_definitions/doc_string_steps.rb:1"
|
236
191
|
},
|
237
192
|
"result": {
|
238
|
-
"status": "
|
193
|
+
"status": "failed",
|
194
|
+
"error_message": "a string (RuntimeError)\n./features/step_definitions/doc_string_steps.rb:2:in `/I should fail with/'\nfeatures/doc_string.feature:4:in `Then I should fail with'"
|
239
195
|
}
|
240
196
|
}
|
241
197
|
]
|
@@ -243,6 +199,50 @@ Feature: JSON output formatter
|
|
243
199
|
]
|
244
200
|
}
|
245
201
|
]
|
246
|
-
|
202
|
+
"""
|
203
|
+
|
204
|
+
Scenario: embedding screenshot
|
205
|
+
When I run cucumber "-b --format json features/embed.feature"
|
206
|
+
Then it should pass with JSON:
|
207
|
+
"""
|
208
|
+
[
|
209
|
+
{
|
210
|
+
"uri": "features/embed.feature",
|
211
|
+
"id": "a-screenshot-feature",
|
212
|
+
"keyword": "Feature",
|
213
|
+
"name": "A screenshot feature",
|
214
|
+
"line": 1,
|
215
|
+
"description": "",
|
216
|
+
"elements": [
|
217
|
+
{
|
218
|
+
"id": "a-screenshot-feature;",
|
219
|
+
"keyword": "Scenario",
|
220
|
+
"name": "",
|
221
|
+
"line": 3,
|
222
|
+
"description": "",
|
223
|
+
"type": "scenario",
|
224
|
+
"steps": [
|
225
|
+
{
|
226
|
+
"keyword": "Given ",
|
227
|
+
"name": "I embed a screenshot",
|
228
|
+
"line": 4,
|
229
|
+
"embeddings": [
|
230
|
+
{
|
231
|
+
"mime_type": "image/png",
|
232
|
+
"data": "Zm9v"
|
233
|
+
}
|
234
|
+
],
|
235
|
+
"match": {
|
236
|
+
"location": "features/step_definitions/steps.rb:29"
|
237
|
+
},
|
238
|
+
"result": {
|
239
|
+
"status": "passed"
|
240
|
+
}
|
241
|
+
}
|
242
|
+
]
|
243
|
+
}
|
244
|
+
]
|
245
|
+
}
|
246
|
+
]
|
247
247
|
|
248
248
|
"""
|
@@ -0,0 +1,60 @@
|
|
1
|
+
Feature: Nested Steps
|
2
|
+
|
3
|
+
|
4
|
+
Background:
|
5
|
+
Given a scenario with a step that looks like this:
|
6
|
+
"""gherkin
|
7
|
+
Given two turtles
|
8
|
+
"""
|
9
|
+
And a step definition that looks like this:
|
10
|
+
"""ruby
|
11
|
+
Given /a turtle/ do
|
12
|
+
puts "turtle!"
|
13
|
+
end
|
14
|
+
"""
|
15
|
+
|
16
|
+
Scenario: Use #steps to call several steps at once
|
17
|
+
Given a step definition that looks like this:
|
18
|
+
"""ruby
|
19
|
+
Given /two turtles/ do
|
20
|
+
steps %{
|
21
|
+
Given a turtle
|
22
|
+
And a turtle
|
23
|
+
}
|
24
|
+
end
|
25
|
+
"""
|
26
|
+
When I run the feature with the progress formatter
|
27
|
+
Then the output should contain:
|
28
|
+
"""
|
29
|
+
turtle!
|
30
|
+
|
31
|
+
turtle!
|
32
|
+
|
33
|
+
"""
|
34
|
+
|
35
|
+
Scenario: Use #step to call a single step
|
36
|
+
Given a step definition that looks like this:
|
37
|
+
"""ruby
|
38
|
+
Given /two turtles/ do
|
39
|
+
step "a turtle"
|
40
|
+
step "a turtle"
|
41
|
+
end
|
42
|
+
"""
|
43
|
+
When I run the feature with the progress formatter
|
44
|
+
Then the output should contain:
|
45
|
+
"""
|
46
|
+
turtle!
|
47
|
+
|
48
|
+
turtle!
|
49
|
+
|
50
|
+
"""
|
51
|
+
|
52
|
+
Scenario: Use deprecated i18n methods
|
53
|
+
Given a step definition that looks like this:
|
54
|
+
"""ruby
|
55
|
+
Given /two turtles/ do
|
56
|
+
Given "a turtle"
|
57
|
+
end
|
58
|
+
"""
|
59
|
+
When I run the feature with the progress formatter
|
60
|
+
Then the output should contain "WARNING"
|
@@ -46,7 +46,7 @@ Feature: http://gist.github.com/221223
|
|
46
46
|
end
|
47
47
|
|
48
48
|
Given /^I use keyword to call a multiline string with (.*)$/ do |s| x=1
|
49
|
-
|
49
|
+
step 'a multiline string:', "Hello\n#{s}"
|
50
50
|
end
|
51
51
|
|
52
52
|
Given /^I call a table with (.*)$/ do |s| x=1
|
@@ -12,12 +12,12 @@ Feature: Language help
|
|
12
12
|
| scenario | "Cenário", "Cenario" |
|
13
13
|
| scenario_outline | "Esquema do Cenário", "Esquema do Cenario" |
|
14
14
|
| examples | "Exemplos" |
|
15
|
-
| given | "* ", "Dado "
|
15
|
+
| given | "* ", "Dado ", "Dada ", "Dados ", "Dadas " |
|
16
16
|
| when | "* ", "Quando " |
|
17
17
|
| then | "* ", "Então ", "Entao " |
|
18
18
|
| and | "* ", "E " |
|
19
19
|
| but | "* ", "Mas " |
|
20
|
-
| given (code) | "Dado"
|
20
|
+
| given (code) | "Dado", "Dada", "Dados", "Dadas" |
|
21
21
|
| when (code) | "Quando" |
|
22
22
|
| then (code) | "Então", "Entao" |
|
23
23
|
| and (code) | "E" |
|
@@ -75,7 +75,7 @@ Then /^it should (fail|pass) with$/ do |success, output|
|
|
75
75
|
unless combined_output.index(output)
|
76
76
|
combined_output.should == output
|
77
77
|
end
|
78
|
-
|
78
|
+
step("it should #{success}")
|
79
79
|
end
|
80
80
|
|
81
81
|
Then /^the output should contain "([^"]*)"$/ do |text|
|
@@ -11,20 +11,8 @@ module Cucumber
|
|
11
11
|
|
12
12
|
def initialize(step_mother, io, options)
|
13
13
|
@io = ensure_io(io, "json")
|
14
|
-
@io.write('{"features":[')
|
15
14
|
super(Gherkin::Formatter::JSONFormatter.new(@io), false)
|
16
15
|
end
|
17
|
-
|
18
|
-
def before_feature(feature)
|
19
|
-
super
|
20
|
-
@io.write(',') if @one
|
21
|
-
@one = true
|
22
|
-
end
|
23
|
-
|
24
|
-
def after_features(features)
|
25
|
-
@io.write(']}')
|
26
|
-
@io.flush
|
27
|
-
end
|
28
16
|
end
|
29
17
|
end
|
30
18
|
end
|
data/lib/cucumber/platform.rb
CHANGED
@@ -4,7 +4,7 @@ require 'rbconfig'
|
|
4
4
|
|
5
5
|
module Cucumber
|
6
6
|
unless defined?(Cucumber::VERSION)
|
7
|
-
VERSION = '1.1.
|
7
|
+
VERSION = '1.1.1'
|
8
8
|
BINARY = File.expand_path(File.dirname(__FILE__) + '/../../bin/cucumber')
|
9
9
|
LIBDIR = File.expand_path(File.dirname(__FILE__) + '/../../lib')
|
10
10
|
JRUBY = defined?(JRUBY_VERSION)
|
@@ -17,12 +17,16 @@ module Cucumber
|
|
17
17
|
rb = @__cucumber_step_mother.load_programming_language('rb')
|
18
18
|
rb.execute_transforms([arg]).first
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
attr_writer :__cucumber_step_mother, :__natural_language
|
22
22
|
|
23
|
-
# Call a step from within a step definition. This method is aliased to
|
24
|
-
# the same i18n as RbDsl.
|
25
23
|
def __cucumber_invoke(name, multiline_argument=nil) #:nodoc:
|
24
|
+
STDERR.puts failed + "WARNING: i18n methods within step definitions are deprecated. Use #step instead:" + caller[0] + reset
|
25
|
+
@__cucumber_step_mother.invoke(name, multiline_argument)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Invoke a single step.
|
29
|
+
def step(name, multiline_argument=nil)
|
26
30
|
@__cucumber_step_mother.invoke(name, multiline_argument)
|
27
31
|
end
|
28
32
|
|
@@ -47,7 +47,7 @@ module Cucumber
|
|
47
47
|
|
48
48
|
before(:each) do
|
49
49
|
b = Cucumber::Parser::GherkinBuilder.new
|
50
|
-
@empty_feature = b.feature(Gherkin::Formatter::Model::Feature.new([], [], "Feature", "Foo", "", 99))
|
50
|
+
@empty_feature = b.feature(Gherkin::Formatter::Model::Feature.new([], [], "Feature", "Foo", "", 99, ""))
|
51
51
|
end
|
52
52
|
|
53
53
|
it "should show feature files parsed" do
|
@@ -22,7 +22,7 @@ module Cucumber
|
|
22
22
|
|
23
23
|
it "should allow calling of other steps" do
|
24
24
|
dsl.Given /Outside/ do
|
25
|
-
|
25
|
+
step "Inside"
|
26
26
|
end
|
27
27
|
dsl.Given /Inside/ do
|
28
28
|
$inside = true
|
@@ -34,7 +34,7 @@ module Cucumber
|
|
34
34
|
|
35
35
|
it "should allow calling of other steps with inline arg" do
|
36
36
|
dsl.Given /Outside/ do
|
37
|
-
|
37
|
+
step "Inside", Cucumber::Ast::Table.new([['inside']])
|
38
38
|
end
|
39
39
|
dsl.Given /Inside/ do |table|
|
40
40
|
$inside = table.raw[0][0]
|
@@ -46,7 +46,7 @@ module Cucumber
|
|
46
46
|
|
47
47
|
it "should raise Undefined when inside step is not defined" do
|
48
48
|
dsl.Given /Outside/ do
|
49
|
-
|
49
|
+
step 'Inside'
|
50
50
|
end
|
51
51
|
|
52
52
|
lambda do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-10-30 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gherkin
|
16
|
-
requirement: &
|
16
|
+
requirement: &2157049740 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
21
|
+
version: 2.6.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2157049740
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: term-ansicolor
|
27
|
-
requirement: &
|
27
|
+
requirement: &2157048900 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.0.6
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2157048900
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: builder
|
38
|
-
requirement: &
|
38
|
+
requirement: &2157047600 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.1.2
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2157047600
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: diff-lcs
|
49
|
-
requirement: &
|
49
|
+
requirement: &2157046160 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.1.2
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2157046160
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: json
|
60
|
-
requirement: &
|
60
|
+
requirement: &2157045500 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.4.6
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2157045500
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: aruba
|
71
|
-
requirement: &
|
71
|
+
requirement: &2157044820 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 0.4.6
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2157044820
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rake
|
82
|
-
requirement: &
|
82
|
+
requirement: &2157044000 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,21 +87,21 @@ dependencies:
|
|
87
87
|
version: 0.9.2
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *2157044000
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rspec
|
93
|
-
requirement: &
|
93
|
+
requirement: &2157043280 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: 2.
|
98
|
+
version: 2.7.0
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *2157043280
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: nokogiri
|
104
|
-
requirement: &
|
104
|
+
requirement: &2157042660 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: 1.5.0
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *2157042660
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: prawn
|
115
|
-
requirement: &
|
115
|
+
requirement: &2157042000 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ~>
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: 0.8.4
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *2157042000
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: prawn-layout
|
126
|
-
requirement: &
|
126
|
+
requirement: &2157041060 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ~>
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: 0.8.4
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *2157041060
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: syntax
|
137
|
-
requirement: &
|
137
|
+
requirement: &2157039000 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ! '>='
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: 1.0.0
|
143
143
|
type: :development
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *2157039000
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: spork
|
148
|
-
requirement: &
|
148
|
+
requirement: &2157038340 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ! '>='
|
@@ -153,32 +153,32 @@ dependencies:
|
|
153
153
|
version: 0.9.0.rc9
|
154
154
|
type: :development
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *2157038340
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: simplecov
|
159
|
-
requirement: &
|
159
|
+
requirement: &2157037460 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ! '>='
|
163
163
|
- !ruby/object:Gem::Version
|
164
|
-
version: 0.4
|
164
|
+
version: 0.5.4
|
165
165
|
type: :development
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *2157037460
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: yard
|
170
|
-
requirement: &
|
170
|
+
requirement: &2157035140 !ruby/object:Gem::Requirement
|
171
171
|
none: false
|
172
172
|
requirements:
|
173
173
|
- - ~>
|
174
174
|
- !ruby/object:Gem::Version
|
175
|
-
version: 0.7.
|
175
|
+
version: 0.7.3
|
176
176
|
type: :development
|
177
177
|
prerelease: false
|
178
|
-
version_requirements: *
|
178
|
+
version_requirements: *2157035140
|
179
179
|
- !ruby/object:Gem::Dependency
|
180
180
|
name: rdiscount
|
181
|
-
requirement: &
|
181
|
+
requirement: &2157034080 !ruby/object:Gem::Requirement
|
182
182
|
none: false
|
183
183
|
requirements:
|
184
184
|
- - ~>
|
@@ -186,10 +186,10 @@ dependencies:
|
|
186
186
|
version: 1.6.8
|
187
187
|
type: :development
|
188
188
|
prerelease: false
|
189
|
-
version_requirements: *
|
189
|
+
version_requirements: *2157034080
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: bcat
|
192
|
-
requirement: &
|
192
|
+
requirement: &2157033360 !ruby/object:Gem::Requirement
|
193
193
|
none: false
|
194
194
|
requirements:
|
195
195
|
- - ~>
|
@@ -197,10 +197,10 @@ dependencies:
|
|
197
197
|
version: 0.6.1
|
198
198
|
type: :development
|
199
199
|
prerelease: false
|
200
|
-
version_requirements: *
|
200
|
+
version_requirements: *2157033360
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: ramaze
|
203
|
-
requirement: &
|
203
|
+
requirement: &2157032880 !ruby/object:Gem::Requirement
|
204
204
|
none: false
|
205
205
|
requirements:
|
206
206
|
- - ! '>='
|
@@ -208,21 +208,21 @@ dependencies:
|
|
208
208
|
version: '0'
|
209
209
|
type: :development
|
210
210
|
prerelease: false
|
211
|
-
version_requirements: *
|
211
|
+
version_requirements: *2157032880
|
212
212
|
- !ruby/object:Gem::Dependency
|
213
213
|
name: rack-test
|
214
|
-
requirement: &
|
214
|
+
requirement: &2157032000 !ruby/object:Gem::Requirement
|
215
215
|
none: false
|
216
216
|
requirements:
|
217
217
|
- - ! '>='
|
218
218
|
- !ruby/object:Gem::Version
|
219
|
-
version: 0.
|
219
|
+
version: 0.6.1
|
220
220
|
type: :development
|
221
221
|
prerelease: false
|
222
|
-
version_requirements: *
|
222
|
+
version_requirements: *2157032000
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: webrat
|
225
|
-
requirement: &
|
225
|
+
requirement: &2157031080 !ruby/object:Gem::Requirement
|
226
226
|
none: false
|
227
227
|
requirements:
|
228
228
|
- - ! '>='
|
@@ -230,29 +230,29 @@ dependencies:
|
|
230
230
|
version: 0.7.3
|
231
231
|
type: :development
|
232
232
|
prerelease: false
|
233
|
-
version_requirements: *
|
233
|
+
version_requirements: *2157031080
|
234
234
|
- !ruby/object:Gem::Dependency
|
235
235
|
name: sinatra
|
236
|
-
requirement: &
|
236
|
+
requirement: &2157030360 !ruby/object:Gem::Requirement
|
237
237
|
none: false
|
238
238
|
requirements:
|
239
239
|
- - ! '>='
|
240
240
|
- !ruby/object:Gem::Version
|
241
|
-
version: 1.
|
241
|
+
version: 1.3.1
|
242
242
|
type: :development
|
243
243
|
prerelease: false
|
244
|
-
version_requirements: *
|
244
|
+
version_requirements: *2157030360
|
245
245
|
- !ruby/object:Gem::Dependency
|
246
246
|
name: capybara
|
247
|
-
requirement: &
|
247
|
+
requirement: &2157029840 !ruby/object:Gem::Requirement
|
248
248
|
none: false
|
249
249
|
requirements:
|
250
250
|
- - ! '>='
|
251
251
|
- !ruby/object:Gem::Version
|
252
|
-
version: 1.1.
|
252
|
+
version: 1.1.1
|
253
253
|
type: :development
|
254
254
|
prerelease: false
|
255
|
-
version_requirements: *
|
255
|
+
version_requirements: *2157029840
|
256
256
|
description: Behaviour Driven Development with elegance and joy
|
257
257
|
email: cukes@googlegroups.com
|
258
258
|
executables:
|
@@ -531,6 +531,7 @@ files:
|
|
531
531
|
- features/iso-8859-1.feature
|
532
532
|
- features/issue_117.feature
|
533
533
|
- features/json_formatter.feature
|
534
|
+
- features/nested_steps.feature
|
534
535
|
- features/stats_formatters.feature
|
535
536
|
- features/step_definitions/cucumber-features/cucumber_ruby_mappings.rb
|
536
537
|
- features/step_definitions/cucumber_steps.rb
|
@@ -834,7 +835,7 @@ post_install_message: ! '
|
|
834
835
|
(::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::) (::)
|
835
836
|
|
836
837
|
|
837
|
-
Thank you for installing cucumber-1.1.
|
838
|
+
Thank you for installing cucumber-1.1.1.
|
838
839
|
|
839
840
|
Please be sure to read http://wiki.github.com/cucumber/cucumber/upgrading
|
840
841
|
|
@@ -866,7 +867,7 @@ rubyforge_project:
|
|
866
867
|
rubygems_version: 1.8.10
|
867
868
|
signing_key:
|
868
869
|
specification_version: 3
|
869
|
-
summary: cucumber-1.1.
|
870
|
+
summary: cucumber-1.1.1
|
870
871
|
test_files:
|
871
872
|
- features/background.feature
|
872
873
|
- features/bootstrap.feature
|
@@ -877,6 +878,7 @@ test_files:
|
|
877
878
|
- features/iso-8859-1.feature
|
878
879
|
- features/issue_117.feature
|
879
880
|
- features/json_formatter.feature
|
881
|
+
- features/nested_steps.feature
|
880
882
|
- features/stats_formatters.feature
|
881
883
|
- features/step_definitions/cucumber-features/cucumber_ruby_mappings.rb
|
882
884
|
- features/step_definitions/cucumber_steps.rb
|
@@ -927,3 +929,4 @@ test_files:
|
|
927
929
|
- spec/cucumber/wire_support/wire_step_definition_spec.rb
|
928
930
|
- spec/cucumber/world/pending_spec.rb
|
929
931
|
- spec/spec_helper.rb
|
932
|
+
has_rdoc:
|