kosmas58-cucumber 0.1.99.23 → 0.1.100.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/History.txt +8 -23
  2. data/Manifest.txt +14 -2
  3. data/examples/i18n/en-lol/Rakefile +6 -0
  4. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
  5. data/examples/i18n/en-lol/features/stuffing.feature +8 -0
  6. data/examples/i18n/en-lol/features/support/env.rb +8 -0
  7. data/examples/i18n/en-lol/lib/basket.rb +12 -0
  8. data/examples/i18n/en-lol/lib/belly.rb +11 -0
  9. data/examples/i18n/et/features/jagamine.feature +9 -0
  10. data/examples/jbehave/README.textile +4 -1
  11. data/examples/jbehave/features/trading.feature +4 -0
  12. data/examples/jbehave/pom.xml +5 -0
  13. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java +6 -1
  14. data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
  15. data/examples/selenium/features/support/env.rb +19 -0
  16. data/examples/selenium_webrat/Rakefile +6 -0
  17. data/examples/selenium_webrat/features/search.feature +9 -0
  18. data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
  19. data/examples/selenium_webrat/features/support/env.rb +41 -0
  20. data/examples/self_test/Rakefile +1 -1
  21. data/examples/self_test/features/background/failing_background.feature +1 -0
  22. data/examples/self_test/features/step_definitions/sample_steps.rb +1 -1
  23. data/examples/self_test/features/support/tag_count_formatter.rb +1 -1
  24. data/examples/tickets/Rakefile +13 -8
  25. data/examples/tickets/cucumber.yml +2 -1
  26. data/examples/tickets/features/236.feature +13 -0
  27. data/examples/tickets/features/241.feature +13 -0
  28. data/examples/tickets/features/step_definitons/tickets_steps.rb +17 -4
  29. data/examples/tickets/features/tickets.feature +1 -1
  30. data/features/background.feature +9 -11
  31. data/features/cucumber_cli.feature +24 -1
  32. data/features/cucumber_cli_outlines.feature +10 -19
  33. data/features/report_called_undefined_steps.feature +2 -0
  34. data/gem_tasks/rspec.rake +3 -2
  35. data/lib/cucumber.rb +7 -15
  36. data/lib/cucumber/ast.rb +3 -3
  37. data/lib/cucumber/ast/background.rb +28 -66
  38. data/lib/cucumber/ast/examples.rb +15 -3
  39. data/lib/cucumber/ast/feature.rb +20 -24
  40. data/lib/cucumber/ast/feature_element.rb +46 -0
  41. data/lib/cucumber/ast/features.rb +2 -21
  42. data/lib/cucumber/ast/outline_table.rb +46 -14
  43. data/lib/cucumber/ast/py_string.rb +9 -3
  44. data/lib/cucumber/ast/scenario.rb +34 -73
  45. data/lib/cucumber/ast/scenario_outline.rb +40 -42
  46. data/lib/cucumber/ast/step.rb +51 -90
  47. data/lib/cucumber/ast/step_collection.rb +66 -0
  48. data/lib/cucumber/ast/step_invocation.rb +110 -0
  49. data/lib/cucumber/ast/table.rb +41 -21
  50. data/lib/cucumber/ast/tags.rb +4 -11
  51. data/lib/cucumber/ast/visitor.rb +35 -19
  52. data/lib/cucumber/broadcaster.rb +1 -3
  53. data/lib/cucumber/cli/configuration.rb +25 -17
  54. data/lib/cucumber/cli/language_help_formatter.rb +4 -4
  55. data/lib/cucumber/cli/main.rb +6 -4
  56. data/lib/cucumber/core_ext/proc.rb +2 -2
  57. data/lib/cucumber/formatter/ansicolor.rb +0 -1
  58. data/lib/cucumber/formatter/console.rb +24 -34
  59. data/lib/cucumber/formatter/html.rb +18 -11
  60. data/lib/cucumber/formatter/pretty.rb +48 -36
  61. data/lib/cucumber/formatter/profile.rb +6 -6
  62. data/lib/cucumber/formatter/progress.rb +14 -22
  63. data/lib/cucumber/formatter/rerun.rb +6 -6
  64. data/lib/cucumber/jbehave.rb +21 -26
  65. data/lib/cucumber/languages.yml +17 -2
  66. data/lib/cucumber/parser/feature.rb +26 -29
  67. data/lib/cucumber/parser/feature.tt +17 -12
  68. data/lib/cucumber/parser/treetop_ext.rb +13 -13
  69. data/lib/cucumber/platform.rb +0 -1
  70. data/lib/cucumber/rails/world.rb +2 -2
  71. data/lib/cucumber/rake/task.rb +1 -2
  72. data/lib/cucumber/step_definition.rb +21 -12
  73. data/lib/cucumber/step_match.rb +49 -0
  74. data/lib/cucumber/step_mother.rb +100 -80
  75. data/lib/cucumber/version.rb +2 -2
  76. data/lib/cucumber/world.rb +53 -0
  77. data/rails_generators/cucumber/templates/paths.rb +1 -1
  78. data/rails_generators/cucumber/templates/webrat_steps.rb +17 -17
  79. data/rails_generators/feature/feature_generator.rb +5 -1
  80. data/rails_generators/feature/templates/steps.erb +0 -4
  81. data/spec/cucumber/ast/background_spec.rb +32 -41
  82. data/spec/cucumber/ast/feature_factory.rb +10 -1
  83. data/spec/cucumber/ast/feature_spec.rb +7 -30
  84. data/spec/cucumber/ast/py_string_spec.rb +7 -0
  85. data/spec/cucumber/ast/scenario_outline_spec.rb +3 -0
  86. data/spec/cucumber/ast/scenario_spec.rb +8 -25
  87. data/spec/cucumber/ast/step_collection_spec.rb +8 -0
  88. data/spec/cucumber/ast/step_spec.rb +49 -28
  89. data/spec/cucumber/ast/table_spec.rb +13 -3
  90. data/spec/cucumber/ast/tags_spec.rb +2 -18
  91. data/spec/cucumber/broadcaster_spec.rb +6 -5
  92. data/spec/cucumber/cli/configuration_spec.rb +7 -0
  93. data/spec/cucumber/cli/main_spec.rb +1 -1
  94. data/spec/cucumber/parser/feature_parser_spec.rb +6 -5
  95. data/spec/cucumber/step_definition_spec.rb +16 -5
  96. data/spec/cucumber/step_mother_spec.rb +6 -6
  97. data/spec/cucumber/world/pending_spec.rb +1 -1
  98. metadata +24 -5
  99. data/lib/cucumber/ast/filter.rb +0 -22
  100. data/lib/cucumber/ast/steps.rb +0 -13
data/History.txt CHANGED
@@ -56,29 +56,12 @@ which is a richer DSL than JBehave's language. -Over 20 spoken languages, Tables
56
56
  Scenario Outlines, the rich command line, the nice output format and everything
57
57
  pure Ruby users have been enjoying for a while.
58
58
 
59
- == TODO Before 0.2 release
60
- * Make sure all features and specs pass on Windows, JRuby and Ruby 1.9
61
- * Tighten up and simplify the grammar. More edge case features/specs.
62
- * Reintroduce StepInvocation. Reduce some of the redundant calls to StepDefinition/StepMother. Align with JBehave.
63
- * Make some class diagrams.
64
- * Implement at least a basic HTML formatter
65
- * Run a single cucumber feature from rake "rake features FEATURE=/path/to/feature:line"
66
- * Wiki page about running subsets
67
- ** file:line
68
- *** scenario (or step within)
69
- *** scenario outline
70
- *** scenario outline examples
71
- *** line in an example table
72
- *** background (same as whole file)
73
- *** fix bugs in any of those cases (there are some)
74
- ** --tags
75
- *** Link to page about tags
76
- * Tags with arguments
77
- * cucumber.jar + examples
78
- ** Remove need for -S cucumber
79
- ** Full jar and simple jar
80
-
81
59
  == Bugfixes
60
+ * New StepInvocation breaks console formatter for pending steps. (#241 Jacob Radford)
61
+ * Within Scenario Outlines when replacing with a nil in a step name use empty string instead. (#237 Joseph Wilk)
62
+ * Fixed bug with Scenario Outlines incorrectly replacing values in step tables with nil. (#237 Joseph Wilk)
63
+ * Within Scenario Outlines when replacing with a nil in multiline strings use empty string instead. (#238 Joseph Wilk)
64
+ * Re-structure the ast: Feature -> Background -> (Scenario|ScenarioOutline)*. Fixes bug with background being called outside transactions. (#181 Joseph Wilk)
82
65
  * --strict always exits with status 1 (#230 Tim Cuthbertson)
83
66
  * Fix error with nil values in tables raising an exception (#227 Joseph Wilk)
84
67
  * Add support for using << in formatters to ensure the html formatter works (#210 Joseph Wilk)
@@ -96,6 +79,8 @@ pure Ruby users have been enjoying for a while.
96
79
  * Pending steps in > steps called from steps (#65 Aslak Hellesøy)
97
80
 
98
81
  === New features
82
+ * Australian translation (Josh Graham)
83
+ * Added World#announce(announcment) which lets you output text to the formatted output (#222 Rob Kaufmann)
99
84
  * Added Table#transpose to to allow use of vertically aligned table keys (Torbjørn Vatn, Aslak Hellesøy)
100
85
  * Added Table#map_headers to to allow use of more readable headers (Rob Holland)
101
86
  * New -S/--step-definitions option. Useful (among other things) for tools that implement automcompletion. (#208 Aslak Hellesøy).
@@ -136,7 +121,7 @@ pure Ruby users have been enjoying for a while.
136
121
  * Pure Ruby features are no longer supported.
137
122
  * Remove --color option in autotest. Can be added manually in cucumber.yml (#215 Jean-Michel Garnier)
138
123
 
139
- == (0.16.4 aslakhellesoy-webrat gem on GitHub)
124
+ == (0.16.4 aslakhellesoy-cucumber gem on GitHub)
140
125
 
141
126
  Bugfix release.
142
127
 
data/Manifest.txt CHANGED
@@ -30,6 +30,12 @@ examples/i18n/de/features/addition.feature
30
30
  examples/i18n/de/features/division.feature
31
31
  examples/i18n/de/features/step_definitons/calculator_steps.rb
32
32
  examples/i18n/de/lib/calculator.rb
33
+ examples/i18n/en-lol/Rakefile
34
+ examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb
35
+ examples/i18n/en-lol/features/stuffing.feature
36
+ examples/i18n/en-lol/features/support/env.rb
37
+ examples/i18n/en-lol/lib/basket.rb
38
+ examples/i18n/en-lol/lib/belly.rb
33
39
  examples/i18n/en/Rakefile
34
40
  examples/i18n/en/features/addition.feature
35
41
  examples/i18n/en/features/division.feature
@@ -169,6 +175,8 @@ examples/tickets/features/177/1.feature
169
175
  examples/tickets/features/177/2.feature
170
176
  examples/tickets/features/177/3.feature
171
177
  examples/tickets/features/180.feature
178
+ examples/tickets/features/236.feature
179
+ examples/tickets/features/241.feature
172
180
  examples/tickets/features/lib/eatting_machine.rb
173
181
  examples/tickets/features/lib/pantry.rb
174
182
  examples/tickets/features/scenario_outline.feature
@@ -210,14 +218,15 @@ lib/cucumber/ast/background.rb
210
218
  lib/cucumber/ast/comment.rb
211
219
  lib/cucumber/ast/examples.rb
212
220
  lib/cucumber/ast/feature.rb
221
+ lib/cucumber/ast/feature_element.rb
213
222
  lib/cucumber/ast/features.rb
214
- lib/cucumber/ast/filter.rb
215
223
  lib/cucumber/ast/outline_table.rb
216
224
  lib/cucumber/ast/py_string.rb
217
225
  lib/cucumber/ast/scenario.rb
218
226
  lib/cucumber/ast/scenario_outline.rb
219
227
  lib/cucumber/ast/step.rb
220
- lib/cucumber/ast/steps.rb
228
+ lib/cucumber/ast/step_collection.rb
229
+ lib/cucumber/ast/step_invocation.rb
221
230
  lib/cucumber/ast/table.rb
222
231
  lib/cucumber/ast/tags.rb
223
232
  lib/cucumber/ast/visitor.rb
@@ -257,8 +266,10 @@ lib/cucumber/rails/rspec.rb
257
266
  lib/cucumber/rails/world.rb
258
267
  lib/cucumber/rake/task.rb
259
268
  lib/cucumber/step_definition.rb
269
+ lib/cucumber/step_match.rb
260
270
  lib/cucumber/step_mother.rb
261
271
  lib/cucumber/version.rb
272
+ lib/cucumber/world.rb
262
273
  rails_generators/cucumber/USAGE
263
274
  rails_generators/cucumber/cucumber_generator.rb
264
275
  rails_generators/cucumber/templates/cucumber
@@ -280,6 +291,7 @@ spec/cucumber/ast/feature_spec.rb
280
291
  spec/cucumber/ast/py_string_spec.rb
281
292
  spec/cucumber/ast/scenario_outline_spec.rb
282
293
  spec/cucumber/ast/scenario_spec.rb
294
+ spec/cucumber/ast/step_collection_spec.rb
283
295
  spec/cucumber/ast/step_spec.rb
284
296
  spec/cucumber/ast/table_spec.rb
285
297
  spec/cucumber/ast/tags_spec.rb
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new do |t|
5
+ t.cucumber_opts = "--language en-lol"
6
+ end
@@ -0,0 +1,16 @@
1
+ ICANHAZ /^IN TEH BEGINNIN (\d+) CUCUMBRZ$/ do |n|
2
+ @basket = Basket.new(n.to_i)
3
+ end
4
+
5
+ WEN /^I EAT (\d+) CUCUMBRZ$/ do |n|
6
+ @belly = Belly.new
7
+ @belly.eat(@basket.take(n.to_i))
8
+ end
9
+
10
+ DEN /^I HAS (\d+) CUCUMBERZ IN MAH BELLY$/ do |n|
11
+ @belly.cukes.should == n.to_i
12
+ end
13
+
14
+ AN /^IN TEH END (\d+) CUCUMBRZ KTHXBAI$/ do |n|
15
+ @basket.cukes.should == n.to_i
16
+ end
@@ -0,0 +1,8 @@
1
+ # stuffing.feature
2
+ OH HAI: STUFFING
3
+
4
+ MISHUN: CUCUMBR
5
+ I CAN HAZ IN TEH BEGINNIN 3 CUCUMBRZ
6
+ WEN I EAT 2 CUCUMBRZ
7
+ DEN I HAS 2 CUCUMBERZ IN MAH BELLY
8
+ AN IN TEH END 1 CUCUMBRZ KTHXBAI
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ $KCODE='u' unless Cucumber::RUBY_1_9
3
+ require 'cucumber/formatter/unicode'
4
+ require 'spec/expectations'
5
+
6
+ $:.unshift(File.dirname(__FILE__) + '/../../lib')
7
+ require 'basket'
8
+ require 'belly'
@@ -0,0 +1,12 @@
1
+ class Basket
2
+ attr_reader :cukes
3
+
4
+ def initialize(cukes)
5
+ @cukes = cukes
6
+ end
7
+
8
+ def take(cukes)
9
+ @cukes -= cukes
10
+ cukes
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ class Belly
2
+ attr_reader :cukes
3
+
4
+ def initialize
5
+ @cukes = 0
6
+ end
7
+
8
+ def eat(cukes)
9
+ @cukes += cukes
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ Omadus: Jagamine
2
+ Rumalate vigade vältimiseks
3
+ Peavad kassapidajad saama arvutada murdudes
4
+
5
+ Stsenaarium: Tavalised numrbid
6
+ Eeldades et olen sisestanud kalkulaatorisse numbri 3
7
+ Ja olen sisestanud kalkulaatorisse numbri 2
8
+ Kui ma vajutan jaga
9
+ Siis vastuseks peab ekraanil kuvatama 1.5
@@ -8,7 +8,10 @@ First, compile the java code (and JBehave steps)
8
8
 
9
9
  <code>mvn compile jar:jar</code>
10
10
 
11
- Second, run Cucumber:
11
+ Second, set your CLASSPATH
12
+ <code>export CLASSPATH=~/.m2/repository/cucumber/cucumber-support/0.2/cucumber-support-0.2.jar:~/.m2/repository/org/jbehave/jbehave-core/2.1.1/jbehave-core-2.1.1.jar:~/.m2/repository/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar:~/.m2/repository/junit/junit/4.4/junit-4.4.jar</code>
13
+
14
+ Third, run Cucumber:
12
15
 
13
16
  <code>jruby -S cucumber features</code>
14
17
 
@@ -17,6 +17,10 @@ Feature: Trading
17
17
  Then the alert status should be OFF
18
18
 
19
19
  Scenario: Trader sells all stocks
20
+ # Given the following table
21
+ # | a | b |
22
+ # | 1 | 2 |
23
+ # | 3 | 4 |
20
24
  Given a trader of name Mauro
21
25
  Given a stock of prices 0.5,1.0 and a threshold of 1.5
22
26
  When the stock is traded at 2.0
@@ -18,6 +18,11 @@
18
18
  </repositories>
19
19
 
20
20
  <dependencies>
21
+ <dependency>
22
+ <groupId>cucumber</groupId>
23
+ <artifactId>cucumber-support</artifactId>
24
+ <version>0.2</version>
25
+ </dependency>
21
26
  <dependency>
22
27
  <groupId>org.jbehave</groupId>
23
28
  <artifactId>jbehave-core</artifactId>
@@ -18,6 +18,7 @@ import org.jbehave.scenario.steps.ParameterConverters;
18
18
  import org.jbehave.scenario.steps.SilentStepMonitor;
19
19
  import org.jbehave.scenario.steps.Steps;
20
20
  import org.jbehave.scenario.steps.StepsConfiguration;
21
+ import cucumber.ast.Table;
21
22
 
22
23
  public class TraderSteps extends Steps {
23
24
 
@@ -46,6 +47,11 @@ public class TraderSteps extends Steps {
46
47
  stock = new Stock(prices, threshold);
47
48
  }
48
49
 
50
+ @Given("the following table")
51
+ public void theFollowingTable(Table table) {
52
+ System.out.println("My table:" + table);
53
+ }
54
+
49
55
  @When("the stock is traded at %price")
50
56
  public void theStockIsTradedAt(double price) {
51
57
  stock.tradeAt(price);
@@ -61,5 +67,4 @@ public class TraderSteps extends Steps {
61
67
  trader.sellAllStocks();
62
68
  ensureThat(trader.getStocks().size(), equalTo(0));
63
69
  }
64
-
65
70
  }
@@ -0,0 +1,13 @@
1
+ Given 'I am on the Google search page' do
2
+ @browser.open('http://www.google.com/')
3
+ end
4
+
5
+ When /I search for "(.*)"/ do |query|
6
+ @browser.type('q', query)
7
+ @browser.click 'btnG'
8
+ @browser.wait_for_page_to_load
9
+ end
10
+
11
+ Then /I should see a link to (.*)/ do |expected_url|
12
+ @browser.is_element_present("css=a[href='#{expected_url}']").should be_true
13
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec/expectations'
2
+ require 'selenium'
3
+
4
+ # "before all"
5
+ browser = Selenium::SeleniumDriver.new("localhost", 4444, "*chrome", "http://localhost", 15000)
6
+
7
+ Before do
8
+ @browser = browser
9
+ @browser.start
10
+ end
11
+
12
+ After do
13
+ @browser.stop
14
+ end
15
+
16
+ # "after all"
17
+ at_exit do
18
+ browser.close rescue nil
19
+ end
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new do |t|
5
+ t.cucumber_opts = "--format pretty"
6
+ end
@@ -0,0 +1,9 @@
1
+ Feature: Search
2
+ In order to learn more
3
+ As an information seeker
4
+ I want to find more information
5
+
6
+ Scenario: Find what I'm looking for
7
+ Given I am on the Google search page
8
+ When I search for "rspec"
9
+ Then I should see a link to http://rspec.info/
@@ -0,0 +1,13 @@
1
+ Given 'I am on the Google search page' do
2
+ visit('http://www.google.com/')
3
+ end
4
+
5
+ When /I search for "(.*)"/ do |query|
6
+ fill_in('q', :with => query)
7
+ click_button('btnG')
8
+ selenium.wait_for_page_to_load
9
+ end
10
+
11
+ Then /I should see a link to (.*)/ do |expected_url|
12
+ click_link(expected_url)
13
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec/expectations'
2
+
3
+ # START HACK
4
+ # Webrat's Selenium wrongly assumes Rails in available. # We'll just fool it...
5
+ module ActionController
6
+ class IntegrationTest
7
+ end
8
+ end
9
+
10
+ def silence_stream(*args)
11
+ yield if block_given?
12
+ end
13
+ # END HACK
14
+
15
+ # RSpec
16
+ require 'spec/expectations'
17
+
18
+ # Webrat
19
+ require 'webrat'
20
+ Webrat.configure do |config|
21
+ config.mode = :selenium
22
+ end
23
+
24
+ World do
25
+ session = Webrat::SeleniumSession.new
26
+ session.extend(Webrat::Methods)
27
+ session.extend(Webrat::Selenium::Methods)
28
+ session.extend(Webrat::Selenium::Matchers)
29
+ session
30
+ end
31
+
32
+ # START HACK
33
+ # Disable Rails-specific code
34
+ module Webrat
35
+ def self.start_app_server
36
+ end
37
+
38
+ def self.stop_app_server
39
+ end
40
+ end
41
+ # END HACK
@@ -1,6 +1,6 @@
1
1
  $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
- Cucumber::Rake::Task.new
4
+ Cucumber::Rake::Task.new(:features)
5
5
 
6
6
  task :default => :features
@@ -2,6 +2,7 @@ Feature: Failing background sample
2
2
 
3
3
  Background:
4
4
  Given failing without a table
5
+ And '10' cukes
5
6
 
6
7
  Scenario: failing background
7
8
  Then I should have '10' cukes
@@ -34,7 +34,7 @@ end
34
34
 
35
35
  Given /^'(.+)' global cukes$/ do |cukes|
36
36
  $scenario_runs ||= 0
37
- flunker if $scenario_runs > 0
37
+ flunker if $scenario_runs >= 1
38
38
  $cukes = cukes
39
39
  $scenario_runs += 1
40
40
  end
@@ -19,7 +19,7 @@ module Tag
19
19
  def print_summary
20
20
  matrix = @counts.to_a.sort{|paira, pairb| paira[0] <=> pairb[0]}.transpose
21
21
  table = Cucumber::Ast::Table.new(matrix)
22
- Cucumber::Formatter::Pretty.new(@step_mother, @io, {}).visit_multiline_arg(table, :tag)
22
+ Cucumber::Formatter::Pretty.new(@step_mother, @io, {}).visit_multiline_arg(table)
23
23
  end
24
24
  end
25
25
  end
@@ -1,11 +1,16 @@
1
1
  $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
- # Try these:
5
- #
6
- # rake features
7
- # rake features PROFILE=html
8
- Cucumber::Rake::Task.new do |t|
9
- profile = ENV['PROFILE'] || 'default'
10
- t.cucumber_opts = "--profile #{profile}"
11
- end
4
+ Cucumber::Rake::Task.new(:pretty) do |t|
5
+ t.cucumber_opts = "--format pretty"
6
+ end
7
+
8
+ Cucumber::Rake::Task.new(:html) do |t|
9
+ t.cucumber_opts = "--format html --out features.html"
10
+ end
11
+
12
+ Cucumber::Rake::Task.new(:progress) do |t|
13
+ t.cucumber_opts = "--format progress -i -n"
14
+ end
15
+
16
+ task :default => [:pretty, :html, :progress]
@@ -1,2 +1,3 @@
1
1
  default: --format pretty
2
- html: --format html --out features.html
2
+ html: --format html --out features.html
3
+ progress: --format progress -i -n
@@ -0,0 +1,13 @@
1
+ Feature: Unsubstituted argument placeholder
2
+
3
+ Scenario Outline: See Annual Leave Details (as Management & Human Resource)
4
+ Given the following users exist in the system
5
+ | name | email | role_assignments | group_memberships |
6
+ | Jane | jane@fmail.com | <role> | Sales (manager) |
7
+ | Max | max@fmail.com | | Sales (member) |
8
+ | Carol | carol@fmail.com | | Sales (member) |
9
+ | Cat | cat@fmail.com | | |
10
+
11
+ Examples:
12
+ | role |
13
+ | HUMAN RESOURCE |