cucumber 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/History.txt +19 -0
  2. data/Manifest.txt +5 -1
  3. data/examples/self_test/features/tons_of_cukes.feature +52 -0
  4. data/examples/sinatra/features/support/env.rb +6 -2
  5. data/examples/tickets/features/248.feature +11 -0
  6. data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
  7. data/features/cucumber_cli.feature +1 -1
  8. data/features/custom_formatter.feature +2 -2
  9. data/features/usage.feature +108 -0
  10. data/lib/autotest/cucumber_mixin.rb +1 -1
  11. data/lib/cucumber/ast/feature.rb +1 -1
  12. data/lib/cucumber/ast/features.rb +6 -0
  13. data/lib/cucumber/ast/step.rb +2 -13
  14. data/lib/cucumber/ast/step_invocation.rb +11 -3
  15. data/lib/cucumber/ast/table.rb +4 -0
  16. data/lib/cucumber/cli/configuration.rb +11 -14
  17. data/lib/cucumber/cli/main.rb +14 -21
  18. data/lib/cucumber/formatter.rb +1 -1
  19. data/lib/cucumber/formatter/html.rb +47 -8
  20. data/lib/cucumber/formatter/pretty.rb +1 -2
  21. data/lib/cucumber/formatter/rerun.rb +8 -0
  22. data/lib/cucumber/formatter/usage.rb +69 -0
  23. data/lib/cucumber/jbehave.rb +1 -0
  24. data/lib/cucumber/rails/world.rb +22 -21
  25. data/lib/cucumber/step_definition.rb +65 -54
  26. data/lib/cucumber/step_match.rb +10 -2
  27. data/lib/cucumber/step_mother.rb +1 -8
  28. data/lib/cucumber/version.rb +1 -1
  29. data/rails_generators/cucumber/templates/env.rb +2 -0
  30. data/rails_generators/feature/templates/steps.erb +1 -1
  31. data/spec/cucumber/ast/feature_spec.rb +2 -1
  32. data/spec/cucumber/ast/step_collection_spec.rb +8 -0
  33. data/spec/cucumber/cli/configuration_spec.rb +18 -6
  34. data/spec/cucumber/cli/main_spec.rb +1 -13
  35. data/spec/cucumber/parser/feature_parser_spec.rb +15 -15
  36. data/spec/cucumber/step_definition_spec.rb +21 -9
  37. metadata +7 -3
  38. data/gem_tasks/jar.rake +0 -67
@@ -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.
@@ -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
- require File.join(File.dirname(__FILE__), *%w[.. .. app])
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 = File.join(File.dirname(__FILE__), *%w[.. .. app.rb])
8
+ Sinatra::Application.app_file = app_file
5
9
 
6
10
  # RSpec
7
11
  require 'spec/expectations'
@@ -0,0 +1,11 @@
1
+ Feature: pending method causes failure in Scenario Outlines
2
+
3
+ Scenario Outline: blah
4
+ Given this is pending until we fix it
5
+ Given context with <Stuff>
6
+ When action
7
+ Then outcome with <Blah>
8
+
9
+ Examples:
10
+ | Stuff | Blah |
11
+ | Cheese | Pepper Jack |
@@ -0,0 +1,15 @@
1
+ Given /^this is pending until we fix it$/ do
2
+ pending
3
+ end
4
+
5
+ Given /^context with Cheese$/ do
6
+ pending
7
+ end
8
+
9
+ When /^action$/ do
10
+ pending
11
+ end
12
+
13
+ Then /^outcome with Pepper Jack$/ do
14
+ pending
15
+ end
@@ -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
@@ -4,8 +4,8 @@ Feature: Custom Formatter
4
4
  When I run cucumber --format Tag::Count features
5
5
  Then it should fail with
6
6
  """
7
- | four | one | three | two |
8
- | 1 | 1 | 2 | 1 |
7
+ | four | lots | one | three | two |
8
+ | 1 | 1 | 1 | 2 | 1 |
9
9
 
10
10
  """
11
11
 
@@ -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
+
@@ -1,7 +1,7 @@
1
1
  require 'autotest'
2
2
  require 'tempfile'
3
3
  require 'yaml'
4
- require File.dirname(__FILE__) + '/../cucumber'
4
+ require 'cucumber'
5
5
 
6
6
  module Autotest::CucumberMixin
7
7
  def self.included(receiver)
@@ -48,7 +48,7 @@ module Cucumber
48
48
  end
49
49
 
50
50
  def to_sexp
51
- sexp = [:feature, @name]
51
+ sexp = [:feature, @file, @name]
52
52
  comment = @comment.to_sexp
53
53
  sexp += [comment] if comment
54
54
  tags = @tags.to_sexp
@@ -1,10 +1,16 @@
1
1
  module Cucumber
2
2
  module Ast
3
3
  class Features
4
+ include Enumerable
5
+
4
6
  def initialize
5
7
  @features = []
6
8
  end
7
9
 
10
+ def each(&proc)
11
+ @features.each(&proc)
12
+ end
13
+
8
14
  def add_feature(feature)
9
15
  feature.features = self
10
16
  @features << feature
@@ -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 actual_keyword
82
- if [Cucumber.keyword_hash['and'], Cucumber.keyword_hash['but']].index(@keyword) && previous_step
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
- @step.keyword
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
@@ -264,6 +264,10 @@ module Cucumber
264
264
  @cells[0].line
265
265
  end
266
266
 
267
+ def dom_id
268
+ "row_#{line}"
269
+ end
270
+
267
271
  def status=(status)
268
272
  each do |cell|
269
273
  cell.status = status
@@ -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 'html' then Formatter::Html
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 documentaion 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")
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 documentaion on correct profile usage.\n")
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 documentaion on correct profile usage.\n")
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