aslakhellesoy-cucumber 0.1.16.4 → 0.1.16.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/History.txt +75 -1
  2. data/Manifest.txt +58 -65
  3. data/examples/cs/features/step_definitons/calculator_steps.rb +1 -1
  4. data/examples/i18n/Rakefile +3 -3
  5. data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -6
  6. data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +1 -1
  7. data/examples/i18n/de/features/addition.feature +6 -6
  8. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +2 -2
  9. data/examples/i18n/en/features/addition.feature +6 -6
  10. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +2 -2
  11. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +1 -1
  12. data/examples/i18n/et/features/liitmine.feature +7 -6
  13. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +1 -1
  14. data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +1 -1
  15. data/examples/i18n/fi/features/yhteenlasku.feature +2 -2
  16. data/examples/i18n/fr/features/addition.feature +2 -2
  17. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +1 -1
  18. data/examples/i18n/id/features/addition.feature +6 -6
  19. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +2 -2
  20. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +1 -1
  21. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +2 -3
  22. data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +1 -1
  23. data/examples/i18n/lt/features/addition.feature +7 -6
  24. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +2 -2
  25. data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +7 -7
  26. data/examples/i18n/no/features/summering.feature +1 -0
  27. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +1 -1
  28. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +1 -1
  29. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +1 -1
  30. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +2 -2
  31. data/examples/jbehave/README.textile +17 -0
  32. data/examples/jbehave/features/support/env.rb +7 -0
  33. data/examples/jbehave/features/trading.feature +24 -0
  34. data/examples/jbehave/pom.xml +48 -0
  35. data/examples/self_test/README.textile +4 -1
  36. data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
  37. data/examples/self_test/features/lots_of_undefined.feature +8 -0
  38. data/examples/self_test/features/outline_sample.feature +8 -5
  39. data/examples/self_test/features/sample.feature +5 -3
  40. data/examples/self_test/features/step_definitions/sample_steps.rb +15 -3
  41. data/features/cucumber_cli.feature +199 -97
  42. data/features/cucumber_cli_outlines.feature +46 -38
  43. data/features/report_called_undefined_steps.feature +31 -0
  44. data/features/step_definitions/cucumber_steps.rb +7 -3
  45. data/features/step_definitions/extra_steps.rb +1 -1
  46. data/features/support/env.rb +1 -1
  47. data/gem_tasks/features.rake +1 -1
  48. data/gem_tasks/flog.rake +1 -1
  49. data/lib/autotest/cucumber_mixin.rb +16 -23
  50. data/lib/cucumber/ast/comment.rb +26 -0
  51. data/lib/cucumber/ast/examples.rb +22 -0
  52. data/lib/cucumber/ast/feature.rb +60 -0
  53. data/lib/cucumber/ast/features.rb +39 -0
  54. data/lib/cucumber/ast/filter.rb +22 -0
  55. data/lib/cucumber/ast/outline_table.rb +49 -0
  56. data/lib/cucumber/ast/py_string.rb +52 -0
  57. data/lib/cucumber/ast/scenario.rb +91 -0
  58. data/lib/cucumber/ast/scenario_outline.rb +83 -0
  59. data/lib/cucumber/ast/step.rb +130 -0
  60. data/lib/cucumber/ast/table.rb +214 -0
  61. data/lib/cucumber/ast/tags.rb +33 -0
  62. data/lib/cucumber/ast/visitor.rb +93 -0
  63. data/lib/cucumber/ast.rb +27 -0
  64. data/lib/cucumber/broadcaster.rb +1 -6
  65. data/lib/cucumber/cli.rb +178 -128
  66. data/lib/cucumber/core_ext/exception.rb +41 -8
  67. data/lib/cucumber/core_ext/instance_exec.rb +54 -0
  68. data/lib/cucumber/core_ext/proc.rb +29 -65
  69. data/lib/cucumber/core_ext/string.rb +19 -0
  70. data/lib/cucumber/{formatters → formatter}/ansicolor.rb +11 -10
  71. data/lib/cucumber/formatter/console.rb +116 -0
  72. data/lib/cucumber/formatter/pretty.rb +158 -0
  73. data/lib/cucumber/formatter/profile.rb +77 -0
  74. data/lib/cucumber/formatter/progress.rb +68 -0
  75. data/lib/cucumber/formatter.rb +1 -0
  76. data/lib/cucumber/formatters/autotest_formatter.rb +0 -2
  77. data/lib/cucumber/formatters/html_formatter.rb +4 -3
  78. data/lib/cucumber/formatters/pretty_formatter.rb +1 -1
  79. data/lib/cucumber/formatters/unicode.rb +3 -3
  80. data/lib/cucumber/jbehave.rb +104 -0
  81. data/lib/cucumber/languages.yml +100 -73
  82. data/lib/cucumber/parser/basic.rb +0 -0
  83. data/lib/cucumber/parser/feature.rb +1694 -0
  84. data/lib/cucumber/parser/feature.tt +206 -0
  85. data/lib/cucumber/parser/file_parser.rb +50 -0
  86. data/lib/cucumber/parser/i18n.tt +26 -0
  87. data/lib/cucumber/parser/treetop_ext.rb +9 -0
  88. data/lib/cucumber/parser.rb +27 -0
  89. data/lib/cucumber/platform.rb +3 -17
  90. data/lib/cucumber/step_definition.rb +83 -0
  91. data/lib/cucumber/step_mother.rb +128 -72
  92. data/lib/cucumber/version.rb +1 -1
  93. data/lib/cucumber.rb +56 -9
  94. data/spec/cucumber/ast/feature_factory.rb +54 -0
  95. data/spec/cucumber/ast/feature_spec.rb +60 -0
  96. data/spec/cucumber/ast/py_string_spec.rb +40 -0
  97. data/spec/cucumber/ast/scenario_outline_spec.rb +64 -0
  98. data/spec/cucumber/ast/scenario_spec.rb +82 -0
  99. data/spec/cucumber/ast/step_spec.rb +45 -0
  100. data/spec/cucumber/ast/table_spec.rb +81 -0
  101. data/spec/cucumber/broadcaster_spec.rb +4 -17
  102. data/spec/cucumber/cli_spec.rb +43 -148
  103. data/spec/cucumber/core_ext/proc_spec.rb +27 -35
  104. data/spec/cucumber/core_ext/string_spec.rb +8 -0
  105. data/spec/cucumber/{formatters → formatter}/ansicolor_spec.rb +2 -2
  106. data/spec/cucumber/formatter/html/cucumber.css +37 -0
  107. data/spec/cucumber/formatter/html/cucumber.js +11 -0
  108. data/spec/cucumber/formatter/html/index.html +45 -0
  109. data/spec/cucumber/formatter/html/jquery-1.3.min.js +19 -0
  110. data/spec/cucumber/formatter/html/jquery.uitableedit.js +100 -0
  111. data/spec/cucumber/formatters/autotest_formatter_spec.rb +1 -0
  112. data/spec/cucumber/formatters/profile_formatter_spec.rb +17 -16
  113. data/spec/cucumber/parser/feature_parser_spec.rb +247 -0
  114. data/spec/cucumber/parser/table_parser_spec.rb +48 -0
  115. data/spec/cucumber/step_definition_spec.rb +62 -0
  116. data/spec/cucumber/step_mom_spec.rb +49 -0
  117. data/spec/cucumber/treetop_parser/empty_feature.feature +1 -1
  118. data/spec/cucumber/treetop_parser/spaces.feature +3 -1
  119. data/spec/cucumber/treetop_parser/with_comments.feature +1 -1
  120. data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
  121. data/spec/cucumber/world/pending_spec.rb +13 -12
  122. data/spec/spec_helper.rb +1 -1
  123. metadata +59 -67
  124. data/examples/calculator_ruby_features/Rakefile +0 -6
  125. data/examples/calculator_ruby_features/features/addition.rb +0 -39
  126. data/examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb +0 -43
  127. data/gem_tasks/treetop.rake +0 -41
  128. data/lib/cucumber/executor.rb +0 -205
  129. data/lib/cucumber/formatters/profile_formatter.rb +0 -92
  130. data/lib/cucumber/formatters/progress_formatter.rb +0 -61
  131. data/lib/cucumber/formatters.rb +0 -1
  132. data/lib/cucumber/model/table.rb +0 -32
  133. data/lib/cucumber/model.rb +0 -1
  134. data/lib/cucumber/step_methods.rb +0 -49
  135. data/lib/cucumber/tree/feature.rb +0 -105
  136. data/lib/cucumber/tree/features.rb +0 -21
  137. data/lib/cucumber/tree/given_scenario.rb +0 -13
  138. data/lib/cucumber/tree/scenario.rb +0 -240
  139. data/lib/cucumber/tree/step.rb +0 -173
  140. data/lib/cucumber/tree/table.rb +0 -26
  141. data/lib/cucumber/tree/top_down_visitor.rb +0 -23
  142. data/lib/cucumber/tree.rb +0 -16
  143. data/lib/cucumber/treetop_parser/feature.treetop.erb +0 -254
  144. data/lib/cucumber/treetop_parser/feature_ar.rb +0 -1951
  145. data/lib/cucumber/treetop_parser/feature_cy.rb +0 -1951
  146. data/lib/cucumber/treetop_parser/feature_da.rb +0 -1951
  147. data/lib/cucumber/treetop_parser/feature_de.rb +0 -1951
  148. data/lib/cucumber/treetop_parser/feature_en-lol.rb +0 -1951
  149. data/lib/cucumber/treetop_parser/feature_en-tx.rb +0 -1951
  150. data/lib/cucumber/treetop_parser/feature_en.rb +0 -1951
  151. data/lib/cucumber/treetop_parser/feature_es.rb +0 -1951
  152. data/lib/cucumber/treetop_parser/feature_et.rb +0 -1951
  153. data/lib/cucumber/treetop_parser/feature_fr.rb +0 -1951
  154. data/lib/cucumber/treetop_parser/feature_id.rb +0 -1951
  155. data/lib/cucumber/treetop_parser/feature_it.rb +0 -1951
  156. data/lib/cucumber/treetop_parser/feature_ja.rb +0 -1951
  157. data/lib/cucumber/treetop_parser/feature_ko.rb +0 -1951
  158. data/lib/cucumber/treetop_parser/feature_lt.rb +0 -1951
  159. data/lib/cucumber/treetop_parser/feature_nl.rb +0 -1951
  160. data/lib/cucumber/treetop_parser/feature_no.rb +0 -1951
  161. data/lib/cucumber/treetop_parser/feature_parser.rb +0 -36
  162. data/lib/cucumber/treetop_parser/feature_pl.rb +0 -1951
  163. data/lib/cucumber/treetop_parser/feature_pt.rb +0 -1951
  164. data/lib/cucumber/treetop_parser/feature_ro.rb +0 -1951
  165. data/lib/cucumber/treetop_parser/feature_ro2.rb +0 -1951
  166. data/lib/cucumber/treetop_parser/feature_ru.rb +0 -1951
  167. data/lib/cucumber/treetop_parser/feature_se.rb +0 -1951
  168. data/lib/cucumber/treetop_parser/feature_zh-CN.rb +0 -1951
  169. data/lib/cucumber/world/pending.rb +0 -22
  170. data/lib/cucumber/world.rb +0 -1
  171. data/setup.rb +0 -1585
  172. data/spec/cucumber/executor_spec.rb +0 -382
  173. data/spec/cucumber/formatters/html_formatter_spec.rb +0 -104
  174. data/spec/cucumber/formatters/pretty_formatter_spec.rb +0 -410
  175. data/spec/cucumber/formatters/progress_formatter_spec.rb +0 -81
  176. data/spec/cucumber/model/table_spec.rb +0 -32
  177. data/spec/cucumber/step_mother_spec.rb +0 -74
  178. data/spec/cucumber/tree/feature_spec.rb +0 -122
  179. data/spec/cucumber/tree/row_scenario_outline_spec.rb +0 -73
  180. data/spec/cucumber/tree/row_scenario_spec.rb +0 -55
  181. data/spec/cucumber/tree/row_step_outline_spec.rb +0 -38
  182. data/spec/cucumber/tree/scenario_outline_spec.rb +0 -50
  183. data/spec/cucumber/tree/scenario_spec.rb +0 -134
  184. data/spec/cucumber/tree/step_outline_spec.rb +0 -17
  185. data/spec/cucumber/tree/step_spec.rb +0 -59
  186. data/spec/cucumber/treetop_parser/feature_parser_spec.rb +0 -120
@@ -1,24 +1,24 @@
1
1
  # encoding: utf-8
2
2
  require 'spec/expectations'
3
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
4
  require 'cucumber/formatters/unicode'
5
5
  require 'kalkulator'
6
6
 
7
+ # Not necessary with Ruby 1.9 - Gitt, Når Så automatically aliased.
8
+ Cucumber.alias_steps %w{Naar Saa}
9
+
7
10
  Before do
8
11
  @calc = Kalkulator.new
9
12
  end
10
13
 
11
- After do
12
- end
13
-
14
- Given /at jeg har tastet inn (\d+)/ do |n|
14
+ Gitt /at jeg har tastet inn (\d+)/ do |n|
15
15
  @calc.push n.to_i
16
16
  end
17
17
 
18
- When 'jeg summerer' do
18
+ Naar 'jeg summerer' do
19
19
  @result = @calc.add
20
20
  end
21
21
 
22
- Then /skal resultatet være (\d*)/ do |result|
22
+ Saa /skal resultatet være (\d*)/ do |result|
23
23
  @result.should == result.to_i
24
24
  end
@@ -9,6 +9,7 @@ Egenskap: Summering
9
9
  Når jeg summerer
10
10
  Så skal resultatet være 12
11
11
 
12
+ @iterasjon3
12
13
  Scenario: tre tall
13
14
  Gitt at jeg har tastet inn 5
14
15
  Og at jeg har tastet inn 7
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'spec/expectations'
3
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
4
  require 'cucumber/formatters/unicode'
5
5
  require 'calculadora'
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'spec/expectations'
3
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
4
  require 'cucumber/formatters/unicode'
5
5
  require 'calculator'
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'spec/expectations'
3
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
4
  require 'cucumber/formatters/unicode'
5
5
  require 'kalkulator'
6
6
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'spec/expectations'
3
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
4
  require 'cucumber/formatters/unicode'
5
5
  require 'calculator'
6
6
 
@@ -11,7 +11,7 @@ end
11
11
  After do
12
12
  end
13
13
 
14
- Given "我已经在计算器里输入$n" do |n|
14
+ Given /我已经在计算器里输入(\d+)/ do |n|
15
15
  @calc.push n.to_i
16
16
  end
17
17
 
@@ -0,0 +1,17 @@
1
+ h1. Cucumber and JBehave
2
+
3
+ Look ma - no Ruby!
4
+
5
+ h2. Running the example
6
+
7
+ First, compile the java code (and JBehave steps)
8
+
9
+ <code>mvn compile jar:jar</code>
10
+
11
+ Second, run Cucumber:
12
+
13
+ <code>jruby -S cucumber features</code>
14
+
15
+ Or if you got the source with Git:
16
+
17
+ <code>jruby ../../bin/cucumber features</code>
@@ -0,0 +1,7 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../target')
2
+ require 'jbehave-example-0.2-SNAPSHOT.jar'
3
+
4
+ require 'cucumber/jbehave'
5
+
6
+ import 'cukes.jbehave.examples.trader.scenarios.TraderSteps'
7
+ JBehave(TraderSteps.new)
@@ -0,0 +1,24 @@
1
+ Feature: Trading
2
+ In order to avoid lost trades
3
+ Traders should be alerted about stocks
4
+
5
+ Scenario: Status alert can be activated
6
+ Given a stock of prices 0.5,1.0 and a threshold of 10.0
7
+ When the stock is traded at 5.0
8
+ Then the alert status should be OFF
9
+ When the stock is traded at 11.0
10
+ Then the alert status should be ON
11
+
12
+ Scenario: Status alert is never activated
13
+ Given a stock of prices 0.5,1.0 and a threshold of 15.0
14
+ When the stock is traded at 5.0
15
+ Then the alert status should be OFF
16
+ When the stock is traded at 11.0
17
+ Then the alert status should be OFF
18
+
19
+ Scenario: Trader sells all stocks
20
+ Given a trader of name Mauro
21
+ Given a stock of prices 0.5,1.0 and a threshold of 1.5
22
+ When the stock is traded at 2.0
23
+ Then the trader sells all stocks
24
+ And the trader gets a bonus
@@ -0,0 +1,48 @@
1
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
2
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
4
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+ <modelVersion>4.0.0</modelVersion>
6
+ <groupId>cukes</groupId>
7
+ <artifactId>jbehave-example</artifactId>
8
+ <packaging>jar</packaging>
9
+ <version>0.2-SNAPSHOT</version>
10
+ <name>Cucumber JBehave Example</name>
11
+ <url>http://cukes.info/</url>
12
+
13
+ <repositories>
14
+ <repository>
15
+ <id>codehaus</id>
16
+ <url>http://repository.codehaus.org</url>
17
+ </repository>
18
+ </repositories>
19
+
20
+ <dependencies>
21
+ <dependency>
22
+ <groupId>org.jbehave</groupId>
23
+ <artifactId>jbehave-core</artifactId>
24
+ <version>2.1.1</version>
25
+ </dependency>
26
+ <dependency>
27
+ <groupId>junit</groupId>
28
+ <artifactId>junit</artifactId>
29
+ <version>4.4</version>
30
+ </dependency>
31
+ </dependencies>
32
+
33
+ <build>
34
+ <pluginManagement>
35
+ <plugins>
36
+ <plugin>
37
+ <groupId>org.apache.maven.plugins</groupId>
38
+ <artifactId>maven-compiler-plugin</artifactId>
39
+ <version>2.0.2</version>
40
+ <configuration>
41
+ <source>1.5</source>
42
+ <target>1.5</target>
43
+ </configuration>
44
+ </plugin>
45
+ </plugins>
46
+ </pluginManagement>
47
+ </build>
48
+ </project>
@@ -1,3 +1,6 @@
1
1
  h1. Self Test
2
2
 
3
- Cucumber's own features (ROOT_DIR/features) run the features in this directory and look at the output.
3
+ Cucumber's own features (ROOT_DIR/features) run the features in this directory and look at the output.
4
+
5
+ Note that several of these fail intentionally. The purpose is to verify actual output against expected
6
+ output.
@@ -0,0 +1,7 @@
1
+ Feature: Calling undefined step
2
+
3
+ Scenario: Call directly
4
+ Given a step definition that calls an undefined step
5
+
6
+ Scenario: Call via another
7
+ Given call step "a step definition that calls an undefined step"
@@ -0,0 +1,8 @@
1
+ Feature: Lots of undefined
2
+
3
+ Scenario: Implement me
4
+ Given it snows in Sahara
5
+ Given it's 40 degrees in Norway
6
+ And it's 40 degrees in Norway
7
+ When I stop procrastinating
8
+ And there is world peace
@@ -1,9 +1,12 @@
1
1
  Feature: Outline Sample
2
2
 
3
+ Scenario: I have no steps
4
+
3
5
  Scenario Outline: Test state
4
6
  Given <state> without a table
5
- Examples:
6
- | state |
7
- | missing |
8
- | passing |
9
- | failing |
7
+ Given <other_state> without a table
8
+ Examples:
9
+ | state | other_state |
10
+ | missing | passing|
11
+ | passing| passing |
12
+ | failing | passing |
@@ -1,14 +1,16 @@
1
+ @one
1
2
  Feature: Sample
2
3
 
4
+ @two @three
3
5
  Scenario: Missing
4
6
  Given missing
5
7
 
8
+ @three
6
9
  Scenario: Passing
7
10
  Given passing
8
11
  |a|b|
9
12
  |c|d|
10
-
13
+
14
+ @four
11
15
  Scenario: Failing
12
16
  Given failing
13
- |e|f|
14
- |g|h|
@@ -1,13 +1,25 @@
1
+ def flunker
2
+ raise "FAIL"
3
+ end
4
+
1
5
  Given /^passing$/ do |table|
2
6
  end
3
7
 
4
- Given /^failing$/ do |table|
5
- raise "FAIL"
8
+ Given /^failing$/ do
9
+ flunker
6
10
  end
7
11
 
8
12
  Given /^passing without a table$/ do
9
13
  end
10
14
 
11
15
  Given /^failing without a table$/ do
12
- raise "FAIL"
16
+ flunker
17
+ end
18
+
19
+ Given /^a step definition that calls an undefined step$/ do
20
+ Given 'this does not exist'
21
+ end
22
+
23
+ Given /^call step "(.*)"$/ do |step|
24
+ Given step
13
25
  end