aslakhellesoy-cucumber 0.3.6.1 → 0.3.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,9 +1,16 @@
1
- == 0.3.7 2209-05-21
1
+ == 0.3.7 2009-05-22
2
+
3
+ This is the "Help JetBrains RubyMine" release!
2
4
 
3
5
  === New Features
6
+ * Added new Given alias for Catalan: Donat|Donada (Lleïr Borràs Metje)
4
7
  * New --expand option. This will print Scenario Outlines once for each Example row - with values expanded. (#327 Aslak Hellesøy)
5
8
  * You can override the formatter in Rails-generated rake tasks with the CUCUMBER_FORMAT environment variable (#335 Aslak Hellesøy)
6
9
 
10
+ === Bugfixes
11
+ * 'specs' folder needs to be renamed back to 'spec' (#339 Aslak Hellesøy)
12
+ * CUCUMBER_OPTS doesn't work for cucumber rake tasks (#336 Aslak Hellesøy)
13
+
7
14
  == 0.3.6 2009-05-20
8
15
 
9
16
  Kanban! With this release you can tag features or scenarios that are work in progress
@@ -24,6 +24,7 @@ Feature: After Block Exceptions
24
24
  end
25
25
  """
26
26
 
27
+ @mri186
27
28
  Scenario: Handle Exception in standard scenario step and carry on
28
29
  Given a file named "features/naughty_step_in_scenario.feature" with:
29
30
  """
@@ -52,7 +53,8 @@ Feature: After Block Exceptions
52
53
  2 steps (2 passed)
53
54
 
54
55
  """
55
-
56
+
57
+ @mri186
56
58
  Scenario: Handle Exception in scenario outline table row and carry on
57
59
  Given a file named "features/naughty_step_in_scenario_outline.feature" with:
58
60
  """
@@ -24,6 +24,7 @@ Feature: AfterStep Block Exceptions
24
24
  end
25
25
  """
26
26
 
27
+ @mri186
27
28
  Scenario: Handle Exception in standard scenario step and carry on
28
29
  Given a file named "features/naughty_step_in_scenario.feature" with:
29
30
  """
@@ -53,8 +54,9 @@ Feature: AfterStep Block Exceptions
53
54
  2 steps (1 failed, 1 passed)
54
55
 
55
56
  """
56
-
57
- Scenario: Handle Exception in scenario outline table row and carry on
57
+
58
+ @mri186
59
+ Scenario: Handle Exception in scenario outline table row and carry on
58
60
  Given a file named "features/naughty_step_in_scenario_outline.feature" with:
59
61
  """
60
62
  Feature: Sample
@@ -90,6 +90,7 @@ Feature: backgrounds
90
90
 
91
91
  """
92
92
 
93
+ @mri186
93
94
  Scenario: run a feature with a background that fails
94
95
  When I run cucumber -q features/background/failing_background.feature --require features
95
96
  Then it should fail with
@@ -117,6 +118,7 @@ Feature: backgrounds
117
118
  """
118
119
  And "examples/self_test/tmp/after.txt" should exist
119
120
 
121
+ @mri186
120
122
  Scenario: run a feature with scenario outlines that has a background that fails
121
123
  When I run cucumber -q features/background/scenario_outline_failing_background.feature --require features
122
124
  Then it should fail with
@@ -169,6 +171,7 @@ Feature: backgrounds
169
171
 
170
172
  """
171
173
 
174
+ @mri186
172
175
  Scenario: background passes with first scenario but fails with second
173
176
  When I run cucumber -q features/background/failing_background_after_success.feature --require features
174
177
  Then it should fail with
@@ -2,8 +2,6 @@ Feature: Cucumber command line
2
2
  In order to write better software
3
3
  Developers should be able to execute requirements as tests
4
4
 
5
-
6
-
7
5
  Scenario: Run single scenario with missing step definition
8
6
  When I run cucumber -q features/sample.feature:5
9
7
  Then it should pass with
@@ -56,6 +54,7 @@ Feature: Cucumber command line
56
54
 
57
55
  """
58
56
 
57
+ @mri186
59
58
  Scenario: Specify 2 line numbers where one is a tag
60
59
  When I run cucumber -q features/sample.feature:5:14
61
60
  Then it should fail with
@@ -117,6 +116,7 @@ Feature: Cucumber command line
117
116
 
118
117
  """
119
118
 
119
+ @mri186
120
120
  Scenario: Run all with progress formatter
121
121
  When I run cucumber -q --format progress features/sample.feature
122
122
  Then it should fail with
@@ -406,6 +406,7 @@ Feature: Cucumber command line
406
406
 
407
407
  """
408
408
 
409
+ @mri186
409
410
  Scenario: Run with a tag that exists on 1 feature
410
411
  When I run cucumber -q features --tags one
411
412
  Then it should fail with
@@ -2,6 +2,7 @@ Feature: Cucumber command line
2
2
  In order to write better software
3
3
  Developers should be able to execute requirements as tests
4
4
 
5
+ @mri186
5
6
  Scenario: Run single failing scenario with default diff enabled
6
7
  When I run cucumber -q features/failing_expectation.feature
7
8
  Then it should fail with
@@ -25,6 +26,7 @@ Feature: Cucumber command line
25
26
 
26
27
  """
27
28
 
29
+ @mri186
28
30
  Scenario: Run single failing scenario with diff output disabled
29
31
  When I run cucumber -q --no-diff features/failing_expectation.feature
30
32
  Then it should fail with
@@ -2,6 +2,7 @@ Feature: Cucumber command line
2
2
  In order to write better software
3
3
  Developers should be able to execute requirements as tests
4
4
 
5
+ @mri186
5
6
  Scenario: Run scenario outline with filtering on outline name
6
7
  When I run cucumber -q features --name "Test state"
7
8
  Then it should fail with
@@ -31,6 +32,7 @@ Feature: Cucumber command line
31
32
 
32
33
  """
33
34
 
35
+ @mri186
34
36
  Scenario: Run scenario outline steps only
35
37
  When I run cucumber -q features/outline_sample.feature:7
36
38
  Then it should fail with
@@ -60,6 +62,7 @@ Feature: Cucumber command line
60
62
 
61
63
  """
62
64
 
65
+ @mri186
63
66
  Scenario: Run single failing scenario outline table row
64
67
  When I run cucumber features/outline_sample.feature:12
65
68
  Then it should fail with
@@ -85,7 +88,7 @@ Feature: Cucumber command line
85
88
 
86
89
  # There are 10 characters in the progress, but only 8 reported steps. Needs investigation.
87
90
  # Looks like we're outputting too many characters.
88
- @buggy
91
+ @mri186
89
92
  Scenario: Run all with progress formatter
90
93
  When I run cucumber -q --format progress features/outline_sample.feature
91
94
  Then it should fail with
@@ -0,0 +1,48 @@
1
+ Feature: --expand option
2
+ In order to make it easier to writhe certain editor plugins
3
+ and also for some people to understand scenarios, Cucumber
4
+ should expand examples in outlines.
5
+
6
+ Background:
7
+ Given a standard Cucumber project directory structure
8
+ And a file named "features/expand_me.feature" with:
9
+ """
10
+ Feature: submit guess
11
+ Scenario Outline: submit guess
12
+ Given the secret code is <code>
13
+ When I guess <guess>
14
+ Then the mark should be <mark>
15
+
16
+ Examples: all colors correct
17
+ | code | guess | mark |
18
+ | r g y c | r g y c | bbbb |
19
+ | r g y c | r g c y | bbww |
20
+ """
21
+
22
+ Scenario: Expand the outline
23
+ When I run cucumber -i -q --expand features/expand_me.feature
24
+ Then it should pass with
25
+ """
26
+ Feature: submit guess
27
+
28
+ Scenario Outline: submit guess
29
+ Given the secret code is <code>
30
+ When I guess <guess>
31
+ Then the mark should be <mark>
32
+
33
+ Examples: all colors correct
34
+
35
+ Scenario: | r g y c | r g y c | bbbb |
36
+ Given the secret code is r g y c
37
+ When I guess r g y c
38
+ Then the mark should be bbbb
39
+
40
+ Scenario: | r g y c | r g c y | bbww |
41
+ Given the secret code is r g y c
42
+ When I guess r g c y
43
+ Then the mark should be bbww
44
+
45
+ 2 scenarios (2 undefined)
46
+ 6 steps (6 undefined)
47
+
48
+ """
@@ -5,7 +5,8 @@ Feature: JUnit output formatter
5
5
  Background:
6
6
  Given I am in junit
7
7
  And the tmp directory is empty
8
-
8
+
9
+ @mri186 @diffxml
9
10
  Scenario: one feature, one passing scenario, one failing scenario
10
11
  When I run cucumber --format junit --out tmp/ features/one_passing_one_failing.feature
11
12
  Then it should fail with
@@ -27,6 +28,8 @@ Feature: JUnit output formatter
27
28
  </testsuite>
28
29
 
29
30
  """
31
+
32
+ @mri186 @diffxml
30
33
  Scenario: pending step
31
34
  When I run cucumber --format junit --out tmp/ features/pending.feature
32
35
  Then it should pass with
@@ -2,6 +2,7 @@ Feature: Cucumber command line
2
2
  In order to find out what step definitions need to be implemented
3
3
  Developers should always see what step definition is missing
4
4
 
5
+ @mri186
5
6
  Scenario: Get info at arbitrary levels of nesting
6
7
  When I run cucumber features/call_undefined_step_from_step_def.feature
7
8
  Then it should pass with
@@ -66,13 +66,13 @@ Then /^the output should be$/ do |text|
66
66
  last_stdout.should == text
67
67
  end
68
68
 
69
- # http://diffxml.sourceforge.net/
70
69
  Then /^"(.*)" should contain XML$/ do |file, xml|
71
70
  t = Tempfile.new('cucumber-junit')
72
71
  t.write(xml)
73
72
  t.flush
74
73
  t.close
75
- diff = `diffxml #{t.path} #{file}`
74
+ cmd = "diffxml #{t.path} #{file}"
75
+ diff = `#{cmd}`
76
76
  if diff =~ /<delta>/m
77
77
  raise diff + "\nXML WAS:\n" + IO.read(file)
78
78
  end
@@ -63,3 +63,8 @@ Before do
63
63
  FileUtils.rm_rf CucumberWorld.working_dir
64
64
  FileUtils.mkdir CucumberWorld.working_dir
65
65
  end
66
+
67
+ Before('@diffxml') do
68
+ `diffxml --version`
69
+ raise "Please install diffxml from http://diffxml.sourceforge.net/" if $? != 0
70
+ end
@@ -3,43 +3,38 @@ Feature: Cucumber command line
3
3
  steps and step definitions, Cucumber must provide a way to
4
4
  display how they are related.
5
5
 
6
+ @mri186
6
7
  Scenario: List usage of step definitions
7
8
  When I run cucumber features --format usage --dry-run
8
9
  Then it should pass with
9
10
  """
10
11
  /^passing without a table$/ # features/step_definitions/sample_steps.rb:12
11
- Given passing without a table # features/background/background_tagged_before_on_outline.feature:5
12
- Given passing without a table # features/background/failing_background_after_success.feature:4
13
- Given passing without a table # features/multiline_name.feature:6
14
- Given passing without a table # features/multiline_name.feature:11
12
+ Given <other_state> without a table # features/outline_sample.feature:7
15
13
  Given <state> without a table # features/multiline_name.feature:16
16
14
  Given <state> without a table # features/multiline_name.feature:22
17
15
  Given <state> without a table # features/outline_sample.feature:6
18
- Given <other_state> without a table # features/outline_sample.feature:7
19
- Given passing without a table # features/search_sample.feature:4
20
- Given passing without a table # features/search_sample.feature:7
21
16
  Given <state> without a table # features/search_sample.feature:19
22
17
  Given <state> without a table # features/search_sample.feature:25
18
+ Given passing without a table # features/background/background_tagged_before_on_outline.feature:5
19
+ Given passing without a table # features/background/failing_background_after_success.feature:4
20
+ Given passing without a table # features/multiline_name.feature:11
21
+ Given passing without a table # features/multiline_name.feature:6
22
+ Given passing without a table # features/search_sample.feature:4
23
+ Given passing without a table # features/search_sample.feature:7
23
24
  /^failing without a table$/ # features/step_definitions/sample_steps.rb:15
25
+ Given <state> without a table # features/search_sample.feature:13
24
26
  Given failing without a table # features/background/failing_background.feature:5
25
27
  Given failing without a table # features/background/scenario_outline_failing_background.feature:4
26
28
  Given failing without a table # features/search_sample.feature:10
27
- Given <state> without a table # features/search_sample.feature:13
28
29
  /^a step definition that calls an undefined step$/ # features/step_definitions/sample_steps.rb:19
29
30
  Given a step definition that calls an undefined step # features/call_undefined_step_from_step_def.feature:4
30
31
  /^call step "(.*)"$/ # features/step_definitions/sample_steps.rb:23
31
32
  Given call step "a step definition that calls an undefined step" # features/call_undefined_step_from_step_def.feature:7
32
33
  /^'(.+)' cukes$/ # features/step_definitions/sample_steps.rb:27
33
- Given '10' cukes # features/background/background_with_name.feature:4
34
34
  And '10' cukes # features/background/failing_background.feature:6
35
+ Given '10' cukes # features/background/background_with_name.feature:4
35
36
  Given '10' cukes # features/background/passing_background.feature:4
36
37
  Given '10' cukes # features/background/scenario_outline_passing_background.feature:4
37
- Given '2' cukes # features/tons_of_cukes.feature:4
38
- Given '2' cukes # features/tons_of_cukes.feature:5
39
- Given '2' cukes # features/tons_of_cukes.feature:6
40
- Given '2' cukes # features/tons_of_cukes.feature:7
41
- Given '2' cukes # features/tons_of_cukes.feature:8
42
- Given '2' cukes # features/tons_of_cukes.feature:9
43
38
  Given '2' cukes # features/tons_of_cukes.feature:10
44
39
  Given '2' cukes # features/tons_of_cukes.feature:11
45
40
  Given '2' cukes # features/tons_of_cukes.feature:12
@@ -70,6 +65,7 @@ Feature: Cucumber command line
70
65
  Given '2' cukes # features/tons_of_cukes.feature:37
71
66
  Given '2' cukes # features/tons_of_cukes.feature:38
72
67
  Given '2' cukes # features/tons_of_cukes.feature:39
68
+ Given '2' cukes # features/tons_of_cukes.feature:4
73
69
  Given '2' cukes # features/tons_of_cukes.feature:40
74
70
  Given '2' cukes # features/tons_of_cukes.feature:41
75
71
  Given '2' cukes # features/tons_of_cukes.feature:42
@@ -80,27 +76,32 @@ Feature: Cucumber command line
80
76
  Given '2' cukes # features/tons_of_cukes.feature:47
81
77
  Given '2' cukes # features/tons_of_cukes.feature:48
82
78
  Given '2' cukes # features/tons_of_cukes.feature:49
79
+ Given '2' cukes # features/tons_of_cukes.feature:5
83
80
  Given '2' cukes # features/tons_of_cukes.feature:50
84
81
  Given '2' cukes # features/tons_of_cukes.feature:51
85
82
  Given '2' cukes # features/tons_of_cukes.feature:52
83
+ Given '2' cukes # features/tons_of_cukes.feature:6
84
+ Given '2' cukes # features/tons_of_cukes.feature:7
85
+ Given '2' cukes # features/tons_of_cukes.feature:8
86
+ Given '2' cukes # features/tons_of_cukes.feature:9
86
87
  /^I should have '(.+)' cukes$/ # features/step_definitions/sample_steps.rb:31
87
- Then I should have '<count>' cukes # features/background/background_tagged_before_on_outline.feature:8
88
88
  Then I should have '10' cukes # features/background/background_with_name.feature:7
89
- Then I should have '10' cukes # features/background/failing_background.feature:9
90
89
  Then I should have '10' cukes # features/background/failing_background.feature:12
91
- Then I should have '10' cukes # features/background/passing_background.feature:7
90
+ Then I should have '10' cukes # features/background/failing_background.feature:9
92
91
  Then I should have '10' cukes # features/background/passing_background.feature:10
93
- Then I should have '10' cukes # features/background/pending_background.feature:7
92
+ Then I should have '10' cukes # features/background/passing_background.feature:7
94
93
  Then I should have '10' cukes # features/background/pending_background.feature:10
95
- Then I should have '<count>' cukes # features/background/scenario_outline_failing_background.feature:7
94
+ Then I should have '10' cukes # features/background/pending_background.feature:7
95
+ Then I should have '<count>' cukes # features/background/background_tagged_before_on_outline.feature:8
96
96
  Then I should have '<count>' cukes # features/background/scenario_outline_failing_background.feature:13
97
- Then I should have '<count>' cukes # features/background/scenario_outline_passing_background.feature:7
97
+ Then I should have '<count>' cukes # features/background/scenario_outline_failing_background.feature:7
98
98
  Then I should have '<count>' cukes # features/background/scenario_outline_passing_background.feature:13
99
+ Then I should have '<count>' cukes # features/background/scenario_outline_passing_background.feature:7
99
100
  /^'(.+)' global cukes$/ # features/step_definitions/sample_steps.rb:35
100
101
  And '10' global cukes # features/background/failing_background_after_success.feature:5
101
102
  /^I should have '(.+)' global cukes$/ # features/step_definitions/sample_steps.rb:42
102
- Then I should have '10' global cukes # features/background/failing_background_after_success.feature:8
103
103
  Then I should have '10' global cukes # features/background/failing_background_after_success.feature:11
104
+ Then I should have '10' global cukes # features/background/failing_background_after_success.feature:8
104
105
  /^table$/ # features/step_definitions/sample_steps.rb:46
105
106
  Given table # features/background/multiline_args_background.feature:4
106
107
  /^multiline string$/ # features/step_definitions/sample_steps.rb:50
@@ -49,6 +49,7 @@ Feature: Cucumber --work-in-progress switch
49
49
  end
50
50
  """
51
51
 
52
+ @mri186
52
53
  Scenario: Pass with Failing Scenarios
53
54
  When I run cucumber -q -w -t @failing features/wip.feature
54
55
  Then it should pass with
@@ -82,6 +83,7 @@ Feature: Cucumber --work-in-progress switch
82
83
 
83
84
  """
84
85
 
86
+ @mri186
85
87
  Scenario: Pass with Undefined Scenarios
86
88
  When I run cucumber -q -w -t @pending features/wip.feature
87
89
  Then it should pass with
@@ -27,10 +27,17 @@ if require_spec
27
27
  unable_to_load
28
28
  end
29
29
 
30
+ def undefine_task(*names)
31
+ app = Rake.application
32
+ tasks = app.instance_variable_get('@tasks')
33
+ names.flatten.each { |name| tasks.delete(name) }
34
+ end
35
+ undefine_task('spec') # Hoe 1.2.12 is broken - it defines a spec task that we can't tweak.
36
+
30
37
  desc "Run the Cucumber specs"
31
38
  Spec::Rake::SpecTask.new do |t|
32
- t.spec_opts = ['--options', "specs/spec.opts"]
33
- t.spec_files = FileList['specs/**/*_spec.rb']
39
+ t.spec_opts = ['--options', "spec/spec.opts"]
40
+ t.spec_files = FileList['spec/**/*_spec.rb']
34
41
  t.rcov = ENV['RCOV']
35
42
  t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/}
36
43
  t.verbose = true
@@ -56,14 +56,14 @@ module Cucumber
56
56
 
57
57
  @io.print step_definition.regexp.inspect
58
58
  @io.puts format_string(" # #{step_definition.file_colon_line}".indent(max_length - step_definition.text_length), :comment)
59
- step_matches_and_descriptions.each do |step_match_and_description|
59
+ da = step_matches_and_descriptions.map do |step_match_and_description|
60
60
  step_match = step_match_and_description[0]
61
61
  description = step_match_and_description[1]
62
62
  length = step_match_and_description[2]
63
63
  file_colon_line = step_match_and_description[3]
64
- @io.print " #{description}"
65
- @io.puts format_string(" # #{file_colon_line}".indent(max_length - length), :comment)
64
+ " #{description}" + format_string(" # #{file_colon_line}".indent(max_length - length), :comment)
66
65
  end
66
+ da.sort.each{|d| puts d}
67
67
  end
68
68
 
69
69
  print_unused_step_definitions
@@ -62,12 +62,12 @@
62
62
  name: Catalan
63
63
  native: català
64
64
  encoding: UTF-8
65
- background: Rerefons
65
+ background: Rerefons|Antecedents
66
66
  feature: Característica
67
67
  scenario: Escenari
68
68
  scenario_outline: Esquema de l\'escenari
69
69
  examples: Exemples
70
- given: Donat
70
+ given: Donat|Donada
71
71
  when: Quan
72
72
  then: Aleshores
73
73
  and: I
@@ -171,7 +171,7 @@ module Cucumber
171
171
  end
172
172
 
173
173
  def runner(task_args = nil) # :nodoc:
174
- cucumber_opts = [(ENV['CUCUMBER_OPTS'] || cucumber_opts_with_profile)]
174
+ cucumber_opts = [(ENV['CUCUMBER_OPTS'] ? ENV['CUCUMBER_OPTS'].split(/\s+/) : nil) || cucumber_opts_with_profile]
175
175
  if(@rcov)
176
176
  RCovCucumberRunner.new(libs, binary, cucumber_opts, feature_files(task_args), rcov_opts)
177
177
  elsif(@fork)
@@ -2,8 +2,8 @@ module Cucumber #:nodoc:
2
2
  class VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 3
5
- TINY = 6
6
- PATCH = 1 # Set to nil for official release
5
+ TINY = 7
6
+ PATCH = nil # Set to nil for official release
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aslakhellesoy-cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6.1
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Aslak Helles\xC3\xB8y"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-20 00:00:00 -07:00
12
+ date: 2009-05-22 00:00:00 -07:00
13
13
  default_executable: cucumber
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -322,6 +322,7 @@ files:
322
322
  - features/cucumber_cli_outlines.feature
323
323
  - features/custom_formatter.feature
324
324
  - features/exclude_files.feature
325
+ - features/expand.feature
325
326
  - features/junit_formatter.feature
326
327
  - features/multiline_names.feature
327
328
  - features/rake_task.feature