cucumber 1.1.2 → 1.1.3
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.
- data/.rvmrc +1 -0
- data/.travis.yml +12 -2
- data/History.md +14 -0
- data/cucumber.gemspec +2 -2
- data/cucumber.yml +1 -1
- data/features/.cucumber/stepdefs.json +1159 -0
- data/features/issue_57.feature +35 -0
- data/legacy_features/wire_protocol.feature +1 -1
- data/lib/cucumber/ast/feature.rb +1 -1
- data/lib/cucumber/ast/table.rb +52 -31
- data/lib/cucumber/cli/configuration.rb +4 -0
- data/lib/cucumber/cli/main.rb +1 -0
- data/lib/cucumber/cli/options.rb +3 -0
- data/lib/cucumber/constantize.rb +1 -1
- data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +1 -1
- data/lib/cucumber/formatter/html.rb +6 -1
- data/lib/cucumber/formatter/rerun.rb +30 -7
- data/lib/cucumber/js_support/js_language.rb +1 -1
- data/lib/cucumber/language_support/language_methods.rb +0 -4
- data/lib/cucumber/platform.rb +1 -1
- data/lib/cucumber/py_support/py_language.rb +0 -4
- data/lib/cucumber/rb_support/rb_language.rb +0 -14
- data/lib/cucumber/rb_support/regexp_argument_matcher.rb +3 -3
- data/lib/cucumber/runtime.rb +39 -2
- data/lib/cucumber/step_match.rb +3 -3
- data/lib/cucumber/wire_support/wire_protocol.rb +0 -1
- data/lib/cucumber/wire_support/wire_protocol/requests.rb +3 -1
- data/spec/cucumber/ast/table_spec.rb +13 -0
- data/spec/cucumber/cli/main_spec.rb +1 -1
- data/spec/cucumber/constantize_spec.rb +12 -0
- data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +2 -2
- metadata +54 -68
- data/.gitignore +0 -27
- data/examples/i18n/de/.gitignore +0 -1
- data/examples/i18n/en/.gitignore +0 -1
- data/examples/i18n/eo/.gitignore +0 -1
- data/examples/i18n/fi/.gitignore +0 -1
- data/examples/i18n/hu/.gitignore +0 -1
- data/examples/i18n/id/.gitignore +0 -1
- data/examples/i18n/ja/.gitignore +0 -1
- data/examples/i18n/ko/.gitignore +0 -1
- data/examples/i18n/lt/.gitignore +0 -1
- data/examples/i18n/pl/.gitignore +0 -1
- data/examples/i18n/sk/.gitignore +0 -1
- data/examples/i18n/tr/.gitignore +0 -1
- data/examples/i18n/zh-TW/.gitignore +0 -1
- data/examples/python/lib/.gitignore +0 -1
- data/examples/ruby2python/lib/.gitignore +0 -1
- data/examples/watir/.gitignore +0 -2
- data/fixtures/self_test/.gitignore +0 -1
- data/lib/cucumber/step_argument.rb +0 -9
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm gemset use cucumber
|
data/.travis.yml
CHANGED
data/History.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## [v1.1.3](https://github.com/cucumber/cucumber/compare/v1.1.2...v1.1.3)
|
2
|
+
|
3
|
+
### New Features
|
4
|
+
|
5
|
+
* Generate stepdef metadata with --dotcucumber. Useful for Cukepatch. (Aslak Hellesøy)
|
6
|
+
* Show class name of exceptions in the HTML formatter ([#159](https://github.com/cucumber/cucumber/pull/159) Jari Bakken)
|
7
|
+
* Deferred table header and column mappings ([#163](https://github.com/cucumber/cucumber/pull/163) Richard Lawrence)
|
8
|
+
|
9
|
+
### Bugfixes
|
10
|
+
|
11
|
+
* Escape exceptions in HTML formatter ([#178](https://github.com/cucumber/cucumber/pull/178) leachdaniel)
|
12
|
+
* Retry when feature_element returns failed ([#172](https://github.com/cucumber/cucumber/pull/172) Charles Finkel)
|
13
|
+
* Rerun formatter output does not include failing scenario outline examples ([#57](https://github.com/cucumber/cucumber/issues/57) Jan Brauer)
|
14
|
+
|
1
15
|
## [v1.1.2](https://github.com/cucumber/cucumber/compare/v1.1.1...v1.1.2)
|
2
16
|
|
3
17
|
### Changed features
|
data/cucumber.gemspec
CHANGED
@@ -23,7 +23,7 @@ for important information about this release. Happy cuking!
|
|
23
23
|
|
24
24
|
}
|
25
25
|
|
26
|
-
s.add_runtime_dependency 'gherkin', '~> 2.6.
|
26
|
+
s.add_runtime_dependency 'gherkin', '~> 2.6.7'
|
27
27
|
s.add_runtime_dependency 'term-ansicolor', '>= 1.0.6'
|
28
28
|
s.add_runtime_dependency 'builder', '>= 2.1.2'
|
29
29
|
s.add_runtime_dependency 'diff-lcs', '>= 1.1.2'
|
@@ -52,7 +52,7 @@ for important information about this release. Happy cuking!
|
|
52
52
|
s.add_development_dependency 'capybara', '>= 1.1.1'
|
53
53
|
|
54
54
|
s.rubygems_version = ">= 1.6.1"
|
55
|
-
s.files = `git ls-files`.split("\n")
|
55
|
+
s.files = `git ls-files`.split("\n").reject {|path| path =~ /\.gitignore$/ }
|
56
56
|
s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
|
57
57
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
58
58
|
s.rdoc_options = ["--charset=UTF-8"]
|
data/cucumber.yml
CHANGED
@@ -10,7 +10,7 @@ rescue LoadError
|
|
10
10
|
std_opts << ' --tags ~@rspec2'
|
11
11
|
end
|
12
12
|
%>
|
13
|
-
default: <%= std_opts %>
|
13
|
+
default: <%= std_opts %> --dotcucumber features/.cucumber
|
14
14
|
jruby: <%= std_opts %> --tags ~@spork --tags ~@wire
|
15
15
|
jruby_win: <%= std_opts %> --tags ~@spork --tags ~@wire CUCUMBER_FORWARD_SLASH_PATHS=true
|
16
16
|
windows_mri: <%= std_opts %> --tags ~@spork --tags ~@wire --tags ~@needs-many-fonts CUCUMBER_FORWARD_SLASH_PATHS=true
|
@@ -0,0 +1,1159 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"source": "^I'm using a clean gemset \"([^\"]*)\"$",
|
4
|
+
"flags": "",
|
5
|
+
"steps": [
|
6
|
+
|
7
|
+
]
|
8
|
+
},
|
9
|
+
{
|
10
|
+
"source": "^a directory named \"([^\"]*)\"$",
|
11
|
+
"flags": "",
|
12
|
+
"steps": [
|
13
|
+
|
14
|
+
]
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"source": "^a file named \"([^\"]*)\" with:$",
|
18
|
+
"flags": "",
|
19
|
+
"steps": [
|
20
|
+
{
|
21
|
+
"name": "a file named \"features/doc_string.feature\" with:",
|
22
|
+
"args": [
|
23
|
+
{
|
24
|
+
"offset": 14,
|
25
|
+
"val": "features/doc_string.feature"
|
26
|
+
}
|
27
|
+
]
|
28
|
+
},
|
29
|
+
{
|
30
|
+
"name": "a file named \"features/f.feature\" with:",
|
31
|
+
"args": [
|
32
|
+
{
|
33
|
+
"offset": 14,
|
34
|
+
"val": "features/f.feature"
|
35
|
+
}
|
36
|
+
]
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"name": "a file named \"features/only_background_and_hooks.feature\" with:",
|
40
|
+
"args": [
|
41
|
+
{
|
42
|
+
"offset": 14,
|
43
|
+
"val": "features/only_background_and_hooks.feature"
|
44
|
+
}
|
45
|
+
]
|
46
|
+
},
|
47
|
+
{
|
48
|
+
"name": "a file named \"features/only_background_and_hooks_steps.rb\" with:",
|
49
|
+
"args": [
|
50
|
+
{
|
51
|
+
"offset": 14,
|
52
|
+
"val": "features/only_background_and_hooks_steps.rb"
|
53
|
+
}
|
54
|
+
]
|
55
|
+
},
|
56
|
+
{
|
57
|
+
"name": "a file named \"features/step_definitions/doc_string_steps.rb\" with:",
|
58
|
+
"args": [
|
59
|
+
{
|
60
|
+
"offset": 14,
|
61
|
+
"val": "features/step_definitions/doc_string_steps.rb"
|
62
|
+
}
|
63
|
+
]
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"name": "a file named \"features/step_definitions/multiline_steps.rb\" with:",
|
67
|
+
"args": [
|
68
|
+
{
|
69
|
+
"offset": 14,
|
70
|
+
"val": "features/step_definitions/multiline_steps.rb"
|
71
|
+
}
|
72
|
+
]
|
73
|
+
},
|
74
|
+
{
|
75
|
+
"name": "a file named \"features/step_definitions/steps.rb\" with:",
|
76
|
+
"args": [
|
77
|
+
{
|
78
|
+
"offset": 14,
|
79
|
+
"val": "features/step_definitions/steps.rb"
|
80
|
+
}
|
81
|
+
]
|
82
|
+
},
|
83
|
+
{
|
84
|
+
"name": "a file named \"features/support/hooks.rb\" with:",
|
85
|
+
"args": [
|
86
|
+
{
|
87
|
+
"offset": 14,
|
88
|
+
"val": "features/support/hooks.rb"
|
89
|
+
}
|
90
|
+
]
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"name": "a file named \"features/support/ze/formator.rb\" with:",
|
94
|
+
"args": [
|
95
|
+
{
|
96
|
+
"offset": 14,
|
97
|
+
"val": "features/support/ze/formator.rb"
|
98
|
+
}
|
99
|
+
]
|
100
|
+
}
|
101
|
+
]
|
102
|
+
},
|
103
|
+
{
|
104
|
+
"source": "^a (\\d+) byte file named \"([^\"]*)\"$",
|
105
|
+
"flags": "",
|
106
|
+
"steps": [
|
107
|
+
|
108
|
+
]
|
109
|
+
},
|
110
|
+
{
|
111
|
+
"source": "^an empty file named \"([^\"]*)\"$",
|
112
|
+
"flags": "",
|
113
|
+
"steps": [
|
114
|
+
|
115
|
+
]
|
116
|
+
},
|
117
|
+
{
|
118
|
+
"source": "^I write to \"([^\"]*)\" with:$",
|
119
|
+
"flags": "",
|
120
|
+
"steps": [
|
121
|
+
|
122
|
+
]
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"source": "^I overwrite \"([^\"]*)\" with:$",
|
126
|
+
"flags": "",
|
127
|
+
"steps": [
|
128
|
+
|
129
|
+
]
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"source": "^I append to \"([^\"]*)\" with:$",
|
133
|
+
"flags": "",
|
134
|
+
"steps": [
|
135
|
+
|
136
|
+
]
|
137
|
+
},
|
138
|
+
{
|
139
|
+
"source": "^I append to \"([^\"]*)\" with \"([^\"]*)\"$",
|
140
|
+
"flags": "",
|
141
|
+
"steps": [
|
142
|
+
|
143
|
+
]
|
144
|
+
},
|
145
|
+
{
|
146
|
+
"source": "^I remove the file \"([^\"]*)\"$",
|
147
|
+
"flags": "",
|
148
|
+
"steps": [
|
149
|
+
|
150
|
+
]
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"source": "^I cd to \"([^\"]*)\"$",
|
154
|
+
"flags": "",
|
155
|
+
"steps": [
|
156
|
+
|
157
|
+
]
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"source": "^I run \"(.*)\"$",
|
161
|
+
"flags": "",
|
162
|
+
"steps": [
|
163
|
+
|
164
|
+
]
|
165
|
+
},
|
166
|
+
{
|
167
|
+
"source": "^I run `([^`]*)`$",
|
168
|
+
"flags": "",
|
169
|
+
"steps": [
|
170
|
+
{
|
171
|
+
"name": "I run `cucumber -f stepdefs --dry-run`",
|
172
|
+
"args": [
|
173
|
+
{
|
174
|
+
"offset": 7,
|
175
|
+
"val": "cucumber -f stepdefs --dry-run"
|
176
|
+
}
|
177
|
+
]
|
178
|
+
},
|
179
|
+
{
|
180
|
+
"name": "I run `cucumber -f usage --dry-run`",
|
181
|
+
"args": [
|
182
|
+
{
|
183
|
+
"offset": 7,
|
184
|
+
"val": "cucumber -f usage --dry-run"
|
185
|
+
}
|
186
|
+
]
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"name": "I run `cucumber -q -t @one -t @three features/tagulicious.feature`",
|
190
|
+
"args": [
|
191
|
+
{
|
192
|
+
"offset": 7,
|
193
|
+
"val": "cucumber -q -t @one -t @three features/tagulicious.feature"
|
194
|
+
}
|
195
|
+
]
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"name": "I run `cucumber -q -t @one,@three features/tagulicious.feature`",
|
199
|
+
"args": [
|
200
|
+
{
|
201
|
+
"offset": 7,
|
202
|
+
"val": "cucumber -q -t @one,@three features/tagulicious.feature"
|
203
|
+
}
|
204
|
+
]
|
205
|
+
},
|
206
|
+
{
|
207
|
+
"name": "I run `cucumber -q features/background_tagged_before_on_outline.feature`",
|
208
|
+
"args": [
|
209
|
+
{
|
210
|
+
"offset": 7,
|
211
|
+
"val": "cucumber -q features/background_tagged_before_on_outline.feature"
|
212
|
+
}
|
213
|
+
]
|
214
|
+
},
|
215
|
+
{
|
216
|
+
"name": "I run `cucumber -q features/failing_background.feature`",
|
217
|
+
"args": [
|
218
|
+
{
|
219
|
+
"offset": 7,
|
220
|
+
"val": "cucumber -q features/failing_background.feature"
|
221
|
+
}
|
222
|
+
]
|
223
|
+
},
|
224
|
+
{
|
225
|
+
"name": "I run `cucumber -q features/failing_background_after_success.feature`",
|
226
|
+
"args": [
|
227
|
+
{
|
228
|
+
"offset": 7,
|
229
|
+
"val": "cucumber -q features/failing_background_after_success.feature"
|
230
|
+
}
|
231
|
+
]
|
232
|
+
},
|
233
|
+
{
|
234
|
+
"name": "I run `cucumber -q features/multiline_args_background.feature`",
|
235
|
+
"args": [
|
236
|
+
{
|
237
|
+
"offset": 7,
|
238
|
+
"val": "cucumber -q features/multiline_args_background.feature"
|
239
|
+
}
|
240
|
+
]
|
241
|
+
},
|
242
|
+
{
|
243
|
+
"name": "I run `cucumber -q features/passing_background.feature:9`",
|
244
|
+
"args": [
|
245
|
+
{
|
246
|
+
"offset": 7,
|
247
|
+
"val": "cucumber -q features/passing_background.feature:9"
|
248
|
+
}
|
249
|
+
]
|
250
|
+
},
|
251
|
+
{
|
252
|
+
"name": "I run `cucumber -q features/passing_background.feature`",
|
253
|
+
"args": [
|
254
|
+
{
|
255
|
+
"offset": 7,
|
256
|
+
"val": "cucumber -q features/passing_background.feature"
|
257
|
+
}
|
258
|
+
]
|
259
|
+
},
|
260
|
+
{
|
261
|
+
"name": "I run `cucumber -q features/pending_background.feature`",
|
262
|
+
"args": [
|
263
|
+
{
|
264
|
+
"offset": 7,
|
265
|
+
"val": "cucumber -q features/pending_background.feature"
|
266
|
+
}
|
267
|
+
]
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"name": "I run `cucumber -q features/scenario_outline_failing_background.feature`",
|
271
|
+
"args": [
|
272
|
+
{
|
273
|
+
"offset": 7,
|
274
|
+
"val": "cucumber -q features/scenario_outline_failing_background.feature"
|
275
|
+
}
|
276
|
+
]
|
277
|
+
},
|
278
|
+
{
|
279
|
+
"name": "I run `cucumber -q features/scenario_outline_passing_background.feature`",
|
280
|
+
"args": [
|
281
|
+
{
|
282
|
+
"offset": 7,
|
283
|
+
"val": "cucumber -q features/scenario_outline_passing_background.feature"
|
284
|
+
}
|
285
|
+
]
|
286
|
+
},
|
287
|
+
{
|
288
|
+
"name": "I run `cucumber -q features/tagulicious.feature`",
|
289
|
+
"args": [
|
290
|
+
{
|
291
|
+
"offset": 7,
|
292
|
+
"val": "cucumber -q features/tagulicious.feature"
|
293
|
+
}
|
294
|
+
]
|
295
|
+
},
|
296
|
+
{
|
297
|
+
"name": "I run `cucumber features/f.feature:2`",
|
298
|
+
"args": [
|
299
|
+
{
|
300
|
+
"offset": 7,
|
301
|
+
"val": "cucumber features/f.feature:2"
|
302
|
+
}
|
303
|
+
]
|
304
|
+
},
|
305
|
+
{
|
306
|
+
"name": "I run `cucumber features/f.feature:6`",
|
307
|
+
"args": [
|
308
|
+
{
|
309
|
+
"offset": 7,
|
310
|
+
"val": "cucumber features/f.feature:6"
|
311
|
+
}
|
312
|
+
]
|
313
|
+
},
|
314
|
+
{
|
315
|
+
"name": "I run `cucumber features/only_background_and_hooks.feature`",
|
316
|
+
"args": [
|
317
|
+
{
|
318
|
+
"offset": 7,
|
319
|
+
"val": "cucumber features/only_background_and_hooks.feature"
|
320
|
+
}
|
321
|
+
]
|
322
|
+
},
|
323
|
+
{
|
324
|
+
"name": "I run `cucumber`",
|
325
|
+
"args": [
|
326
|
+
{
|
327
|
+
"offset": 7,
|
328
|
+
"val": "cucumber"
|
329
|
+
}
|
330
|
+
]
|
331
|
+
}
|
332
|
+
]
|
333
|
+
},
|
334
|
+
{
|
335
|
+
"source": "^I successfully run \"(.*)\"$",
|
336
|
+
"flags": "",
|
337
|
+
"steps": [
|
338
|
+
|
339
|
+
]
|
340
|
+
},
|
341
|
+
{
|
342
|
+
"source": "^I successfully run `([^`]*)`$",
|
343
|
+
"flags": "",
|
344
|
+
"steps": [
|
345
|
+
|
346
|
+
]
|
347
|
+
},
|
348
|
+
{
|
349
|
+
"source": "^I run \"([^\"]*)\" interactively$",
|
350
|
+
"flags": "",
|
351
|
+
"steps": [
|
352
|
+
|
353
|
+
]
|
354
|
+
},
|
355
|
+
{
|
356
|
+
"source": "^I run `([^`]*)` interactively$",
|
357
|
+
"flags": "",
|
358
|
+
"steps": [
|
359
|
+
|
360
|
+
]
|
361
|
+
},
|
362
|
+
{
|
363
|
+
"source": "^I type \"([^\"]*)\"$",
|
364
|
+
"flags": "",
|
365
|
+
"steps": [
|
366
|
+
|
367
|
+
]
|
368
|
+
},
|
369
|
+
{
|
370
|
+
"source": "^the output should contain \"([^\"]*)\"$",
|
371
|
+
"flags": "",
|
372
|
+
"steps": [
|
373
|
+
{
|
374
|
+
"name": "the output should contain \"WARNING\"",
|
375
|
+
"args": [
|
376
|
+
{
|
377
|
+
"offset": 27,
|
378
|
+
"val": "WARNING"
|
379
|
+
}
|
380
|
+
]
|
381
|
+
}
|
382
|
+
]
|
383
|
+
},
|
384
|
+
{
|
385
|
+
"source": "^the output from \"([^\"]*)\" should contain \"([^\"]*)\"$",
|
386
|
+
"flags": "",
|
387
|
+
"steps": [
|
388
|
+
|
389
|
+
]
|
390
|
+
},
|
391
|
+
{
|
392
|
+
"source": "^the output from \"([^\"]*)\" should not contain \"([^\"]*)\"$",
|
393
|
+
"flags": "",
|
394
|
+
"steps": [
|
395
|
+
|
396
|
+
]
|
397
|
+
},
|
398
|
+
{
|
399
|
+
"source": "^the output should not contain \"([^\"]*)\"$",
|
400
|
+
"flags": "",
|
401
|
+
"steps": [
|
402
|
+
|
403
|
+
]
|
404
|
+
},
|
405
|
+
{
|
406
|
+
"source": "^the output should contain:$",
|
407
|
+
"flags": "",
|
408
|
+
"steps": [
|
409
|
+
{
|
410
|
+
"name": "the output should contain:",
|
411
|
+
"args": [
|
412
|
+
|
413
|
+
]
|
414
|
+
}
|
415
|
+
]
|
416
|
+
},
|
417
|
+
{
|
418
|
+
"source": "^the output should not contain:$",
|
419
|
+
"flags": "",
|
420
|
+
"steps": [
|
421
|
+
|
422
|
+
]
|
423
|
+
},
|
424
|
+
{
|
425
|
+
"source": "^the output should contain exactly \"([^\"]*)\"$",
|
426
|
+
"flags": "",
|
427
|
+
"steps": [
|
428
|
+
|
429
|
+
]
|
430
|
+
},
|
431
|
+
{
|
432
|
+
"source": "^the output should contain exactly:$",
|
433
|
+
"flags": "",
|
434
|
+
"steps": [
|
435
|
+
|
436
|
+
]
|
437
|
+
},
|
438
|
+
{
|
439
|
+
"source": "^the output should match \\/([^\\/]*)\\/$",
|
440
|
+
"flags": "",
|
441
|
+
"steps": [
|
442
|
+
|
443
|
+
]
|
444
|
+
},
|
445
|
+
{
|
446
|
+
"source": "^the output should match:$",
|
447
|
+
"flags": "",
|
448
|
+
"steps": [
|
449
|
+
|
450
|
+
]
|
451
|
+
},
|
452
|
+
{
|
453
|
+
"source": "^the exit status should be (\\d+)$",
|
454
|
+
"flags": "",
|
455
|
+
"steps": [
|
456
|
+
|
457
|
+
]
|
458
|
+
},
|
459
|
+
{
|
460
|
+
"source": "^the exit status should not be (\\d+)$",
|
461
|
+
"flags": "",
|
462
|
+
"steps": [
|
463
|
+
|
464
|
+
]
|
465
|
+
},
|
466
|
+
{
|
467
|
+
"source": "^it should (pass|fail) with:$",
|
468
|
+
"flags": "",
|
469
|
+
"steps": [
|
470
|
+
{
|
471
|
+
"name": "it should fail with:",
|
472
|
+
"args": [
|
473
|
+
{
|
474
|
+
"offset": 10,
|
475
|
+
"val": "fail"
|
476
|
+
}
|
477
|
+
]
|
478
|
+
},
|
479
|
+
{
|
480
|
+
"name": "it should pass with:",
|
481
|
+
"args": [
|
482
|
+
{
|
483
|
+
"offset": 10,
|
484
|
+
"val": "pass"
|
485
|
+
}
|
486
|
+
]
|
487
|
+
}
|
488
|
+
]
|
489
|
+
},
|
490
|
+
{
|
491
|
+
"source": "^it should (pass|fail) with exactly:$",
|
492
|
+
"flags": "",
|
493
|
+
"steps": [
|
494
|
+
{
|
495
|
+
"name": "it should fail with exactly:",
|
496
|
+
"args": [
|
497
|
+
{
|
498
|
+
"offset": 10,
|
499
|
+
"val": "fail"
|
500
|
+
}
|
501
|
+
]
|
502
|
+
},
|
503
|
+
{
|
504
|
+
"name": "it should pass with exactly:",
|
505
|
+
"args": [
|
506
|
+
{
|
507
|
+
"offset": 10,
|
508
|
+
"val": "pass"
|
509
|
+
}
|
510
|
+
]
|
511
|
+
}
|
512
|
+
]
|
513
|
+
},
|
514
|
+
{
|
515
|
+
"source": "^it should (pass|fail) with regexp?:$",
|
516
|
+
"flags": "",
|
517
|
+
"steps": [
|
518
|
+
|
519
|
+
]
|
520
|
+
},
|
521
|
+
{
|
522
|
+
"source": "^the stderr should contain \"([^\"]*)\"$",
|
523
|
+
"flags": "",
|
524
|
+
"steps": [
|
525
|
+
|
526
|
+
]
|
527
|
+
},
|
528
|
+
{
|
529
|
+
"source": "^the stderr should contain:$",
|
530
|
+
"flags": "",
|
531
|
+
"steps": [
|
532
|
+
|
533
|
+
]
|
534
|
+
},
|
535
|
+
{
|
536
|
+
"source": "^the stderr should contain exactly:$",
|
537
|
+
"flags": "",
|
538
|
+
"steps": [
|
539
|
+
|
540
|
+
]
|
541
|
+
},
|
542
|
+
{
|
543
|
+
"source": "^the stdout should contain \"([^\"]*)\"$",
|
544
|
+
"flags": "",
|
545
|
+
"steps": [
|
546
|
+
|
547
|
+
]
|
548
|
+
},
|
549
|
+
{
|
550
|
+
"source": "^the stdout should contain:$",
|
551
|
+
"flags": "",
|
552
|
+
"steps": [
|
553
|
+
|
554
|
+
]
|
555
|
+
},
|
556
|
+
{
|
557
|
+
"source": "^the stdout should contain exactly:$",
|
558
|
+
"flags": "",
|
559
|
+
"steps": [
|
560
|
+
|
561
|
+
]
|
562
|
+
},
|
563
|
+
{
|
564
|
+
"source": "^the stderr should not contain \"([^\"]*)\"$",
|
565
|
+
"flags": "",
|
566
|
+
"steps": [
|
567
|
+
|
568
|
+
]
|
569
|
+
},
|
570
|
+
{
|
571
|
+
"source": "^the stderr should not contain:$",
|
572
|
+
"flags": "",
|
573
|
+
"steps": [
|
574
|
+
|
575
|
+
]
|
576
|
+
},
|
577
|
+
{
|
578
|
+
"source": "^the stdout should not contain \"([^\"]*)\"$",
|
579
|
+
"flags": "",
|
580
|
+
"steps": [
|
581
|
+
|
582
|
+
]
|
583
|
+
},
|
584
|
+
{
|
585
|
+
"source": "^the stdout should not contain:$",
|
586
|
+
"flags": "",
|
587
|
+
"steps": [
|
588
|
+
|
589
|
+
]
|
590
|
+
},
|
591
|
+
{
|
592
|
+
"source": "^the stdout from \"([^\"]*)\" should contain \"([^\"]*)\"$",
|
593
|
+
"flags": "",
|
594
|
+
"steps": [
|
595
|
+
|
596
|
+
]
|
597
|
+
},
|
598
|
+
{
|
599
|
+
"source": "^the stdout from \"([^\"]*)\" should not contain \"([^\"]*)\"$",
|
600
|
+
"flags": "",
|
601
|
+
"steps": [
|
602
|
+
|
603
|
+
]
|
604
|
+
},
|
605
|
+
{
|
606
|
+
"source": "^the stderr from \"([^\"]*)\" should contain \"([^\"]*)\"$",
|
607
|
+
"flags": "",
|
608
|
+
"steps": [
|
609
|
+
|
610
|
+
]
|
611
|
+
},
|
612
|
+
{
|
613
|
+
"source": "^the stderr from \"([^\"]*)\" should not contain \"([^\"]*)\"$",
|
614
|
+
"flags": "",
|
615
|
+
"steps": [
|
616
|
+
|
617
|
+
]
|
618
|
+
},
|
619
|
+
{
|
620
|
+
"source": "^the file \"([^\"]*)\" should not exist$",
|
621
|
+
"flags": "",
|
622
|
+
"steps": [
|
623
|
+
|
624
|
+
]
|
625
|
+
},
|
626
|
+
{
|
627
|
+
"source": "^the following files should exist:$",
|
628
|
+
"flags": "",
|
629
|
+
"steps": [
|
630
|
+
|
631
|
+
]
|
632
|
+
},
|
633
|
+
{
|
634
|
+
"source": "^the following files should not exist:$",
|
635
|
+
"flags": "",
|
636
|
+
"steps": [
|
637
|
+
|
638
|
+
]
|
639
|
+
},
|
640
|
+
{
|
641
|
+
"source": "^a file named \"([^\"]*)\" should exist$",
|
642
|
+
"flags": "",
|
643
|
+
"steps": [
|
644
|
+
|
645
|
+
]
|
646
|
+
},
|
647
|
+
{
|
648
|
+
"source": "^a file named \"([^\"]*)\" should not exist$",
|
649
|
+
"flags": "",
|
650
|
+
"steps": [
|
651
|
+
|
652
|
+
]
|
653
|
+
},
|
654
|
+
{
|
655
|
+
"source": "^a (\\d+) byte file named \"([^\"]*)\" should exist$",
|
656
|
+
"flags": "",
|
657
|
+
"steps": [
|
658
|
+
|
659
|
+
]
|
660
|
+
},
|
661
|
+
{
|
662
|
+
"source": "^the following directories should exist:$",
|
663
|
+
"flags": "",
|
664
|
+
"steps": [
|
665
|
+
|
666
|
+
]
|
667
|
+
},
|
668
|
+
{
|
669
|
+
"source": "^the following directories should not exist:$",
|
670
|
+
"flags": "",
|
671
|
+
"steps": [
|
672
|
+
|
673
|
+
]
|
674
|
+
},
|
675
|
+
{
|
676
|
+
"source": "^a directory named \"([^\"]*)\" should exist$",
|
677
|
+
"flags": "",
|
678
|
+
"steps": [
|
679
|
+
|
680
|
+
]
|
681
|
+
},
|
682
|
+
{
|
683
|
+
"source": "^a directory named \"([^\"]*)\" should not exist$",
|
684
|
+
"flags": "",
|
685
|
+
"steps": [
|
686
|
+
|
687
|
+
]
|
688
|
+
},
|
689
|
+
{
|
690
|
+
"source": "^the file \"([^\"]*)\" should contain \"([^\"]*)\"$",
|
691
|
+
"flags": "",
|
692
|
+
"steps": [
|
693
|
+
|
694
|
+
]
|
695
|
+
},
|
696
|
+
{
|
697
|
+
"source": "^the file \"([^\"]*)\" should not contain \"([^\"]*)\"$",
|
698
|
+
"flags": "",
|
699
|
+
"steps": [
|
700
|
+
|
701
|
+
]
|
702
|
+
},
|
703
|
+
{
|
704
|
+
"source": "^the file \"([^\"]*)\" should contain exactly:$",
|
705
|
+
"flags": "",
|
706
|
+
"steps": [
|
707
|
+
|
708
|
+
]
|
709
|
+
},
|
710
|
+
{
|
711
|
+
"source": "^the file \"([^\"]*)\" should match \\/([^\\/]*)\\/$",
|
712
|
+
"flags": "",
|
713
|
+
"steps": [
|
714
|
+
|
715
|
+
]
|
716
|
+
},
|
717
|
+
{
|
718
|
+
"source": "^the file \"([^\"]*)\" should not match \\/([^\\/]*)\\/$",
|
719
|
+
"flags": "",
|
720
|
+
"steps": [
|
721
|
+
|
722
|
+
]
|
723
|
+
},
|
724
|
+
{
|
725
|
+
"source": "^a scenario \"([^\"]*)\" with:$",
|
726
|
+
"flags": "",
|
727
|
+
"steps": [
|
728
|
+
{
|
729
|
+
"name": "a scenario \"Add three numbers\" with:",
|
730
|
+
"args": [
|
731
|
+
{
|
732
|
+
"offset": 12,
|
733
|
+
"val": "Add three numbers"
|
734
|
+
}
|
735
|
+
]
|
736
|
+
},
|
737
|
+
{
|
738
|
+
"name": "a scenario \"Add two numbers\" with:",
|
739
|
+
"args": [
|
740
|
+
{
|
741
|
+
"offset": 12,
|
742
|
+
"val": "Add two numbers"
|
743
|
+
}
|
744
|
+
]
|
745
|
+
},
|
746
|
+
{
|
747
|
+
"name": "a scenario \"Basic Arithmetic\" with:",
|
748
|
+
"args": [
|
749
|
+
{
|
750
|
+
"offset": 12,
|
751
|
+
"val": "Basic Arithmetic"
|
752
|
+
}
|
753
|
+
]
|
754
|
+
},
|
755
|
+
{
|
756
|
+
"name": "a scenario \"Calculate PI\" with:",
|
757
|
+
"args": [
|
758
|
+
{
|
759
|
+
"offset": 12,
|
760
|
+
"val": "Calculate PI"
|
761
|
+
}
|
762
|
+
]
|
763
|
+
},
|
764
|
+
{
|
765
|
+
"name": "a scenario \"Simple math\" with:",
|
766
|
+
"args": [
|
767
|
+
{
|
768
|
+
"offset": 12,
|
769
|
+
"val": "Simple math"
|
770
|
+
}
|
771
|
+
]
|
772
|
+
},
|
773
|
+
{
|
774
|
+
"name": "a scenario \"Too simple math\" with:",
|
775
|
+
"args": [
|
776
|
+
{
|
777
|
+
"offset": 12,
|
778
|
+
"val": "Too simple math"
|
779
|
+
}
|
780
|
+
]
|
781
|
+
}
|
782
|
+
]
|
783
|
+
},
|
784
|
+
{
|
785
|
+
"source": "^the following feature:$",
|
786
|
+
"flags": "",
|
787
|
+
"steps": [
|
788
|
+
{
|
789
|
+
"name": "the following feature:",
|
790
|
+
"args": [
|
791
|
+
|
792
|
+
]
|
793
|
+
}
|
794
|
+
]
|
795
|
+
},
|
796
|
+
{
|
797
|
+
"source": "^the step \"([^\"]*)\" has a passing mapping$",
|
798
|
+
"flags": "",
|
799
|
+
"steps": [
|
800
|
+
{
|
801
|
+
"name": "the step \"I add 4 and 5\" has a passing mapping",
|
802
|
+
"args": [
|
803
|
+
{
|
804
|
+
"offset": 10,
|
805
|
+
"val": "I add 4 and 5"
|
806
|
+
}
|
807
|
+
]
|
808
|
+
},
|
809
|
+
{
|
810
|
+
"name": "the step \"the result is 9\" has a passing mapping",
|
811
|
+
"args": [
|
812
|
+
{
|
813
|
+
"offset": 10,
|
814
|
+
"val": "the result is 9"
|
815
|
+
}
|
816
|
+
]
|
817
|
+
}
|
818
|
+
]
|
819
|
+
},
|
820
|
+
{
|
821
|
+
"source": "^the step \"([^\"]*)\" has a pending mapping$",
|
822
|
+
"flags": "",
|
823
|
+
"steps": [
|
824
|
+
{
|
825
|
+
"name": "the step \"I add 4 and 5\" has a pending mapping",
|
826
|
+
"args": [
|
827
|
+
{
|
828
|
+
"offset": 10,
|
829
|
+
"val": "I add 4 and 5"
|
830
|
+
}
|
831
|
+
]
|
832
|
+
}
|
833
|
+
]
|
834
|
+
},
|
835
|
+
{
|
836
|
+
"source": "^the step \"([^\"]*)\" has a failing mapping$",
|
837
|
+
"flags": "",
|
838
|
+
"steps": [
|
839
|
+
{
|
840
|
+
"name": "the step \"I add 4 and 5\" has a failing mapping",
|
841
|
+
"args": [
|
842
|
+
{
|
843
|
+
"offset": 10,
|
844
|
+
"val": "I add 4 and 5"
|
845
|
+
}
|
846
|
+
]
|
847
|
+
}
|
848
|
+
]
|
849
|
+
},
|
850
|
+
{
|
851
|
+
"source": "^Cucumber executes the scenario \"([^\"]*)\"$",
|
852
|
+
"flags": "",
|
853
|
+
"steps": [
|
854
|
+
{
|
855
|
+
"name": "Cucumber executes the scenario \"Basic Arithmetic\"",
|
856
|
+
"args": [
|
857
|
+
{
|
858
|
+
"offset": 32,
|
859
|
+
"val": "Basic Arithmetic"
|
860
|
+
}
|
861
|
+
]
|
862
|
+
}
|
863
|
+
]
|
864
|
+
},
|
865
|
+
{
|
866
|
+
"source": "^Cucumber runs the feature$",
|
867
|
+
"flags": "",
|
868
|
+
"steps": [
|
869
|
+
{
|
870
|
+
"name": "Cucumber runs the feature",
|
871
|
+
"args": [
|
872
|
+
|
873
|
+
]
|
874
|
+
}
|
875
|
+
]
|
876
|
+
},
|
877
|
+
{
|
878
|
+
"source": "^Cucumber runs the scenario with steps for a calculator$",
|
879
|
+
"flags": "",
|
880
|
+
"steps": [
|
881
|
+
{
|
882
|
+
"name": "Cucumber runs the scenario with steps for a calculator",
|
883
|
+
"args": [
|
884
|
+
|
885
|
+
]
|
886
|
+
}
|
887
|
+
]
|
888
|
+
},
|
889
|
+
{
|
890
|
+
"source": "^the scenario passes$",
|
891
|
+
"flags": "",
|
892
|
+
"steps": [
|
893
|
+
{
|
894
|
+
"name": "the scenario passes",
|
895
|
+
"args": [
|
896
|
+
|
897
|
+
]
|
898
|
+
}
|
899
|
+
]
|
900
|
+
},
|
901
|
+
{
|
902
|
+
"source": "^the scenario fails$",
|
903
|
+
"flags": "",
|
904
|
+
"steps": [
|
905
|
+
{
|
906
|
+
"name": "the scenario fails",
|
907
|
+
"args": [
|
908
|
+
|
909
|
+
]
|
910
|
+
}
|
911
|
+
]
|
912
|
+
},
|
913
|
+
{
|
914
|
+
"source": "^the scenario is pending$",
|
915
|
+
"flags": "",
|
916
|
+
"steps": [
|
917
|
+
{
|
918
|
+
"name": "the scenario is pending",
|
919
|
+
"args": [
|
920
|
+
|
921
|
+
]
|
922
|
+
}
|
923
|
+
]
|
924
|
+
},
|
925
|
+
{
|
926
|
+
"source": "^the scenario is undefined$",
|
927
|
+
"flags": "",
|
928
|
+
"steps": [
|
929
|
+
{
|
930
|
+
"name": "the scenario is undefined",
|
931
|
+
"args": [
|
932
|
+
|
933
|
+
]
|
934
|
+
}
|
935
|
+
]
|
936
|
+
},
|
937
|
+
{
|
938
|
+
"source": "^the step \"([^\"]*)\" is skipped$",
|
939
|
+
"flags": "",
|
940
|
+
"steps": [
|
941
|
+
{
|
942
|
+
"name": "the step \"the result is 9\" is skipped",
|
943
|
+
"args": [
|
944
|
+
{
|
945
|
+
"offset": 10,
|
946
|
+
"val": "the result is 9"
|
947
|
+
}
|
948
|
+
]
|
949
|
+
}
|
950
|
+
]
|
951
|
+
},
|
952
|
+
{
|
953
|
+
"source": "^the feature passes$",
|
954
|
+
"flags": "",
|
955
|
+
"steps": [
|
956
|
+
{
|
957
|
+
"name": "the feature passes",
|
958
|
+
"args": [
|
959
|
+
|
960
|
+
]
|
961
|
+
}
|
962
|
+
]
|
963
|
+
},
|
964
|
+
{
|
965
|
+
"source": "^I run cucumber \"(.+)\"$",
|
966
|
+
"flags": "",
|
967
|
+
"steps": [
|
968
|
+
{
|
969
|
+
"name": "I run cucumber \"--format json features/doc_string.feature\"",
|
970
|
+
"args": [
|
971
|
+
{
|
972
|
+
"offset": 16,
|
973
|
+
"val": "--format json features/doc_string.feature"
|
974
|
+
}
|
975
|
+
]
|
976
|
+
},
|
977
|
+
{
|
978
|
+
"name": "I run cucumber \"--format json features/one_passing_one_failing.feature\"",
|
979
|
+
"args": [
|
980
|
+
{
|
981
|
+
"offset": 16,
|
982
|
+
"val": "--format json features/one_passing_one_failing.feature"
|
983
|
+
}
|
984
|
+
]
|
985
|
+
},
|
986
|
+
{
|
987
|
+
"name": "I run cucumber \"-b --format json features/embed.feature\"",
|
988
|
+
"args": [
|
989
|
+
{
|
990
|
+
"offset": 16,
|
991
|
+
"val": "-b --format json features/embed.feature"
|
992
|
+
}
|
993
|
+
]
|
994
|
+
},
|
995
|
+
{
|
996
|
+
"name": "I run cucumber \"features/f.feature --format Ze::Formator\"",
|
997
|
+
"args": [
|
998
|
+
{
|
999
|
+
"offset": 16,
|
1000
|
+
"val": "features/f.feature --format Ze::Formator"
|
1001
|
+
}
|
1002
|
+
]
|
1003
|
+
},
|
1004
|
+
{
|
1005
|
+
"name": "I run cucumber \"features/foo.feature\"",
|
1006
|
+
"args": [
|
1007
|
+
{
|
1008
|
+
"offset": 16,
|
1009
|
+
"val": "features/foo.feature"
|
1010
|
+
}
|
1011
|
+
]
|
1012
|
+
},
|
1013
|
+
{
|
1014
|
+
"name": "I run cucumber \"features/one_passing_one_failing.feature -r features -f rerun\"",
|
1015
|
+
"args": [
|
1016
|
+
{
|
1017
|
+
"offset": 16,
|
1018
|
+
"val": "features/one_passing_one_failing.feature -r features -f rerun"
|
1019
|
+
}
|
1020
|
+
]
|
1021
|
+
},
|
1022
|
+
{
|
1023
|
+
"name": "I run cucumber \"features/sample.feature --tags ~@wip\"",
|
1024
|
+
"args": [
|
1025
|
+
{
|
1026
|
+
"offset": 16,
|
1027
|
+
"val": "features/sample.feature --tags ~@wip"
|
1028
|
+
}
|
1029
|
+
]
|
1030
|
+
},
|
1031
|
+
{
|
1032
|
+
"name": "I run cucumber \"features/sample.feature -r features --tags ~@wip\"",
|
1033
|
+
"args": [
|
1034
|
+
{
|
1035
|
+
"offset": 16,
|
1036
|
+
"val": "features/sample.feature -r features --tags ~@wip"
|
1037
|
+
}
|
1038
|
+
]
|
1039
|
+
}
|
1040
|
+
]
|
1041
|
+
},
|
1042
|
+
{
|
1043
|
+
"source": "^it should (pass|fail) with JSON:$",
|
1044
|
+
"flags": "",
|
1045
|
+
"steps": [
|
1046
|
+
{
|
1047
|
+
"name": "it should fail with JSON:",
|
1048
|
+
"args": [
|
1049
|
+
{
|
1050
|
+
"offset": 10,
|
1051
|
+
"val": "fail"
|
1052
|
+
}
|
1053
|
+
]
|
1054
|
+
},
|
1055
|
+
{
|
1056
|
+
"name": "it should pass with JSON:",
|
1057
|
+
"args": [
|
1058
|
+
{
|
1059
|
+
"offset": 10,
|
1060
|
+
"val": "pass"
|
1061
|
+
}
|
1062
|
+
]
|
1063
|
+
}
|
1064
|
+
]
|
1065
|
+
},
|
1066
|
+
{
|
1067
|
+
"source": "^a directory without standard Cucumber project directory structure$",
|
1068
|
+
"flags": "",
|
1069
|
+
"steps": [
|
1070
|
+
{
|
1071
|
+
"name": "a directory without standard Cucumber project directory structure",
|
1072
|
+
"args": [
|
1073
|
+
|
1074
|
+
]
|
1075
|
+
}
|
1076
|
+
]
|
1077
|
+
},
|
1078
|
+
{
|
1079
|
+
"source": "^a scenario with a step that looks like this:$",
|
1080
|
+
"flags": "",
|
1081
|
+
"steps": [
|
1082
|
+
{
|
1083
|
+
"name": "a scenario with a step that looks like this:",
|
1084
|
+
"args": [
|
1085
|
+
|
1086
|
+
]
|
1087
|
+
}
|
1088
|
+
]
|
1089
|
+
},
|
1090
|
+
{
|
1091
|
+
"source": "^a step definition that looks like this:$",
|
1092
|
+
"flags": "",
|
1093
|
+
"steps": [
|
1094
|
+
{
|
1095
|
+
"name": "a step definition that looks like this:",
|
1096
|
+
"args": [
|
1097
|
+
|
1098
|
+
]
|
1099
|
+
}
|
1100
|
+
]
|
1101
|
+
},
|
1102
|
+
{
|
1103
|
+
"source": "^I run the feature with the (\\w+) formatter$",
|
1104
|
+
"flags": "",
|
1105
|
+
"steps": [
|
1106
|
+
{
|
1107
|
+
"name": "I run the feature with the progress formatter",
|
1108
|
+
"args": [
|
1109
|
+
{
|
1110
|
+
"offset": 27,
|
1111
|
+
"val": "progress"
|
1112
|
+
}
|
1113
|
+
]
|
1114
|
+
}
|
1115
|
+
]
|
1116
|
+
},
|
1117
|
+
{
|
1118
|
+
"source": "^I am running spork in the background$",
|
1119
|
+
"flags": "",
|
1120
|
+
"steps": [
|
1121
|
+
{
|
1122
|
+
"name": "I am running spork in the background",
|
1123
|
+
"args": [
|
1124
|
+
|
1125
|
+
]
|
1126
|
+
}
|
1127
|
+
]
|
1128
|
+
},
|
1129
|
+
{
|
1130
|
+
"source": "^jeg drikker en \"([^\"]*)\"$",
|
1131
|
+
"flags": "",
|
1132
|
+
"steps": [
|
1133
|
+
{
|
1134
|
+
"name": "jeg drikker en \"øl\"",
|
1135
|
+
"args": [
|
1136
|
+
{
|
1137
|
+
"offset": 16,
|
1138
|
+
"val": "øl"
|
1139
|
+
}
|
1140
|
+
]
|
1141
|
+
}
|
1142
|
+
]
|
1143
|
+
},
|
1144
|
+
{
|
1145
|
+
"source": "^skal de andre si \"([^\"]*)\"$",
|
1146
|
+
"flags": "",
|
1147
|
+
"steps": [
|
1148
|
+
{
|
1149
|
+
"name": "skal de andre si \"skål\"",
|
1150
|
+
"args": [
|
1151
|
+
{
|
1152
|
+
"offset": 18,
|
1153
|
+
"val": "skål"
|
1154
|
+
}
|
1155
|
+
]
|
1156
|
+
}
|
1157
|
+
]
|
1158
|
+
}
|
1159
|
+
]
|