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.
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