kosmas58-cucumber 0.1.16.6 → 0.1.99.21

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 (248) hide show
  1. data/History.txt +126 -2
  2. data/License.txt +1 -1
  3. data/Manifest.txt +0 -270
  4. data/Rakefile +1 -1
  5. data/bin/cucumber +2 -2
  6. data/config/hoe.rb +7 -2
  7. data/examples/cs/features/step_definitons/calculator_steps.rb +1 -1
  8. data/examples/i18n/README.textile +1 -1
  9. data/examples/i18n/Rakefile +3 -3
  10. data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -6
  11. data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +1 -1
  12. data/examples/i18n/de/features/addition.feature +6 -6
  13. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +2 -2
  14. data/examples/i18n/en/features/addition.feature +6 -6
  15. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +2 -2
  16. data/examples/i18n/es/features/adicion.feature +11 -12
  17. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +7 -10
  18. data/examples/i18n/es/lib/calculador.rb +4 -1
  19. data/examples/i18n/et/features/liitmine.feature +7 -6
  20. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +1 -1
  21. data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +1 -1
  22. data/examples/i18n/fi/features/yhteenlasku.feature +2 -2
  23. data/examples/i18n/fr/features/addition.feature +2 -2
  24. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +1 -1
  25. data/examples/i18n/id/features/addition.feature +6 -6
  26. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +2 -2
  27. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +1 -1
  28. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +2 -3
  29. data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +1 -1
  30. data/examples/i18n/lt/features/addition.feature +7 -6
  31. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +2 -2
  32. data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +7 -7
  33. data/examples/i18n/no/features/summering.feature +1 -0
  34. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +1 -1
  35. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +1 -1
  36. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +1 -1
  37. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +2 -2
  38. data/examples/java/src/cucumber/demo/Hello.java +16 -0
  39. data/examples/jbehave/README.textile +17 -0
  40. data/examples/jbehave/features/support/env.rb +7 -0
  41. data/examples/jbehave/features/trading.feature +24 -0
  42. data/examples/jbehave/pom.xml +48 -0
  43. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/converters/TraderConverter.java +32 -0
  44. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Stock.java +42 -0
  45. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Trader.java +29 -0
  46. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/persistence/TraderPersister.java +22 -0
  47. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java +65 -0
  48. data/examples/self_test/README.textile +4 -1
  49. data/examples/{calculator_ruby_features → self_test}/Rakefile +3 -3
  50. data/examples/self_test/features/background/failing_background.feature +10 -0
  51. data/examples/self_test/features/background/failing_background_after_success.feature +11 -0
  52. data/examples/self_test/features/background/multiline_args_background.feature +32 -0
  53. data/examples/self_test/features/background/passing_background.feature +10 -0
  54. data/examples/self_test/features/background/pending_background.feature +10 -0
  55. data/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
  56. data/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
  57. data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
  58. data/examples/self_test/features/lots_of_undefined.feature +8 -0
  59. data/examples/self_test/features/outline_sample.feature +11 -5
  60. data/examples/self_test/features/sample.feature +8 -3
  61. data/examples/self_test/features/step_definitions/sample_steps.rb +53 -4
  62. data/examples/self_test/features/support/env.rb +1 -0
  63. data/examples/self_test/features/support/tag_count_formatter.rb +25 -0
  64. data/examples/tickets/features/172.feature +28 -0
  65. data/examples/tickets/features/177/1.feature +29 -0
  66. data/examples/tickets/features/177/2.feature +21 -0
  67. data/examples/tickets/features/177/3.feature +18 -0
  68. data/examples/tickets/features/180.feature +7 -0
  69. data/examples/tickets/features/scenario_outline.feature +6 -1
  70. data/examples/tickets/features/step_definitons/tickets_steps.rb +27 -3
  71. data/examples/tickets/features/tickets.feature +4 -0
  72. data/features/background.feature +223 -0
  73. data/features/cucumber_cli.feature +218 -98
  74. data/features/cucumber_cli_outlines.feature +54 -37
  75. data/features/custom_formatter.feature +11 -0
  76. data/features/report_called_undefined_steps.feature +32 -0
  77. data/features/step_definitions/cucumber_steps.rb +7 -3
  78. data/features/step_definitions/extra_steps.rb +1 -1
  79. data/features/support/env.rb +2 -1
  80. data/gem_tasks/flog.rake +1 -1
  81. data/gem_tasks/gemspec.rake +2 -2
  82. data/gem_tasks/jar.rake +67 -0
  83. data/lib/autotest/cucumber_mixin.rb +17 -23
  84. data/lib/cucumber.rb +63 -11
  85. data/lib/cucumber/ast.rb +29 -0
  86. data/lib/cucumber/ast/background.rb +88 -0
  87. data/lib/cucumber/ast/comment.rb +26 -0
  88. data/lib/cucumber/ast/examples.rb +26 -0
  89. data/lib/cucumber/ast/feature.rb +66 -0
  90. data/lib/cucumber/ast/features.rb +39 -0
  91. data/lib/cucumber/ast/filter.rb +22 -0
  92. data/lib/cucumber/ast/outline_table.rb +49 -0
  93. data/lib/cucumber/ast/py_string.rb +52 -0
  94. data/lib/cucumber/ast/scenario.rb +103 -0
  95. data/lib/cucumber/ast/scenario_outline.rb +92 -0
  96. data/lib/cucumber/ast/step.rb +161 -0
  97. data/lib/cucumber/ast/steps.rb +13 -0
  98. data/lib/cucumber/ast/table.rb +218 -0
  99. data/lib/cucumber/ast/tags.rb +40 -0
  100. data/lib/cucumber/ast/visitor.rb +109 -0
  101. data/lib/cucumber/broadcaster.rb +1 -6
  102. data/lib/cucumber/cli/configuration.rb +339 -0
  103. data/lib/cucumber/cli/language_help_formatter.rb +59 -0
  104. data/lib/cucumber/cli/main.rb +100 -0
  105. data/lib/cucumber/core_ext/exception.rb +41 -8
  106. data/lib/cucumber/core_ext/instance_exec.rb +54 -0
  107. data/lib/cucumber/core_ext/proc.rb +29 -65
  108. data/lib/cucumber/core_ext/string.rb +19 -0
  109. data/lib/cucumber/formatter.rb +1 -0
  110. data/lib/cucumber/{formatters → formatter}/ansicolor.rb +14 -16
  111. data/lib/cucumber/formatter/color_io.rb +17 -0
  112. data/lib/cucumber/formatter/console.rb +119 -0
  113. data/lib/cucumber/formatter/cucumber.css +55 -0
  114. data/lib/cucumber/formatter/cucumber.sass +49 -0
  115. data/lib/cucumber/formatter/html.rb +121 -0
  116. data/lib/cucumber/formatter/pretty.rb +167 -0
  117. data/lib/cucumber/formatter/profile.rb +77 -0
  118. data/lib/cucumber/formatter/progress.rb +68 -0
  119. data/lib/cucumber/formatter/rerun.rb +35 -0
  120. data/lib/cucumber/formatter/unicode.rb +35 -0
  121. data/lib/cucumber/formatters/unicode.rb +2 -35
  122. data/lib/cucumber/jbehave.rb +102 -0
  123. data/lib/cucumber/languages.yml +128 -75
  124. data/lib/cucumber/parser.rb +43 -0
  125. data/lib/cucumber/parser/basic.rb +0 -0
  126. data/lib/cucumber/parser/feature.rb +1490 -0
  127. data/lib/cucumber/parser/feature.tt +188 -0
  128. data/lib/cucumber/parser/i18n.tt +31 -0
  129. data/lib/cucumber/parser/table.rb +402 -0
  130. data/lib/cucumber/parser/table.tt +59 -0
  131. data/lib/cucumber/parser/treetop_ext.rb +75 -0
  132. data/lib/cucumber/platform.rb +3 -17
  133. data/lib/cucumber/rails/rspec.rb +5 -2
  134. data/lib/cucumber/step_definition.rb +87 -0
  135. data/lib/cucumber/step_mother.rb +151 -66
  136. data/lib/cucumber/version.rb +2 -2
  137. data/rails_generators/cucumber/USAGE +3 -2
  138. data/rails_generators/cucumber/cucumber_generator.rb +33 -23
  139. data/rails_generators/cucumber/templates/cucumber +2 -1
  140. data/rails_generators/cucumber/templates/cucumber.rake +6 -1
  141. data/rails_generators/cucumber/templates/env.rb +1 -1
  142. data/rails_generators/feature/USAGE +3 -0
  143. data/rails_generators/feature/feature_generator.rb +30 -6
  144. data/spec/cucumber/ast/background_spec.rb +58 -0
  145. data/spec/cucumber/ast/feature_factory.rb +54 -0
  146. data/spec/cucumber/ast/feature_spec.rb +60 -0
  147. data/spec/cucumber/ast/py_string_spec.rb +40 -0
  148. data/spec/cucumber/ast/scenario_outline_spec.rb +64 -0
  149. data/spec/cucumber/ast/scenario_spec.rb +82 -0
  150. data/spec/cucumber/ast/step_spec.rb +45 -0
  151. data/spec/cucumber/ast/table_spec.rb +81 -0
  152. data/spec/cucumber/ast/tags_spec.rb +23 -0
  153. data/spec/cucumber/broadcaster_spec.rb +4 -17
  154. data/spec/cucumber/cli/configuration_spec.rb +239 -0
  155. data/spec/cucumber/cli/main_spec.rb +164 -0
  156. data/spec/cucumber/core_ext/proc_spec.rb +27 -35
  157. data/spec/cucumber/core_ext/string_spec.rb +8 -0
  158. data/spec/cucumber/{formatters → formatter}/ansicolor_spec.rb +2 -2
  159. data/spec/cucumber/formatter/html/cucumber.css +37 -0
  160. data/spec/cucumber/formatter/html/cucumber.js +13 -0
  161. data/spec/cucumber/formatter/html/index.html +45 -0
  162. data/spec/cucumber/formatter/html/jquery-1.3.min.js +19 -0
  163. data/spec/cucumber/formatter/html/jquery.uitableedit.js +100 -0
  164. data/spec/cucumber/formatters/profile_formatter_spec.rb +17 -16
  165. data/spec/cucumber/parser/feature_parser_spec.rb +281 -0
  166. data/spec/cucumber/parser/table_parser_spec.rb +48 -0
  167. data/spec/cucumber/step_definition_spec.rb +62 -0
  168. data/spec/cucumber/step_mother_spec.rb +50 -51
  169. data/spec/cucumber/treetop_parser/empty_feature.feature +1 -1
  170. data/spec/cucumber/treetop_parser/scenario_outline.feature +1 -1
  171. data/spec/cucumber/treetop_parser/spaces.feature +3 -1
  172. data/spec/cucumber/treetop_parser/with_comments.feature +1 -1
  173. data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
  174. data/spec/cucumber/world/pending_spec.rb +13 -12
  175. data/spec/spec_helper.rb +1 -1
  176. metadata +107 -79
  177. data/examples/calculator_ruby_features/features/addition.rb +0 -39
  178. data/examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb +0 -43
  179. data/gem_tasks/treetop.rake +0 -41
  180. data/lib/cucumber/cli.rb +0 -355
  181. data/lib/cucumber/executor.rb +0 -205
  182. data/lib/cucumber/formatters.rb +0 -1
  183. data/lib/cucumber/formatters/autotest_formatter.rb +0 -23
  184. data/lib/cucumber/formatters/cucumber.css +0 -132
  185. data/lib/cucumber/formatters/cucumber.js +0 -11
  186. data/lib/cucumber/formatters/html_formatter.rb +0 -152
  187. data/lib/cucumber/formatters/jquery.js +0 -32
  188. data/lib/cucumber/formatters/pretty_formatter.rb +0 -285
  189. data/lib/cucumber/formatters/profile_formatter.rb +0 -92
  190. data/lib/cucumber/formatters/progress_formatter.rb +0 -61
  191. data/lib/cucumber/model.rb +0 -1
  192. data/lib/cucumber/model/table.rb +0 -32
  193. data/lib/cucumber/step_methods.rb +0 -49
  194. data/lib/cucumber/tree.rb +0 -16
  195. data/lib/cucumber/tree/feature.rb +0 -105
  196. data/lib/cucumber/tree/features.rb +0 -21
  197. data/lib/cucumber/tree/given_scenario.rb +0 -13
  198. data/lib/cucumber/tree/scenario.rb +0 -240
  199. data/lib/cucumber/tree/step.rb +0 -173
  200. data/lib/cucumber/tree/table.rb +0 -26
  201. data/lib/cucumber/tree/top_down_visitor.rb +0 -23
  202. data/lib/cucumber/treetop_parser/feature.treetop.erb +0 -254
  203. data/lib/cucumber/treetop_parser/feature_ar.rb +0 -1951
  204. data/lib/cucumber/treetop_parser/feature_cy.rb +0 -1951
  205. data/lib/cucumber/treetop_parser/feature_da.rb +0 -1951
  206. data/lib/cucumber/treetop_parser/feature_de.rb +0 -1951
  207. data/lib/cucumber/treetop_parser/feature_en-lol.rb +0 -1951
  208. data/lib/cucumber/treetop_parser/feature_en-tx.rb +0 -1951
  209. data/lib/cucumber/treetop_parser/feature_en.rb +0 -1951
  210. data/lib/cucumber/treetop_parser/feature_es.rb +0 -1951
  211. data/lib/cucumber/treetop_parser/feature_et.rb +0 -1951
  212. data/lib/cucumber/treetop_parser/feature_fi.rb +0 -1951
  213. data/lib/cucumber/treetop_parser/feature_fr.rb +0 -1951
  214. data/lib/cucumber/treetop_parser/feature_id.rb +0 -1951
  215. data/lib/cucumber/treetop_parser/feature_it.rb +0 -1951
  216. data/lib/cucumber/treetop_parser/feature_ja.rb +0 -1951
  217. data/lib/cucumber/treetop_parser/feature_ko.rb +0 -1951
  218. data/lib/cucumber/treetop_parser/feature_lt.rb +0 -1951
  219. data/lib/cucumber/treetop_parser/feature_nl.rb +0 -1951
  220. data/lib/cucumber/treetop_parser/feature_no.rb +0 -1951
  221. data/lib/cucumber/treetop_parser/feature_parser.rb +0 -36
  222. data/lib/cucumber/treetop_parser/feature_pl.rb +0 -1951
  223. data/lib/cucumber/treetop_parser/feature_pt.rb +0 -1951
  224. data/lib/cucumber/treetop_parser/feature_ro.rb +0 -1951
  225. data/lib/cucumber/treetop_parser/feature_ro2.rb +0 -1951
  226. data/lib/cucumber/treetop_parser/feature_ru.rb +0 -1951
  227. data/lib/cucumber/treetop_parser/feature_se.rb +0 -1951
  228. data/lib/cucumber/treetop_parser/feature_zh-CN.rb +0 -1951
  229. data/lib/cucumber/world.rb +0 -1
  230. data/lib/cucumber/world/pending.rb +0 -22
  231. data/setup.rb +0 -1585
  232. data/spec/cucumber/cli_spec.rb +0 -521
  233. data/spec/cucumber/executor_spec.rb +0 -382
  234. data/spec/cucumber/formatters/autotest_formatter_spec.rb +0 -26
  235. data/spec/cucumber/formatters/features.html +0 -269
  236. data/spec/cucumber/formatters/html_formatter_spec.rb +0 -110
  237. data/spec/cucumber/formatters/pretty_formatter_spec.rb +0 -410
  238. data/spec/cucumber/formatters/progress_formatter_spec.rb +0 -81
  239. data/spec/cucumber/model/table_spec.rb +0 -32
  240. data/spec/cucumber/tree/feature_spec.rb +0 -122
  241. data/spec/cucumber/tree/row_scenario_outline_spec.rb +0 -73
  242. data/spec/cucumber/tree/row_scenario_spec.rb +0 -55
  243. data/spec/cucumber/tree/row_step_outline_spec.rb +0 -38
  244. data/spec/cucumber/tree/scenario_outline_spec.rb +0 -50
  245. data/spec/cucumber/tree/scenario_spec.rb +0 -134
  246. data/spec/cucumber/tree/step_outline_spec.rb +0 -17
  247. data/spec/cucumber/tree/step_spec.rb +0 -59
  248. data/spec/cucumber/treetop_parser/feature_parser_spec.rb +0 -120
@@ -1,5 +1,5 @@
1
1
  require 'spec/expectations'
2
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
3
3
  require 'Calculator'
4
4
 
5
5
  Before do
@@ -3,7 +3,7 @@ h1. Internationalisation (i18n) examples
3
3
  Under this directory you'll find examples of Cucumber features written in
4
4
  many of the natural languages Cucumber supports.
5
5
 
6
- For a full list of what languages Cucumber supports - run <pre>cucumber --help</pre>
6
+ For a full list of what languages Cucumber supports - run <pre>cucumber --language help</pre>
7
7
 
8
8
  h2. Running all the examples
9
9
 
@@ -11,7 +11,7 @@ task :i18n do
11
11
  else
12
12
  STDERR.puts %{
13
13
  !!!!!
14
- !!!!! SKIPPING #{lang} (Haven't made it work on Ruby 1.9 yet)
14
+ !!!!! SKIPPING #{lang} (Still needs some work)
15
15
  !!!!!
16
16
  }
17
17
  end
@@ -23,10 +23,10 @@ def supported?(lang)
23
23
  if RUBY_VERSION =~ /^1\.9/
24
24
  !%w{ar ja ko zh-CN}.index(lang)
25
25
  else
26
- true
26
+ !%w{ar ja ko}.index(lang)
27
27
  end
28
28
  end
29
29
 
30
30
  def rake(args)
31
- ruby(File.join(Gem.bindir, 'rake'), args)
31
+ ruby($0, args) rescue nil
32
32
  end
@@ -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
 
@@ -26,8 +26,3 @@ end
26
26
  Then /يجب ان يكون (\w*)/ do |class_name|
27
27
  @result.class.name.should == class_name
28
28
  end
29
-
30
- Given /it should rain on (\w+)/ do |day|
31
- @calc.rain?(day).should == true
32
- end
33
-
@@ -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
 
@@ -3,13 +3,13 @@ Funktionalität: Addition
3
3
  möchte ich als Matheidiot
4
4
  die Summe zweier Zahlen gesagt bekommen
5
5
 
6
- Szenario: Zwei Zahlen hinzufügen
7
- Gegeben sei ich habe 50 in den Taschenrechner eingegeben
8
- Und ich habe 70 in den Taschenrechner eingegeben
9
- Wenn ich add drücke
10
- Dann sollte das Ergebniss auf dem Bildschirm 120 sein
6
+ Szenariogrundriss: Zwei Zahlen hinzufügen
7
+ Gegeben sei ich habe <Eingabe_1> in den Taschenrechner eingegeben
8
+ Und ich habe <Eingabe_2> in den Taschenrechner eingegeben
9
+ Wenn ich <Knopf> drücke
10
+ Dann sollte das Ergebniss auf dem Bildschirm <Ausgabe> sein
11
11
 
12
- Mehr Beispiele:
12
+ Beispiele:
13
13
  | Eingabe_1 | Eingabe_2 | Knopf | Ausgabe |
14
14
  | 20 | 30 | add | 50 |
15
15
  | 2 | 5 | add | 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 'calculator'
6
6
 
@@ -11,7 +11,7 @@ end
11
11
  After do
12
12
  end
13
13
 
14
- Given "ich habe $n in den Taschenrechner eingegeben" do |n|
14
+ Given /ich habe (\d+) in den Taschenrechner eingegeben/ do |n|
15
15
  @calc.push n.to_i
16
16
  end
17
17
 
@@ -3,13 +3,13 @@ Feature: Addition
3
3
  As a math idiot
4
4
  I want to be told the sum of two numbers
5
5
 
6
- Scenario: Add two numbers
7
- Given I have entered 50 into the calculator
8
- And I have entered 70 into the calculator
9
- When I press add
10
- Then the result should be 120 on the screen
6
+ Scenario Outline: Add two numbers
7
+ Given I have entered <input_1> into the calculator
8
+ And I have entered <input_2> into the calculator
9
+ When I press <button>
10
+ Then the result should be <output> on the screen
11
11
 
12
- More Examples:
12
+ Examples:
13
13
  | input_1 | input_2 | button | output |
14
14
  | 20 | 30 | add | 50 |
15
15
  | 2 | 5 | add | 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 'calculator'
6
6
 
@@ -11,7 +11,7 @@ end
11
11
  After do
12
12
  end
13
13
 
14
- Given "I have entered $n into the calculator" do |n|
14
+ Given /I have entered (\d+) into the calculator/ do |n|
15
15
  @calc.push n.to_i
16
16
  end
17
17
 
@@ -1,17 +1,16 @@
1
1
  Característica: adición
2
2
  Para evitar hacer errores tontos
3
- Como contador
3
+ Como un matemático idiota
4
4
  Quiero saber la suma de los números
5
5
 
6
- Escenario: dos números
7
- Dado que he introducido 5
8
- Y he introducido 7
9
- Cuando añado
10
- Entonces el resultado debe ser 12
6
+ Esquema del escenario: Sumar dos números
7
+ Dado que he introducido <entrada_1> en la calculadora
8
+ Y que he introducido <entrada_2> en la calculadora
9
+ Cuando oprimo el <botón>
10
+ Entonces el resultado debe ser <resultado> en la pantalla
11
11
 
12
- Escenario: tres números
13
- Dado que he introducido 5
14
- Y he introducido 7
15
- Y he introducido 1
16
- Cuando añado
17
- Entonces el resultado debe ser 13
12
+ Ejemplos:
13
+ | entrada_1 | entrada_2 | botón | resultado |
14
+ | 20 | 30 | add | 50 |
15
+ | 2 | 5 | add | 7 |
16
+ | 0 | 40 | add | 40 |
@@ -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 'calculador'
6
6
 
@@ -8,17 +8,14 @@ Before do
8
8
  @calc = Calculador.new
9
9
  end
10
10
 
11
- After do
12
- end
13
-
14
- Given /he introducido (\d+)/ do |n|
11
+ Dado /que he introducido (\d+) en la calculadora/ do |n|
15
12
  @calc.push n.to_i
16
13
  end
17
14
 
18
- When 'añado' do
19
- @result = @calc.add
15
+ Cuando /oprimo el (\w+)/ do |op|
16
+ @result = @calc.send op
20
17
  end
21
18
 
22
- Then /el resultado debe ser (\d*)/ do |result|
23
- @result.should == result.to_i
24
- end
19
+ Entonces /el resultado debe ser (.*) en la pantalla/ do |result|
20
+ @result.should == result.to_f
21
+ end
@@ -5,7 +5,10 @@ class Calculador
5
5
  end
6
6
 
7
7
  def add
8
- #@args[0] + @args[1]
9
8
  @args.inject(0){|n,sum| sum+=n}
10
9
  end
10
+
11
+ def divide
12
+ @args[0].to_f / @args[1].to_f
13
+ end
11
14
  end
@@ -3,13 +3,14 @@ Omadus: Liitmine
3
3
  Olles matemaatika-puupea
4
4
  Tahan et mulle öeldaks kahe numbri summa
5
5
 
6
- Stsenaarium: Liida kaks numbrit
7
- Eeldades et olen sisestanud kalkulaatorisse numbri 50
8
- Ja olen sisestanud kalkulaatorisse numbri 70
9
- Kui ma vajutan liida
10
- Siis vastuseks peab ekraanil kuvatama 120
6
+ # Someone please translate this in languages.yml
7
+ Scenario Outline: Liida kaks numbrit
8
+ Eeldades et olen sisestanud kalkulaatorisse numbri <input_1>
9
+ Ja olen sisestanud kalkulaatorisse numbri <input_2>
10
+ Kui ma vajutan <button>
11
+ Siis vastuseks peab ekraanil kuvatama <output>
11
12
 
12
- More Examples:
13
+ Examples:
13
14
  | input_1 | input_2 | button | output |
14
15
  | 20 | 30 | liida | 50 |
15
16
  | 2 | 5 | liida | 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 'kalkulaator'
6
6
 
@@ -11,7 +11,7 @@ end
11
11
  After do
12
12
  end
13
13
 
14
- Given "että olen syöttänyt laskimeen luvun $n" do |n|
14
+ Given /että olen syöttänyt laskimeen luvun (\d+)/ do |n|
15
15
  @laskin.pinoa n.to_i
16
16
  end
17
17
 
@@ -3,13 +3,13 @@ Ominaisuus: Yhteenlasku
3
3
  Koska olen laskutaidoton
4
4
  Haluan että yhteenlaskut lasketaan puolestani
5
5
 
6
- Tapaus: Kahden luvun summa
6
+ Tapausaihio: Kahden luvun summa
7
7
  Oletetaan että olen syöttänyt laskimeen luvun 50
8
8
  Ja että olen syöttänyt laskimeen luvun 70
9
9
  Kun painan "summaa"
10
10
  Niin laskimen ruudulla pitäisi näkyä tulos 120
11
11
 
12
- Lisätapaukset:
12
+ Tapaukset:
13
13
  | luku_1 | luku_2 | nappi | tulos |
14
14
  | 20 | 30 | summaa | 50 |
15
15
  | 2 | 5 | summaa | 7 |
@@ -3,13 +3,13 @@ Fonctionnalité: Addition
3
3
  En tant que trader
4
4
  Je souhaite pouvoir additionner 2 chiffres
5
5
 
6
- Scénario: Addition de produits dérivés
6
+ Scénario esquisse: Addition de produits dérivés
7
7
  Etant donné que je tape 2
8
8
  Et que je tape 1
9
9
  Lorsque je tape additionner
10
10
  Alors le résultat doit être 3
11
11
 
12
- Plus d'exemples:
12
+ Exemples:
13
13
  | a | b | sum |
14
14
  | 2 | 2 | 4 |
15
15
  | 2 | 3 | 5 |
@@ -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 'calculatrice'
6
6
 
@@ -3,13 +3,13 @@ Fitur: Addition
3
3
  Sebagai orang yang gak bisa matematika
4
4
  Aku ingin diberi tahu jumlah dua bilangan
5
5
 
6
- Skenario: Menjumlahkan dua bilangan
7
- Dengan aku sudah masukkan 50 ke kalkulator
8
- Dan aku sudah masukkan 70 ke kalkulator
9
- Ketika aku tekan add
10
- Maka hasilnya harus 120 di layar
6
+ Skenario konsep: Menjumlahkan dua bilangan
7
+ Dengan aku sudah masukkan <input_1> ke kalkulator
8
+ Dan aku sudah masukkan <input_2> ke kalkulator
9
+ Ketika aku tekan <button>
10
+ Maka hasilnya harus <output> di layar
11
11
 
12
- Contoh Tambahan:
12
+ Contoh:
13
13
  | input_1 | input_2 | button | output |
14
14
  | 20 | 30 | add | 50 |
15
15
  | 2 | 5 | add | 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 'calculator'
6
6
 
@@ -11,7 +11,7 @@ end
11
11
  After do
12
12
  end
13
13
 
14
- Given "aku sudah masukkan $n ke kalkulator" do |n|
14
+ Given /aku sudah masukkan (\d+) ke kalkulator/ do |n|
15
15
  @calc.push n.to_i
16
16
  end
17
17
 
@@ -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 'calcolatrice'
6
6
 
@@ -1,8 +1,7 @@
1
- # encoding: utf-8
1
+ # encoding: Shift_JIS
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
- $KCODE = 'e'
6
5
  require 'calculator'
7
6
 
8
7
  Before do
@@ -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
 
@@ -3,13 +3,14 @@ Sąvybė: Sudėtis
3
3
  Kaip matematinis idiotas
4
4
  Aš noriu, kad man pasakytų dviejų skaičių sumą
5
5
 
6
- Scenarijus: dviejų skaičių sudėtis
7
- Duota įvedžiau 50 į skaičiuotuvą
8
- Ir aš įvedžiau 70 į skaičiuotuvą
9
- Kaipaspaudžiu "add"
10
- Tada rezultatas ekrane turi būti 120
6
+ # Someone please translate this in languages.yml please
7
+ Scenario Outline: dviejų skaičių sudėtis
8
+ Duota aš įvedžiau <įvestis_1> į skaičiuotuvą
9
+ Irįvedžiau <įvestis_2> į skaičiuotuvą
10
+ Kai paspaudžiu "<mygtukas>"
11
+ Tada rezultatas ekrane turi būti <išvestis>
11
12
 
12
- Daugiau pavyzdžių
13
+ Pavyzdžių
13
14
  | įvestis_1 | įvestis_2 | mygtukas | išvestis |
14
15
  | 20 | 30 | add | 50 |
15
16
  | 2 | 5 | add | 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 'calculator'
6
6
 
@@ -11,7 +11,7 @@ end
11
11
  After do
12
12
  end
13
13
 
14
- Given "aš įvedžiau $n į skaičiuotuvą" do |n|
14
+ Given /aš įvedžiau (\d+) į skaičiuotuvą/ do |n|
15
15
  @calc.push n.to_i
16
16
  end
17
17
 
@@ -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