cucumber 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +19 -0
- data/Manifest.txt +5 -1
- data/examples/self_test/features/tons_of_cukes.feature +52 -0
- data/examples/sinatra/features/support/env.rb +6 -2
- data/examples/tickets/features/248.feature +11 -0
- data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
- data/features/cucumber_cli.feature +1 -1
- data/features/custom_formatter.feature +2 -2
- data/features/usage.feature +108 -0
- data/lib/autotest/cucumber_mixin.rb +1 -1
- data/lib/cucumber/ast/feature.rb +1 -1
- data/lib/cucumber/ast/features.rb +6 -0
- data/lib/cucumber/ast/step.rb +2 -13
- data/lib/cucumber/ast/step_invocation.rb +11 -3
- data/lib/cucumber/ast/table.rb +4 -0
- data/lib/cucumber/cli/configuration.rb +11 -14
- data/lib/cucumber/cli/main.rb +14 -21
- data/lib/cucumber/formatter.rb +1 -1
- data/lib/cucumber/formatter/html.rb +47 -8
- data/lib/cucumber/formatter/pretty.rb +1 -2
- data/lib/cucumber/formatter/rerun.rb +8 -0
- data/lib/cucumber/formatter/usage.rb +69 -0
- data/lib/cucumber/jbehave.rb +1 -0
- data/lib/cucumber/rails/world.rb +22 -21
- data/lib/cucumber/step_definition.rb +65 -54
- data/lib/cucumber/step_match.rb +10 -2
- data/lib/cucumber/step_mother.rb +1 -8
- data/lib/cucumber/version.rb +1 -1
- data/rails_generators/cucumber/templates/env.rb +2 -0
- data/rails_generators/feature/templates/steps.erb +1 -1
- data/spec/cucumber/ast/feature_spec.rb +2 -1
- data/spec/cucumber/ast/step_collection_spec.rb +8 -0
- data/spec/cucumber/cli/configuration_spec.rb +18 -6
- data/spec/cucumber/cli/main_spec.rb +1 -13
- data/spec/cucumber/parser/feature_parser_spec.rb +15 -15
- data/spec/cucumber/step_definition_spec.rb +21 -9
- metadata +7 -3
- data/gem_tasks/jar.rake +0 -67
data/History.txt
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
== 0.2.1 2009-03-25
|
2
|
+
|
3
|
+
This release fixes a few minor bugs and adds a couple of new features.
|
4
|
+
|
5
|
+
== Bugfixes
|
6
|
+
* Fixed Cucumber, and rails controller error handling (#49 Matt Patterson)
|
7
|
+
* HTML Formatter doesn't work correctly with scenario Outlines. (#260 Aslak Hellesøy)
|
8
|
+
* After blocks are run in reverse order of registration. (#113 Aslak Hellesøy)
|
9
|
+
* Snippets are showing 'Ands' (#249 Aslak Hellesøy)
|
10
|
+
|
11
|
+
=== New features
|
12
|
+
* Snippets use a regexp and block arguments if the step name has "quoted" arguments. (Aslak Hellesøy)
|
13
|
+
* Cucumber::Ast::Feature#to_sexp includes the file name. (Aslak Hellesøy)
|
14
|
+
* support/env.rb is not loaded when --dry-run is specified. This is to increase performance. (Aslak Hellesøy)
|
15
|
+
* New usage formatter. This is the foundation for editor autocompletion and navigation between steps and step definitions. (#209 Aslak Hellesøy)
|
16
|
+
|
17
|
+
=== Removed features
|
18
|
+
* -S/--step-definitions option introduced in 0.2.0 is removed. Use --format usage [--dry-run] [--no-color].
|
19
|
+
|
1
20
|
== 0.2.0 2009-03-18
|
2
21
|
|
3
22
|
This release sports a bunch of new and exciting features, as well a major rewrite of Cucumber's internals.
|
data/Manifest.txt
CHANGED
@@ -158,6 +158,7 @@ examples/self_test/features/sample.feature
|
|
158
158
|
examples/self_test/features/step_definitions/sample_steps.rb
|
159
159
|
examples/self_test/features/support/env.rb
|
160
160
|
examples/self_test/features/support/tag_count_formatter.rb
|
161
|
+
examples/self_test/features/tons_of_cukes.feature
|
161
162
|
examples/sinatra/Rakefile
|
162
163
|
examples/sinatra/app.rb
|
163
164
|
examples/sinatra/features/add.feature
|
@@ -177,9 +178,11 @@ examples/tickets/features/177/3.feature
|
|
177
178
|
examples/tickets/features/180.feature
|
178
179
|
examples/tickets/features/236.feature
|
179
180
|
examples/tickets/features/241.feature
|
181
|
+
examples/tickets/features/248.feature
|
180
182
|
examples/tickets/features/lib/eatting_machine.rb
|
181
183
|
examples/tickets/features/lib/pantry.rb
|
182
184
|
examples/tickets/features/scenario_outline.feature
|
185
|
+
examples/tickets/features/step_definitons/248_steps.rb
|
183
186
|
examples/tickets/features/step_definitons/scenario_outline_steps.rb
|
184
187
|
examples/tickets/features/step_definitons/tickets_steps.rb
|
185
188
|
examples/tickets/features/tickets.feature
|
@@ -197,13 +200,13 @@ features/report_called_undefined_steps.feature
|
|
197
200
|
features/step_definitions/cucumber_steps.rb
|
198
201
|
features/step_definitions/extra_steps.rb
|
199
202
|
features/support/env.rb
|
203
|
+
features/usage.feature
|
200
204
|
gem_tasks/deployment.rake
|
201
205
|
gem_tasks/environment.rake
|
202
206
|
gem_tasks/features.rake
|
203
207
|
gem_tasks/fix_cr_lf.rake
|
204
208
|
gem_tasks/flog.rake
|
205
209
|
gem_tasks/gemspec.rake
|
206
|
-
gem_tasks/jar.rake
|
207
210
|
gem_tasks/rspec.rake
|
208
211
|
gem_tasks/yard.rake
|
209
212
|
lib/autotest/cucumber.rb
|
@@ -250,6 +253,7 @@ lib/cucumber/formatter/profile.rb
|
|
250
253
|
lib/cucumber/formatter/progress.rb
|
251
254
|
lib/cucumber/formatter/rerun.rb
|
252
255
|
lib/cucumber/formatter/unicode.rb
|
256
|
+
lib/cucumber/formatter/usage.rb
|
253
257
|
lib/cucumber/formatters/unicode.rb
|
254
258
|
lib/cucumber/jbehave.rb
|
255
259
|
lib/cucumber/languages.yml
|
@@ -0,0 +1,52 @@
|
|
1
|
+
@lots
|
2
|
+
Feature: Tons of cukes
|
3
|
+
Scenario: Lots and lots
|
4
|
+
Given '2' cukes
|
5
|
+
Given '2' cukes
|
6
|
+
Given '2' cukes
|
7
|
+
Given '2' cukes
|
8
|
+
Given '2' cukes
|
9
|
+
Given '2' cukes
|
10
|
+
Given '2' cukes
|
11
|
+
Given '2' cukes
|
12
|
+
Given '2' cukes
|
13
|
+
Given '2' cukes
|
14
|
+
Given '2' cukes
|
15
|
+
Given '2' cukes
|
16
|
+
Given '2' cukes
|
17
|
+
Given '2' cukes
|
18
|
+
Given '2' cukes
|
19
|
+
Given '2' cukes
|
20
|
+
Given '2' cukes
|
21
|
+
Given '2' cukes
|
22
|
+
Given '2' cukes
|
23
|
+
Given '2' cukes
|
24
|
+
Given '2' cukes
|
25
|
+
Given '2' cukes
|
26
|
+
Given '2' cukes
|
27
|
+
Given '2' cukes
|
28
|
+
Given '2' cukes
|
29
|
+
Given '2' cukes
|
30
|
+
Given '2' cukes
|
31
|
+
Given '2' cukes
|
32
|
+
Given '2' cukes
|
33
|
+
Given '2' cukes
|
34
|
+
Given '2' cukes
|
35
|
+
Given '2' cukes
|
36
|
+
Given '2' cukes
|
37
|
+
Given '2' cukes
|
38
|
+
Given '2' cukes
|
39
|
+
Given '2' cukes
|
40
|
+
Given '2' cukes
|
41
|
+
Given '2' cukes
|
42
|
+
Given '2' cukes
|
43
|
+
Given '2' cukes
|
44
|
+
Given '2' cukes
|
45
|
+
Given '2' cukes
|
46
|
+
Given '2' cukes
|
47
|
+
Given '2' cukes
|
48
|
+
Given '2' cukes
|
49
|
+
Given '2' cukes
|
50
|
+
Given '2' cukes
|
51
|
+
Given '2' cukes
|
52
|
+
Given '2' cukes
|
@@ -1,7 +1,11 @@
|
|
1
|
+
# See http://wiki.github.com/aslakhellesoy/cucumber/sinatra
|
2
|
+
# for more details about Sinatra with Cucumber
|
3
|
+
|
1
4
|
# Sinatra
|
2
|
-
|
5
|
+
app_file = File.join(File.dirname(__FILE__), *%w[.. .. app.rb])
|
6
|
+
require app_file
|
3
7
|
# Force the application name because polyglot breaks the auto-detection logic.
|
4
|
-
Sinatra::Application.app_file =
|
8
|
+
Sinatra::Application.app_file = app_file
|
5
9
|
|
6
10
|
# RSpec
|
7
11
|
require 'spec/expectations'
|
@@ -166,7 +166,7 @@ Feature: Cucumber command line
|
|
166
166
|
"""
|
167
167
|
|
168
168
|
Scenario: --dry-run
|
169
|
-
When I run cucumber --dry-run --no-snippets features/*.feature
|
169
|
+
When I run cucumber --dry-run --no-snippets features/*.feature --tags ~@lots
|
170
170
|
Then it should pass with
|
171
171
|
"""
|
172
172
|
Feature: Calling undefined step
|
@@ -0,0 +1,108 @@
|
|
1
|
+
Feature: Cucumber command line
|
2
|
+
In order to be able to write an editor plugin that can jump between
|
3
|
+
steps and step definitions, Cucumber must provide a way to
|
4
|
+
display how they are related.
|
5
|
+
|
6
|
+
Scenario: List usage of step definitions
|
7
|
+
When I run cucumber features --format usage --dry-run
|
8
|
+
Then it should pass with
|
9
|
+
"""
|
10
|
+
/^passing without a table$/ # features/step_definitions/sample_steps.rb:12
|
11
|
+
Given passing without a table # features/background/failing_background_after_success.feature:4
|
12
|
+
Given <state> without a table # features/outline_sample.feature:6
|
13
|
+
Given <other_state> without a table # features/outline_sample.feature:7
|
14
|
+
/^failing without a table$/ # features/step_definitions/sample_steps.rb:15
|
15
|
+
Given failing without a table # features/background/failing_background.feature:4
|
16
|
+
Given failing without a table # features/background/scenario_outline_failing_background.feature:4
|
17
|
+
/^a step definition that calls an undefined step$/ # features/step_definitions/sample_steps.rb:19
|
18
|
+
Given a step definition that calls an undefined step # features/call_undefined_step_from_step_def.feature:4
|
19
|
+
/^call step "(.*)"$/ # features/step_definitions/sample_steps.rb:23
|
20
|
+
Given call step "a step definition that calls an undefined step" # features/call_undefined_step_from_step_def.feature:7
|
21
|
+
/^'(.+)' cukes$/ # features/step_definitions/sample_steps.rb:27
|
22
|
+
And '10' cukes # features/background/failing_background.feature:5
|
23
|
+
Given '10' cukes # features/background/passing_background.feature:4
|
24
|
+
Given '10' cukes # features/background/scenario_outline_passing_background.feature:4
|
25
|
+
Given '2' cukes # features/tons_of_cukes.feature:4
|
26
|
+
Given '2' cukes # features/tons_of_cukes.feature:5
|
27
|
+
Given '2' cukes # features/tons_of_cukes.feature:6
|
28
|
+
Given '2' cukes # features/tons_of_cukes.feature:7
|
29
|
+
Given '2' cukes # features/tons_of_cukes.feature:8
|
30
|
+
Given '2' cukes # features/tons_of_cukes.feature:9
|
31
|
+
Given '2' cukes # features/tons_of_cukes.feature:10
|
32
|
+
Given '2' cukes # features/tons_of_cukes.feature:11
|
33
|
+
Given '2' cukes # features/tons_of_cukes.feature:12
|
34
|
+
Given '2' cukes # features/tons_of_cukes.feature:13
|
35
|
+
Given '2' cukes # features/tons_of_cukes.feature:14
|
36
|
+
Given '2' cukes # features/tons_of_cukes.feature:15
|
37
|
+
Given '2' cukes # features/tons_of_cukes.feature:16
|
38
|
+
Given '2' cukes # features/tons_of_cukes.feature:17
|
39
|
+
Given '2' cukes # features/tons_of_cukes.feature:18
|
40
|
+
Given '2' cukes # features/tons_of_cukes.feature:19
|
41
|
+
Given '2' cukes # features/tons_of_cukes.feature:20
|
42
|
+
Given '2' cukes # features/tons_of_cukes.feature:21
|
43
|
+
Given '2' cukes # features/tons_of_cukes.feature:22
|
44
|
+
Given '2' cukes # features/tons_of_cukes.feature:23
|
45
|
+
Given '2' cukes # features/tons_of_cukes.feature:24
|
46
|
+
Given '2' cukes # features/tons_of_cukes.feature:25
|
47
|
+
Given '2' cukes # features/tons_of_cukes.feature:26
|
48
|
+
Given '2' cukes # features/tons_of_cukes.feature:27
|
49
|
+
Given '2' cukes # features/tons_of_cukes.feature:28
|
50
|
+
Given '2' cukes # features/tons_of_cukes.feature:29
|
51
|
+
Given '2' cukes # features/tons_of_cukes.feature:30
|
52
|
+
Given '2' cukes # features/tons_of_cukes.feature:31
|
53
|
+
Given '2' cukes # features/tons_of_cukes.feature:32
|
54
|
+
Given '2' cukes # features/tons_of_cukes.feature:33
|
55
|
+
Given '2' cukes # features/tons_of_cukes.feature:34
|
56
|
+
Given '2' cukes # features/tons_of_cukes.feature:35
|
57
|
+
Given '2' cukes # features/tons_of_cukes.feature:36
|
58
|
+
Given '2' cukes # features/tons_of_cukes.feature:37
|
59
|
+
Given '2' cukes # features/tons_of_cukes.feature:38
|
60
|
+
Given '2' cukes # features/tons_of_cukes.feature:39
|
61
|
+
Given '2' cukes # features/tons_of_cukes.feature:40
|
62
|
+
Given '2' cukes # features/tons_of_cukes.feature:41
|
63
|
+
Given '2' cukes # features/tons_of_cukes.feature:42
|
64
|
+
Given '2' cukes # features/tons_of_cukes.feature:43
|
65
|
+
Given '2' cukes # features/tons_of_cukes.feature:44
|
66
|
+
Given '2' cukes # features/tons_of_cukes.feature:45
|
67
|
+
Given '2' cukes # features/tons_of_cukes.feature:46
|
68
|
+
Given '2' cukes # features/tons_of_cukes.feature:47
|
69
|
+
Given '2' cukes # features/tons_of_cukes.feature:48
|
70
|
+
Given '2' cukes # features/tons_of_cukes.feature:49
|
71
|
+
Given '2' cukes # features/tons_of_cukes.feature:50
|
72
|
+
Given '2' cukes # features/tons_of_cukes.feature:51
|
73
|
+
Given '2' cukes # features/tons_of_cukes.feature:52
|
74
|
+
/^I should have '(.+)' cukes$/ # features/step_definitions/sample_steps.rb:31
|
75
|
+
Then I should have '10' cukes # features/background/failing_background.feature:8
|
76
|
+
Then I should have '10' cukes # features/background/failing_background.feature:11
|
77
|
+
Then I should have '10' cukes # features/background/passing_background.feature:7
|
78
|
+
Then I should have '10' cukes # features/background/passing_background.feature:10
|
79
|
+
Then I should have '10' cukes # features/background/pending_background.feature:7
|
80
|
+
Then I should have '10' cukes # features/background/pending_background.feature:10
|
81
|
+
Then I should have '<count>' cukes # features/background/scenario_outline_failing_background.feature:7
|
82
|
+
Then I should have '<count>' cukes # features/background/scenario_outline_failing_background.feature:13
|
83
|
+
Then I should have '<count>' cukes # features/background/scenario_outline_passing_background.feature:7
|
84
|
+
Then I should have '<count>' cukes # features/background/scenario_outline_passing_background.feature:13
|
85
|
+
/^'(.+)' global cukes$/ # features/step_definitions/sample_steps.rb:35
|
86
|
+
And '10' global cukes # features/background/failing_background_after_success.feature:5
|
87
|
+
/^I should have '(.+)' global cukes$/ # features/step_definitions/sample_steps.rb:42
|
88
|
+
Then I should have '10' global cukes # features/background/failing_background_after_success.feature:8
|
89
|
+
Then I should have '10' global cukes # features/background/failing_background_after_success.feature:11
|
90
|
+
/^table$/ # features/step_definitions/sample_steps.rb:46
|
91
|
+
Given table # features/background/multiline_args_background.feature:4
|
92
|
+
/^multiline string$/ # features/step_definitions/sample_steps.rb:50
|
93
|
+
And multiline string # features/background/multiline_args_background.feature:7
|
94
|
+
/^the table should be$/ # features/step_definitions/sample_steps.rb:54
|
95
|
+
Then the table should be # features/background/multiline_args_background.feature:14
|
96
|
+
Then the table should be # features/background/multiline_args_background.feature:24
|
97
|
+
/^the multiline string should be$/ # features/step_definitions/sample_steps.rb:58
|
98
|
+
Then the multiline string should be # features/background/multiline_args_background.feature:17
|
99
|
+
Then the multiline string should be # features/background/multiline_args_background.feature:27
|
100
|
+
/^passing$/ # features/step_definitions/sample_steps.rb:5
|
101
|
+
Given passing # features/sample.feature:10
|
102
|
+
/^failing expectation$/ # features/step_definitions/sample_steps.rb:62
|
103
|
+
Given failing expectation # features/failing_expectation.feature:4
|
104
|
+
/^failing$/ # features/step_definitions/sample_steps.rb:8
|
105
|
+
Given failing # features/sample.feature:16
|
106
|
+
|
107
|
+
"""
|
108
|
+
|
data/lib/cucumber/ast/feature.rb
CHANGED
data/lib/cucumber/ast/step.rb
CHANGED
@@ -78,19 +78,8 @@ module Cucumber
|
|
78
78
|
@file_colon_line ||= @feature_element.file_colon_line(@line) unless @feature_element.nil?
|
79
79
|
end
|
80
80
|
|
81
|
-
def
|
82
|
-
|
83
|
-
previous_step.actual_keyword
|
84
|
-
else
|
85
|
-
@keyword
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
protected
|
90
|
-
|
91
|
-
# TODO: Remove when we use StepCollection everywhere
|
92
|
-
def previous_step
|
93
|
-
@feature_element.previous_step(self)
|
81
|
+
def dom_id
|
82
|
+
@dom_id ||= file_colon_line.gsub(/\//, '_').gsub(/\./, '_').gsub(/:/, '_')
|
94
83
|
end
|
95
84
|
|
96
85
|
private
|
@@ -28,7 +28,7 @@ module Cucumber
|
|
28
28
|
unless @skip_invoke || options[:dry_run] || exception || @step_collection.exception
|
29
29
|
@skip_invoke = true
|
30
30
|
begin
|
31
|
-
step_mother.current_world.__cucumber_current_step = self
|
31
|
+
step_mother.current_world.__cucumber_current_step = self if step_mother.current_world # Nil in Pure Java
|
32
32
|
@step_match.invoke(step_mother.current_world, @multiline_arg)
|
33
33
|
status!(:passed)
|
34
34
|
rescue Pending => e
|
@@ -79,10 +79,10 @@ module Cucumber
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def actual_keyword
|
82
|
-
if [Cucumber.keyword_hash['and'], Cucumber.keyword_hash['but']].index(@keyword) && previous
|
82
|
+
if [Cucumber.keyword_hash['and'], Cucumber.keyword_hash['but']].index(@step.keyword) && previous
|
83
83
|
previous.actual_keyword
|
84
84
|
else
|
85
|
-
|
85
|
+
keyword
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
@@ -94,10 +94,18 @@ module Cucumber
|
|
94
94
|
@step.text_length
|
95
95
|
end
|
96
96
|
|
97
|
+
def keyword
|
98
|
+
@step.keyword
|
99
|
+
end
|
100
|
+
|
97
101
|
def file_colon_line
|
98
102
|
@step.file_colon_line
|
99
103
|
end
|
100
104
|
|
105
|
+
def dom_id
|
106
|
+
@step.dom_id
|
107
|
+
end
|
108
|
+
|
101
109
|
def backtrace_line
|
102
110
|
@step.backtrace_line
|
103
111
|
end
|
data/lib/cucumber/ast/table.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Cucumber
|
2
2
|
module Cli
|
3
3
|
class YmlLoadError < StandardError; end
|
4
|
-
|
4
|
+
|
5
5
|
class Configuration
|
6
6
|
FORMATS = %w{pretty profile progress rerun}
|
7
7
|
DEFAULT_FORMAT = 'pretty'
|
@@ -95,6 +95,7 @@ module Cucumber
|
|
95
95
|
Term::ANSIColor.coloring = v
|
96
96
|
end
|
97
97
|
opts.on("-d", "--dry-run", "Invokes formatters without executing the steps.",
|
98
|
+
"This also omits the loading of your support/env.rb file if it exists.",
|
98
99
|
"Implies --quiet.") do
|
99
100
|
@options[:dry_run] = true
|
100
101
|
@quiet = true
|
@@ -137,9 +138,6 @@ module Cucumber
|
|
137
138
|
opts.on("--no-diff", "Disable diff output on failing expectations.") do
|
138
139
|
@options[:diff_enabled] = false
|
139
140
|
end
|
140
|
-
opts.on("-S", "--step-definitions", "Print the regexp and line of all step definitions, then exit.") do
|
141
|
-
@options[:print_step_definitions] = true
|
142
|
-
end
|
143
141
|
opts.on_tail("--version", "Show version.") do
|
144
142
|
@out_stream.puts VERSION::STRING
|
145
143
|
Kernel.exit
|
@@ -175,10 +173,6 @@ module Cucumber
|
|
175
173
|
@options[:diff_enabled]
|
176
174
|
end
|
177
175
|
|
178
|
-
def print_step_definitions?
|
179
|
-
@options[:print_step_definitions]
|
180
|
-
end
|
181
|
-
|
182
176
|
def load_language
|
183
177
|
if Cucumber.language_incomplete?(@options[:lang])
|
184
178
|
list_keywords_and_exit(@options[:lang])
|
@@ -224,11 +218,12 @@ module Cucumber
|
|
224
218
|
|
225
219
|
def formatter_class(format)
|
226
220
|
case format
|
221
|
+
when 'html' then Formatter::Html
|
227
222
|
when 'pretty' then Formatter::Pretty
|
228
|
-
when 'progress' then Formatter::Progress
|
229
223
|
when 'profile' then Formatter::Profile
|
224
|
+
when 'progress' then Formatter::Progress
|
230
225
|
when 'rerun' then Formatter::Rerun
|
231
|
-
when '
|
226
|
+
when 'usage' then Formatter::Usage
|
232
227
|
else
|
233
228
|
constantize(format)
|
234
229
|
end
|
@@ -242,7 +237,9 @@ module Cucumber
|
|
242
237
|
end.flatten.uniq
|
243
238
|
sorted_files = files.sort { |a,b| (b =~ %r{/support/} || -1) <=> (a =~ %r{/support/} || -1) }.reject{|f| f =~ /^http/}
|
244
239
|
env_files = sorted_files.select {|f| f =~ %r{/support/env.rb} }
|
245
|
-
env_files + sorted_files.reject {|f| f =~ %r{/support/env.rb} }
|
240
|
+
files = env_files + sorted_files.reject {|f| f =~ %r{/support/env.rb} }
|
241
|
+
files.reject! {|f| f =~ %r{/support/env.rb} } if @options[:dry_run]
|
242
|
+
files
|
246
243
|
end
|
247
244
|
|
248
245
|
def feature_files
|
@@ -305,18 +302,18 @@ Defined profiles in cucumber.yml:
|
|
305
302
|
def cucumber_yml
|
306
303
|
return @cucumber_yml if @cucumber_yml
|
307
304
|
unless File.exist?('cucumber.yml')
|
308
|
-
raise(YmlLoadError,"cucumber.yml was not found. Please refer to cucumber's
|
305
|
+
raise(YmlLoadError,"cucumber.yml was not found. Please refer to cucumber's documentation on defining profiles in cucumber.yml. You must define a 'default' profile to use the cucumber command without any arguments.\nType 'cucumber --help' for usage.\n")
|
309
306
|
end
|
310
307
|
|
311
308
|
require 'yaml'
|
312
309
|
begin
|
313
310
|
@cucumber_yml = YAML::load(IO.read('cucumber.yml'))
|
314
311
|
rescue Exception => e
|
315
|
-
raise(YmlLoadError,"cucumber.yml was found, but could not be parsed. Please refer to cucumber's
|
312
|
+
raise(YmlLoadError,"cucumber.yml was found, but could not be parsed. Please refer to cucumber's documentation on correct profile usage.\n")
|
316
313
|
end
|
317
314
|
|
318
315
|
if @cucumber_yml.nil? || !@cucumber_yml.is_a?(Hash)
|
319
|
-
raise(YmlLoadError,"cucumber.yml was found, but was blank or malformed. Please refer to cucumber's
|
316
|
+
raise(YmlLoadError,"cucumber.yml was found, but was blank or malformed. Please refer to cucumber's documentation on correct profile usage.\n")
|
320
317
|
end
|
321
318
|
|
322
319
|
return @cucumber_yml
|