cucumber 1.3.10 → 2.0.0

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 (465) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.rspec +1 -1
  4. data/.travis.yml +4 -3
  5. data/CONTRIBUTING.md +9 -0
  6. data/Gemfile +9 -2
  7. data/History.md +212 -22
  8. data/LICENSE +2 -2
  9. data/README.md +4 -4
  10. data/Rakefile +10 -1
  11. data/bin/cucumber +1 -5
  12. data/cucumber.gemspec +10 -13
  13. data/cucumber.yml +14 -24
  14. data/examples/{ramaze → i18n/el}/Rakefile +1 -1
  15. data/examples/i18n/el/features/addition.feature +17 -0
  16. data/examples/i18n/el/features/division.feature +10 -0
  17. data/examples/i18n/el/features/step_definitions/calculator_steps.rb +24 -0
  18. data/examples/i18n/el/lib/calculator.rb +14 -0
  19. data/examples/i18n/fr/Rakefile +3 -1
  20. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +2 -2
  21. data/examples/i18n/ht/Rakefile +6 -0
  22. data/examples/i18n/ht/features/adisyon.feature +17 -0
  23. data/examples/i18n/ht/features/divizyon.feature +10 -0
  24. data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +25 -0
  25. data/examples/i18n/ht/lib/kalkilatris.rb +14 -0
  26. data/examples/i18n/zh-CN/features/{step_definitons → step_definitions}/calculator_steps.rb +4 -4
  27. data/examples/tcl/features/step_definitions/fib_steps.rb +1 -1
  28. data/{legacy_features → features/docs}/api/list_step_defs_as_json.feature +14 -14
  29. data/{legacy_features → features/docs}/api/run_cli_main_with_existing_runtime.feature +5 -10
  30. data/features/{backtraces.feature → docs/cli/backtraces.feature} +2 -2
  31. data/features/docs/cli/dry_run.feature +73 -0
  32. data/features/docs/cli/exclude_files.feature +18 -0
  33. data/features/docs/cli/execute_with_tag_filter.feature +117 -0
  34. data/features/docs/cli/randomize.feature +46 -0
  35. data/features/docs/cli/require.feature +27 -0
  36. data/features/docs/cli/run_scenarios_matching_name.feature +104 -0
  37. data/features/docs/cli/run_specific_scenarios.feature +75 -0
  38. data/features/docs/cli/showing_differences.feature +43 -0
  39. data/features/docs/cli/specifying_multiple_formatters.feature +44 -0
  40. data/features/docs/cli/strict_mode.feature +64 -0
  41. data/features/{nested_steps.feature → docs/defining_steps/nested_steps.feature} +52 -6
  42. data/features/{nested_steps_i18n.feature → docs/defining_steps/nested_steps_i18n.feature} +0 -2
  43. data/features/{step_definitions.feature → docs/defining_steps/one_line_step_definitions.feature} +3 -3
  44. data/features/docs/defining_steps/printing_messages.feature +148 -0
  45. data/features/docs/defining_steps/skip_scenario.feature +62 -0
  46. data/features/docs/defining_steps/snippets.feature +56 -0
  47. data/{legacy_features → features/docs/defining_steps}/table_diffing.feature +21 -16
  48. data/features/{transforms.feature → docs/defining_steps/transforms.feature} +2 -2
  49. data/{legacy_features/exception_in_after_block.feature → features/docs/exception_in_after_hook.feature} +25 -26
  50. data/{legacy_features/exception_in_after_step_block.feature → features/docs/exception_in_after_step_hook.feature} +22 -24
  51. data/features/docs/exception_in_around_hook.feature +80 -0
  52. data/{legacy_features/exception_in_before_block.feature → features/docs/exception_in_before_hook.feature} +18 -20
  53. data/features/docs/extending_cucumber/custom_filter.feature +29 -0
  54. data/features/docs/extending_cucumber/custom_formatter.feature +94 -0
  55. data/features/docs/formatters/debug_formatter.feature +47 -0
  56. data/features/{formatter_step_file_colon_line.feature → docs/formatters/formatter_step_file_colon_line.feature} +2 -4
  57. data/features/{html_formatter.feature → docs/formatters/html_formatter.feature} +10 -14
  58. data/features/docs/formatters/json_formatter.feature +760 -0
  59. data/features/docs/formatters/junit_formatter.feature +316 -0
  60. data/features/docs/formatters/pretty_formatter.feature +73 -0
  61. data/features/{progress_formatter.feature → docs/formatters/progress_formatter.feature} +1 -1
  62. data/features/docs/formatters/rerun_formatter.feature +136 -0
  63. data/features/docs/formatters/usage_formatter.feature +102 -0
  64. data/features/docs/getting_started.feature +27 -0
  65. data/features/{background.feature → docs/gherkin/background.feature} +149 -91
  66. data/features/{doc_strings.feature → docs/gherkin/doc_strings.feature} +1 -0
  67. data/features/docs/gherkin/expand_option_for_outlines.feature +46 -0
  68. data/features/docs/gherkin/language_from_header.feature +32 -0
  69. data/features/docs/gherkin/outlines.feature +158 -0
  70. data/features/docs/gherkin/unicode_table.feature +32 -0
  71. data/features/docs/gherkin/using_descriptions.feature +88 -0
  72. data/features/docs/gherkin/using_star_notation.feature +37 -0
  73. data/{legacy_features → features/docs}/post_configuration_hook.feature +17 -18
  74. data/{legacy_features → features/docs}/profiles.feature +30 -36
  75. data/{legacy_features → features/docs}/rake_task.feature +30 -41
  76. data/features/{raketask.feature → docs/raketask.feature} +6 -13
  77. data/{legacy_features/wire_protocol_erb.feature → features/docs/wire_protocol/erb_configuration.feature} +7 -8
  78. data/features/docs/wire_protocol/handle_unexpected_response.feature +30 -0
  79. data/features/docs/wire_protocol/invoke_message.feature +216 -0
  80. data/features/docs/wire_protocol/readme.md +26 -0
  81. data/features/docs/wire_protocol/snippets_message.feature +51 -0
  82. data/features/docs/wire_protocol/step_matches_message.feature +81 -0
  83. data/{legacy_features/wire_protocol_table_diffing.feature → features/docs/wire_protocol/table_diffing.feature} +19 -12
  84. data/{legacy_features/wire_protocol_tags.feature → features/docs/wire_protocol/tags.feature} +7 -7
  85. data/{legacy_features/wire_protocol_timeouts.feature → features/docs/wire_protocol/timeouts.feature} +7 -6
  86. data/{legacy_features → features/docs}/work_in_progress.feature +52 -54
  87. data/features/docs/writing_support_code/after_hooks.feature +80 -0
  88. data/{legacy_features → features/docs/writing_support_code}/around_hooks.feature +56 -28
  89. data/features/docs/writing_support_code/before_hook.feature +65 -0
  90. data/features/docs/writing_support_code/hook_order.feature +61 -0
  91. data/features/{load_path.feature → docs/writing_support_code/load_path.feature} +3 -0
  92. data/features/docs/writing_support_code/state.feature +32 -0
  93. data/features/docs/writing_support_code/tagged_hooks.feature +95 -0
  94. data/features/lib/step_definitions/aruba_steps.rb +22 -0
  95. data/features/lib/step_definitions/cucumber_steps.rb +50 -0
  96. data/features/{step_definitions → lib/step_definitions}/iso-8859-1_steps.rb +3 -15
  97. data/features/lib/step_definitions/json_steps.rb +7 -0
  98. data/features/lib/step_definitions/junit_steps.rb +13 -0
  99. data/features/lib/step_definitions/language_steps.rb +4 -5
  100. data/features/lib/step_definitions/profile_steps.rb +15 -0
  101. data/features/lib/step_definitions/ruby_steps.rb +3 -0
  102. data/features/lib/step_definitions/wire_steps.rb +58 -0
  103. data/features/lib/support/env.rb +21 -0
  104. data/{legacy_features → features/lib}/support/fake_wire_server.rb +10 -7
  105. data/features/{support → lib/support}/feature_factory.rb +1 -1
  106. data/features/lib/support/normalise_output.rb +33 -0
  107. data/gem_tasks/cov.rake +5 -0
  108. data/gem_tasks/cucumber.rake +3 -8
  109. data/gem_tasks/rspec.rake +0 -2
  110. data/lib/cucumber/ast.rb +8 -25
  111. data/lib/cucumber/cli/configuration.rb +33 -37
  112. data/lib/cucumber/cli/main.rb +14 -27
  113. data/lib/cucumber/cli/options.rb +22 -60
  114. data/lib/cucumber/cli/profile_loader.rb +1 -1
  115. data/lib/cucumber/configuration.rb +4 -0
  116. data/lib/cucumber/constantize.rb +7 -6
  117. data/lib/cucumber/core_ext/instance_exec.rb +7 -38
  118. data/lib/cucumber/core_ext/proc.rb +1 -1
  119. data/lib/cucumber/encoding.rb +5 -0
  120. data/lib/cucumber/errors.rb +21 -10
  121. data/lib/cucumber/file_specs.rb +37 -0
  122. data/lib/cucumber/filters/activate_steps.rb +33 -0
  123. data/lib/cucumber/filters/apply_after_hooks.rb +9 -0
  124. data/lib/cucumber/filters/apply_after_step_hooks.rb +12 -0
  125. data/lib/cucumber/filters/apply_around_hooks.rb +12 -0
  126. data/lib/cucumber/filters/apply_before_hooks.rb +9 -0
  127. data/lib/cucumber/filters/gated_receiver.rb +25 -0
  128. data/lib/cucumber/filters/prepare_world.rb +45 -0
  129. data/lib/cucumber/filters/quit.rb +28 -0
  130. data/lib/cucumber/filters/randomizer.rb +40 -0
  131. data/lib/cucumber/filters/tag_limits/test_case_index.rb +31 -0
  132. data/lib/cucumber/filters/tag_limits/verifier.rb +59 -0
  133. data/lib/cucumber/filters/tag_limits.rb +45 -0
  134. data/lib/cucumber/filters.rb +9 -0
  135. data/lib/cucumber/formatter/ansicolor.rb +0 -8
  136. data/lib/cucumber/formatter/console.rb +66 -36
  137. data/lib/cucumber/formatter/debug.rb +10 -8
  138. data/lib/cucumber/formatter/fanout.rb +27 -0
  139. data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +122 -12
  140. data/lib/cucumber/formatter/html.rb +67 -18
  141. data/lib/cucumber/formatter/ignore_missing_messages.rb +20 -0
  142. data/lib/cucumber/formatter/interceptor.rb +17 -3
  143. data/lib/cucumber/formatter/json.rb +1 -1
  144. data/lib/cucumber/formatter/junit.rb +105 -5
  145. data/lib/cucumber/formatter/legacy_api/adapter.rb +1060 -0
  146. data/lib/cucumber/formatter/legacy_api/ast.rb +376 -0
  147. data/lib/cucumber/formatter/legacy_api/results.rb +51 -0
  148. data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +30 -0
  149. data/lib/cucumber/formatter/pretty.rb +16 -8
  150. data/lib/cucumber/formatter/progress.rb +10 -0
  151. data/lib/cucumber/formatter/rerun.rb +14 -71
  152. data/lib/cucumber/formatter/unicode.rb +8 -21
  153. data/lib/cucumber/formatter/usage.rb +7 -1
  154. data/lib/cucumber/hooks.rb +97 -0
  155. data/lib/cucumber/language_support/language_methods.rb +0 -54
  156. data/lib/cucumber/{ast/table.rb → multiline_argument/data_table.rb} +77 -84
  157. data/lib/cucumber/multiline_argument/doc_string.rb +10 -0
  158. data/lib/cucumber/multiline_argument.rb +74 -0
  159. data/lib/cucumber/platform.rb +21 -20
  160. data/lib/cucumber/project_initializer.rb +43 -0
  161. data/lib/cucumber/rake/task.rb +3 -54
  162. data/lib/cucumber/rb_support/rb_hook.rb +2 -2
  163. data/lib/cucumber/rb_support/rb_language.rb +4 -34
  164. data/lib/cucumber/rb_support/rb_step_definition.rb +11 -2
  165. data/lib/cucumber/rb_support/rb_transform.rb +3 -1
  166. data/lib/cucumber/rb_support/rb_world.rb +13 -20
  167. data/lib/cucumber/rb_support/snippet.rb +61 -20
  168. data/lib/cucumber/rspec/doubles.rb +9 -6
  169. data/lib/cucumber/running_test_case.rb +115 -0
  170. data/lib/cucumber/runtime/after_hooks.rb +24 -0
  171. data/lib/cucumber/runtime/before_hooks.rb +23 -0
  172. data/lib/cucumber/runtime/for_programming_languages.rb +14 -10
  173. data/lib/cucumber/runtime/step_hooks.rb +22 -0
  174. data/lib/cucumber/runtime/support_code.rb +78 -21
  175. data/lib/cucumber/runtime/user_interface.rb +4 -0
  176. data/lib/cucumber/runtime.rb +153 -98
  177. data/lib/cucumber/step_match.rb +27 -3
  178. data/lib/cucumber/term/ansicolor.rb +1 -9
  179. data/lib/cucumber/wire_support/wire_language.rb +23 -9
  180. data/lib/cucumber/wire_support/wire_packet.rb +1 -1
  181. data/lib/cucumber/wire_support/wire_protocol/requests.rb +13 -5
  182. data/lib/cucumber/wire_support/wire_step_definition.rb +1 -8
  183. data/lib/cucumber.rb +8 -6
  184. data/spec/cucumber/cli/configuration_spec.rb +165 -134
  185. data/spec/cucumber/cli/main_spec.rb +36 -99
  186. data/spec/cucumber/cli/options_spec.rb +238 -272
  187. data/spec/cucumber/cli/profile_loader_spec.rb +18 -7
  188. data/spec/cucumber/configuration_spec.rb +3 -3
  189. data/spec/cucumber/constantize_spec.rb +2 -1
  190. data/spec/cucumber/core_ext/instance_exec_spec.rb +4 -0
  191. data/spec/cucumber/core_ext/proc_spec.rb +32 -43
  192. data/spec/cucumber/file_specs_spec.rb +60 -0
  193. data/spec/cucumber/filters/activate_steps_spec.rb +57 -0
  194. data/spec/cucumber/filters/gated_receiver_spec.rb +47 -0
  195. data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +38 -0
  196. data/spec/cucumber/filters/tag_limits/verifier_spec.rb +57 -0
  197. data/spec/cucumber/filters/tag_limits_spec.rb +59 -0
  198. data/spec/cucumber/formatter/ansicolor_spec.rb +11 -10
  199. data/spec/cucumber/formatter/debug_spec.rb +64 -0
  200. data/spec/cucumber/formatter/duration_spec.rb +6 -6
  201. data/spec/cucumber/formatter/html_spec.rb +233 -39
  202. data/spec/cucumber/formatter/interceptor_spec.rb +38 -31
  203. data/spec/cucumber/formatter/junit_spec.rb +213 -151
  204. data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +2090 -0
  205. data/spec/cucumber/formatter/pretty_spec.rb +481 -49
  206. data/spec/cucumber/formatter/progress_spec.rb +63 -16
  207. data/spec/cucumber/formatter/rerun_spec.rb +107 -0
  208. data/spec/cucumber/formatter/spec_helper.rb +32 -17
  209. data/spec/cucumber/hooks_spec.rb +30 -0
  210. data/spec/cucumber/{ast/table_spec.rb → multiline_argument/data_table_spec.rb} +128 -208
  211. data/spec/cucumber/project_initializer_spec.rb +87 -0
  212. data/spec/cucumber/rake/forked_spec.rb +13 -22
  213. data/spec/cucumber/rb_support/rb_language_spec.rb +78 -69
  214. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +90 -44
  215. data/spec/cucumber/rb_support/rb_transform_spec.rb +24 -3
  216. data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +6 -4
  217. data/spec/cucumber/rb_support/snippet_spec.rb +47 -38
  218. data/spec/cucumber/running_test_case_spec.rb +83 -0
  219. data/spec/cucumber/runtime/for_programming_languages_spec.rb +18 -13
  220. data/spec/cucumber/runtime/support_code_spec.rb +29 -29
  221. data/spec/cucumber/runtime_spec.rb +35 -34
  222. data/spec/cucumber/step_match_spec.rb +30 -20
  223. data/spec/cucumber/wire_support/configuration_spec.rb +8 -5
  224. data/spec/cucumber/wire_support/connection_spec.rb +12 -8
  225. data/spec/cucumber/wire_support/wire_exception_spec.rb +14 -8
  226. data/spec/cucumber/wire_support/wire_language_spec.rb +8 -9
  227. data/spec/cucumber/wire_support/wire_packet_spec.rb +17 -13
  228. data/spec/cucumber/world/pending_spec.rb +36 -36
  229. data/spec/simplecov_setup.rb +18 -0
  230. data/spec/spec_helper.rb +6 -13
  231. metadata +348 -350
  232. data/.gitattributes +0 -1
  233. data/.ruby-version +0 -1
  234. data/examples/python/README.textile +0 -8
  235. data/examples/python/Rakefile +0 -4
  236. data/examples/python/features/fibonacci.feature +0 -19
  237. data/examples/python/features/step_definitions/fib_steps.py +0 -11
  238. data/examples/python/lib/fib.py +0 -7
  239. data/examples/ramaze/README.textile +0 -7
  240. data/examples/ramaze/app.rb +0 -21
  241. data/examples/ramaze/features/add.feature +0 -11
  242. data/examples/ramaze/features/step_definitions/add_steps.rb +0 -15
  243. data/examples/ramaze/features/support/env.rb +0 -32
  244. data/examples/ramaze/layout/default.html.erb +0 -8
  245. data/examples/ramaze/view/index.html.erb +0 -5
  246. data/examples/ruby2python/README.textile +0 -8
  247. data/examples/ruby2python/Rakefile +0 -4
  248. data/examples/ruby2python/features/fibonacci.feature +0 -19
  249. data/examples/ruby2python/features/step_definitions/fib_steps.rb +0 -7
  250. data/examples/ruby2python/features/support/env.rb +0 -21
  251. data/examples/ruby2python/lib/fib.py +0 -7
  252. data/examples/v8/Rakefile +0 -6
  253. data/examples/v8/features/fibonacci.feature +0 -43
  254. data/examples/v8/features/step_definitions/fib_steps.js +0 -49
  255. data/examples/v8/features/support/env.js +0 -14
  256. data/examples/v8/lib/fibonacci.js +0 -19
  257. data/features/.cucumber/stepdefs.json +0 -627
  258. data/features/assertions.feature +0 -73
  259. data/features/autoformat_profile_output.feature +0 -23
  260. data/features/before_hook.feature +0 -43
  261. data/features/bootstrap.feature +0 -27
  262. data/features/custom_formatter.feature +0 -41
  263. data/features/drb_server_integration.feature +0 -63
  264. data/features/execute_with_tag_filter.feature +0 -63
  265. data/features/formatter_callbacks.feature +0 -189
  266. data/features/json_formatter.feature +0 -338
  267. data/features/parsing.feature +0 -18
  268. data/features/pretty_formatter.feature +0 -31
  269. data/features/rerun_formatter.feature +0 -35
  270. data/features/run_specific_scenarios.feature +0 -47
  271. data/features/stats_formatters.feature +0 -73
  272. data/features/step_definitions/cucumber-features/cucumber_ruby_mappings.rb +0 -197
  273. data/features/step_definitions/cucumber_steps.rb +0 -55
  274. data/features/step_definitions/drb_steps.rb +0 -3
  275. data/features/support/env.rb +0 -57
  276. data/features/tagged_hooks.feature +0 -59
  277. data/fixtures/json/features/background.feature +0 -7
  278. data/fixtures/json/features/embed.feature +0 -4
  279. data/fixtures/json/features/one_passing_one_failing.feature +0 -11
  280. data/fixtures/json/features/step_definitions/steps.rb +0 -32
  281. data/fixtures/json/features/tables.feature +0 -13
  282. data/fixtures/junit/features/one_passing_one_failing.feature +0 -8
  283. data/fixtures/junit/features/pending.feature +0 -7
  284. data/fixtures/junit/features/scenario_outline.feature +0 -9
  285. data/fixtures/junit/features/some_subdirectory/one_passing_one_failing.feature +0 -8
  286. data/fixtures/junit/features/step_definitions/steps.rb +0 -11
  287. data/fixtures/self_test/README.textile +0 -6
  288. data/fixtures/self_test/Rakefile +0 -6
  289. data/fixtures/self_test/features/call_undefined_step_from_step_def.feature +0 -7
  290. data/fixtures/self_test/features/failing_expectation.feature +0 -4
  291. data/fixtures/self_test/features/lots_of_undefined.feature +0 -8
  292. data/fixtures/self_test/features/multiline_name.feature +0 -27
  293. data/fixtures/self_test/features/outline_sample.feature +0 -15
  294. data/fixtures/self_test/features/sample.feature +0 -21
  295. data/fixtures/self_test/features/search_sample.feature +0 -32
  296. data/fixtures/self_test/features/step_definitions/sample_steps.rb +0 -84
  297. data/fixtures/self_test/features/support/bubble_256x256.png +0 -0
  298. data/fixtures/self_test/features/support/env.rb +0 -26
  299. data/fixtures/self_test/features/tags_sample.feature +0 -17
  300. data/fixtures/self_test/features/tons_of_cukes.feature +0 -52
  301. data/fixtures/self_test/features/undefined_multiline_args.feature +0 -12
  302. data/fixtures/self_test/list-of-features.txt +0 -1
  303. data/fixtures/steps_library/features/step_definitions/steps_lib1.rb +0 -8
  304. data/fixtures/steps_library/features/step_definitions/steps_lib2.rb +0 -8
  305. data/fixtures/tickets/Rakefile +0 -20
  306. data/fixtures/tickets/features/172.feature +0 -28
  307. data/fixtures/tickets/features/177/1.feature +0 -28
  308. data/fixtures/tickets/features/177/2.feature +0 -20
  309. data/fixtures/tickets/features/177/3.feature +0 -18
  310. data/fixtures/tickets/features/180.feature +0 -7
  311. data/fixtures/tickets/features/229/tagged_hooks.feature +0 -8
  312. data/fixtures/tickets/features/229/tagged_hooks.rb +0 -14
  313. data/fixtures/tickets/features/236.feature +0 -13
  314. data/fixtures/tickets/features/241.feature +0 -12
  315. data/fixtures/tickets/features/246.feature +0 -4
  316. data/fixtures/tickets/features/248.feature +0 -11
  317. data/fixtures/tickets/features/270/back.feature +0 -14
  318. data/fixtures/tickets/features/270/back.steps.rb +0 -14
  319. data/fixtures/tickets/features/272/hooks.feature +0 -26
  320. data/fixtures/tickets/features/272/hooks_steps.rb +0 -53
  321. data/fixtures/tickets/features/279/py_string_indent.feature +0 -25
  322. data/fixtures/tickets/features/279/py_string_indent.steps.rb +0 -12
  323. data/fixtures/tickets/features/279/wrong.feature_ +0 -11
  324. data/fixtures/tickets/features/301/filter_background_tagged_hooks.feature +0 -6
  325. data/fixtures/tickets/features/301/filter_background_tagged_hooks_steps.rb +0 -12
  326. data/fixtures/tickets/features/306/only_background.feature +0 -4
  327. data/fixtures/tickets/features/around_timeout.feature +0 -6
  328. data/fixtures/tickets/features/gherkin_67.feature +0 -12
  329. data/fixtures/tickets/features/gherkin_68.feature +0 -4
  330. data/fixtures/tickets/features/half_manual.feature +0 -11
  331. data/fixtures/tickets/features/lib/eatting_machine.rb +0 -18
  332. data/fixtures/tickets/features/lib/pantry.rb +0 -20
  333. data/fixtures/tickets/features/scenario_outline.feature +0 -95
  334. data/fixtures/tickets/features/step_definitons/246_steps.rb +0 -3
  335. data/fixtures/tickets/features/step_definitons/248_steps.rb +0 -15
  336. data/fixtures/tickets/features/step_definitons/around_timeout_steps.rb +0 -9
  337. data/fixtures/tickets/features/step_definitons/half_manual_steps.rb +0 -11
  338. data/fixtures/tickets/features/step_definitons/scenario_outline_steps.rb +0 -42
  339. data/fixtures/tickets/features/step_definitons/tickets_steps.rb +0 -88
  340. data/fixtures/tickets/features/table_diffing.feature +0 -13
  341. data/fixtures/tickets/features/tickets.feature +0 -28
  342. data/fixtures/tickets/features.html +0 -138
  343. data/gem_tasks/yard/default/layout/html/bubble_32x32.png +0 -0
  344. data/gem_tasks/yard/default/layout/html/footer.erb +0 -5
  345. data/gem_tasks/yard/default/layout/html/index.erb +0 -1
  346. data/gem_tasks/yard/default/layout/html/layout.erb +0 -25
  347. data/gem_tasks/yard/default/layout/html/logo.erb +0 -1
  348. data/gem_tasks/yard/default/layout/html/setup.rb +0 -4
  349. data/gem_tasks/yard.rake +0 -40
  350. data/legacy_features/README.md +0 -14
  351. data/legacy_features/announce.feature +0 -152
  352. data/legacy_features/bug_371.feature +0 -32
  353. data/legacy_features/bug_464.feature +0 -16
  354. data/legacy_features/bug_475.feature +0 -42
  355. data/legacy_features/bug_585_tab_indentation.feature +0 -22
  356. data/legacy_features/bug_600.feature +0 -73
  357. data/legacy_features/cucumber_cli.feature +0 -584
  358. data/legacy_features/cucumber_cli_outlines.feature +0 -117
  359. data/legacy_features/default_snippets.feature +0 -43
  360. data/legacy_features/diffing.feature +0 -25
  361. data/legacy_features/drb_server_integration.feature +0 -174
  362. data/legacy_features/exclude_files.feature +0 -20
  363. data/legacy_features/expand.feature +0 -60
  364. data/legacy_features/junit_formatter.feature +0 -214
  365. data/legacy_features/language_from_header.feature +0 -30
  366. data/legacy_features/listener_debugger_formatter.feature +0 -42
  367. data/legacy_features/multiline_names.feature +0 -44
  368. data/legacy_features/report_called_undefined_steps.feature +0 -35
  369. data/legacy_features/rerun_formatter.feature +0 -52
  370. data/legacy_features/simplest.feature +0 -11
  371. data/legacy_features/snippet.feature +0 -23
  372. data/legacy_features/snippets_when_using_star_keyword.feature +0 -38
  373. data/legacy_features/step_definitions/cucumber_steps.rb +0 -179
  374. data/legacy_features/step_definitions/extra_steps.rb +0 -2
  375. data/legacy_features/step_definitions/simplest_steps.rb +0 -3
  376. data/legacy_features/step_definitions/wire_steps.rb +0 -34
  377. data/legacy_features/support/env.rb +0 -161
  378. data/legacy_features/support/env.rb.simplest +0 -7
  379. data/legacy_features/table_mapping.feature +0 -34
  380. data/legacy_features/transform.feature +0 -245
  381. data/legacy_features/unicode_table.feature +0 -35
  382. data/legacy_features/wire_protocol.feature +0 -332
  383. data/lib/README.rdoc +0 -12
  384. data/lib/cucumber/ast/background.rb +0 -116
  385. data/lib/cucumber/ast/comment.rb +0 -31
  386. data/lib/cucumber/ast/doc_string.rb +0 -61
  387. data/lib/cucumber/ast/empty_background.rb +0 -33
  388. data/lib/cucumber/ast/examples.rb +0 -49
  389. data/lib/cucumber/ast/feature.rb +0 -99
  390. data/lib/cucumber/ast/features.rb +0 -38
  391. data/lib/cucumber/ast/has_steps.rb +0 -74
  392. data/lib/cucumber/ast/location.rb +0 -41
  393. data/lib/cucumber/ast/multiline_argument.rb +0 -30
  394. data/lib/cucumber/ast/names.rb +0 -13
  395. data/lib/cucumber/ast/outline_table.rb +0 -194
  396. data/lib/cucumber/ast/scenario.rb +0 -103
  397. data/lib/cucumber/ast/scenario_outline.rb +0 -146
  398. data/lib/cucumber/ast/step.rb +0 -122
  399. data/lib/cucumber/ast/step_collection.rb +0 -92
  400. data/lib/cucumber/ast/step_invocation.rb +0 -196
  401. data/lib/cucumber/ast/tags.rb +0 -28
  402. data/lib/cucumber/ast/tree_walker.rb +0 -191
  403. data/lib/cucumber/ast/visitor.rb +0 -11
  404. data/lib/cucumber/broadcaster.rb +0 -13
  405. data/lib/cucumber/cli/drb_client.rb +0 -43
  406. data/lib/cucumber/feature_file.rb +0 -94
  407. data/lib/cucumber/formatter/ordered_xml_markup.rb +0 -24
  408. data/lib/cucumber/js_support/js_dsl.js +0 -57
  409. data/lib/cucumber/js_support/js_language.rb +0 -185
  410. data/lib/cucumber/js_support/js_snippets.rb +0 -27
  411. data/lib/cucumber/parser/gherkin_builder.rb +0 -284
  412. data/lib/cucumber/parser.rb +0 -2
  413. data/lib/cucumber/py_support/py_dsl.py +0 -10
  414. data/lib/cucumber/py_support/py_language.py +0 -10
  415. data/lib/cucumber/py_support/py_language.rb +0 -80
  416. data/lib/cucumber/runtime/features_loader.rb +0 -62
  417. data/lib/cucumber/runtime/results.rb +0 -64
  418. data/lib/cucumber/step_mother.rb +0 -10
  419. data/spec/cucumber/ast/background_spec.rb +0 -122
  420. data/spec/cucumber/ast/doc_string_spec.rb +0 -40
  421. data/spec/cucumber/ast/feature_factory.rb +0 -72
  422. data/spec/cucumber/ast/feature_spec.rb +0 -63
  423. data/spec/cucumber/ast/features_spec.rb +0 -51
  424. data/spec/cucumber/ast/outline_table_spec.rb +0 -21
  425. data/spec/cucumber/ast/scenario_outline_spec.rb +0 -74
  426. data/spec/cucumber/ast/step_spec.rb +0 -68
  427. data/spec/cucumber/ast/tree_walker_spec.rb +0 -19
  428. data/spec/cucumber/broadcaster_spec.rb +0 -15
  429. data/spec/cucumber/cli/drb_client_spec.rb +0 -76
  430. data/spec/cucumber/rake/rcov_spec.rb +0 -71
  431. data/spec/cucumber/runtime/results_spec.rb +0 -81
  432. data/spec/cucumber/wire_support/wire_step_definition_spec.rb +0 -20
  433. /data/examples/i18n/ar/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  434. /data/examples/i18n/bg/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  435. /data/examples/i18n/ca/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  436. /data/examples/i18n/cs/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  437. /data/examples/i18n/da/features/{step_definitons → step_definitions}/lommeregner_steps.rb +0 -0
  438. /data/examples/i18n/de/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  439. /data/examples/i18n/en/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  440. /data/examples/i18n/eo/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  441. /data/examples/i18n/es/features/{step_definitons → step_definitions}/calculador_steps.rb +0 -0
  442. /data/examples/i18n/fi/features/{step_definitons → step_definitions}/laskin_steps.rb +0 -0
  443. /data/examples/i18n/he/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  444. /data/examples/i18n/hi/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  445. /data/examples/i18n/hu/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  446. /data/examples/i18n/id/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  447. /data/examples/i18n/it/features/{step_definitons → step_definitions}/calcolatrice_steps.rb +0 -0
  448. /data/examples/i18n/ja/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  449. /data/examples/i18n/ko/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  450. /data/examples/i18n/lt/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  451. /data/examples/i18n/lv/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  452. /data/examples/i18n/no/features/{step_definitons → step_definitions}/kalkulator_steps.rb +0 -0
  453. /data/examples/i18n/pl/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  454. /data/examples/i18n/ro/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  455. /data/examples/i18n/ru/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  456. /data/examples/i18n/sk/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  457. /data/examples/i18n/sr-Cyrl/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  458. /data/examples/i18n/sr-Latn/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  459. /data/examples/i18n/sv/features/{step_definitons → step_definitions}/kalkulator_steps.rb +0 -0
  460. /data/examples/i18n/tr/features/{step_definitons → step_definitions}/hesap_makinesi_adimlari.rb +0 -0
  461. /data/examples/i18n/uk/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  462. /data/examples/i18n/uz/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  463. /data/examples/i18n/zh-TW/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  464. /data/features/{nested_steps_with_second_arg.feature → docs/defining_steps/nested_steps_with_second_arg.feature} +0 -0
  465. /data/features/{iso-8859-1.feature → docs/iso-8859-1.feature} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 12fc75c41ddbeef08559a5f9ae3bc596ff81ada7
4
- data.tar.gz: 390d8d5a52b0ccd221eba8dadeecf90e360384cb
3
+ metadata.gz: f689c6406ffc1e57288a28a0f95964ee7e9cd8a9
4
+ data.tar.gz: bf78142a081688825cc6df788f4ac8ce53157f8a
5
5
  SHA512:
6
- metadata.gz: d6a8830d05fd153121c226010f29ca9693c6c4afbcd6e1784f95ec23777341ac390a5782ac1e2aee610e01cbb8c2986afaf89bdce393e5c2d224f531431752bf
7
- data.tar.gz: 597a743d954be940488a47dc614e489d2a84fc5ec714ab7df00b5e56d9ed5d57a1bff97cec0f2e130d75a2d433beee8343d5d82751a6295132709ea2e04885a5
6
+ metadata.gz: 1ea1190a5e0b95e005c51c5e863f6013cb48ece1d38b8517417e34fa3776712bf6847dd610dbe690f4878b2b0b3e2334650254fb5a47089718ea62b4667ce7bf
7
+ data.tar.gz: 75e0e18e55d05db858de5b290986d4c7d304670c5c9061ec3dbd500621ebfa89b45d562d0a4ed74273807339a7c4e6a078ff40a72dcf8bd3fd39f7033de34cf4
data/.coveralls.yml ADDED
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/.rspec CHANGED
@@ -1 +1 @@
1
- --color --backtrace
1
+ --color
data/.travis.yml CHANGED
@@ -1,8 +1,9 @@
1
1
  rvm:
2
- - 2.0.0
2
+ - 2.2
3
+ - 2.1
4
+ - 2.0
3
5
  - 1.9.3
4
- - 1.8.7
5
- - jruby
6
+ - jruby-1.7.12
6
7
 
7
8
  # whitelist
8
9
  branches:
data/CONTRIBUTING.md CHANGED
@@ -15,6 +15,12 @@ We appreciate that. But before you do, please learn our basic rules:
15
15
 
16
16
  This document is a guide for those maintaining Cucumber, and others who would like to submit patches.
17
17
 
18
+ ## WARNING
19
+
20
+ The master branch is the in-development branch for version 2.0 of Cucumber. This code is work in progress and some way off
21
+ release. If you have a minor change that you'd like released soon, we suggest submitting a pull request against the
22
+ `1.3.x-bugfix` branch.
23
+
18
24
  ## Note on Patches/Pull Requests
19
25
 
20
26
  * Fork the project. Make a branch for your change.
@@ -31,6 +37,8 @@ This document is a guide for those maintaining Cucumber, and others who would li
31
37
  bundle install
32
38
  bundle exec rake
33
39
 
40
+ To get code coverage results, run `bundle exec rake cov`
41
+
34
42
  ## Release Process
35
43
 
36
44
  * Bump the version number in `lib/cucumber/platform.rb`.
@@ -53,6 +61,7 @@ Current release managers:
53
61
  * Matt Wynne
54
62
  * Aslak Hellesøy
55
63
  * Oleg Sukhodolsky
64
+ * Steve Tooke
56
65
 
57
66
  To grant release karma, issue the following command:
58
67
 
data/Gemfile CHANGED
@@ -1,4 +1,11 @@
1
+ gem "cucumber-pro", "0.0.13", :group => :test
1
2
  source "https://rubygems.org"
2
3
  gemspec
3
-
4
- # gem 'gherkin', :path => '../gherkin'
4
+ unless ENV['CUCUMBER_USE_RELEASED_CORE']
5
+ core_path = File.expand_path("../../cucumber-ruby-core", __FILE__)
6
+ if File.exist?(core_path) && !ENV['CUCUMBER_USE_GIT_CORE']
7
+ gem 'cucumber-core', :path => core_path
8
+ else
9
+ gem 'cucumber-core', :git => "git://github.com/cucumber/cucumber-ruby-core.git"
10
+ end
11
+ end
data/History.md CHANGED
@@ -1,10 +1,195 @@
1
- ##
2
- [v1.3.10](https://github.com/cucumber/cucumber/compare/v1.3.9...v1.3.10)
1
+ ## [In Git](https://github.com/cucumber/cucumber/compare/v2.0.0...master)
2
+
3
+ ## [v2.0.0](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.5...v2.0.0)
4
+
5
+ ### New Features
6
+
7
+ * Support ruby 2.2 in master (@mattwynne, @tooky)
8
+ * Tell users to use the `--init` command ([818](https://github.com/cucumber/cucumber/pull/818) @olleolleolle)
9
+
10
+ ### Bugfixes
11
+
12
+ * Ensure After Hooks execute in reverse order (@tooky)
13
+
14
+ ## [v2.0.0.rc5](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.4...v2.0.0.rc.5)
15
+
16
+ ### New Features
17
+
18
+ * Add `--init` command ([699](https://github.com/cucumber/cucumber/pull/699) @LGordon2)
19
+
20
+ ## Bugfixes
21
+
22
+ * Let the JUnitFormatter handle Scenario Outlines with the --expand option ([124](https://github.com/cucumber/cucumber/issues/124), [808](https://github.com/cucumber/cucumber/pull/808) @brasmusson, @richarda)
23
+ * Suggested regexes result in ambigous matches ([663](https://github.com/cucumber/cucumber/pull/663) @rwz)
24
+ * Pass when using both the --dry-run and the --strict options, unless there are undefined steps ([810](https://github.com/cucumber/cucumber/issues/810) @brasmusson)
25
+ * Handle step output correctly for Scenario Outlines with the --expand option ([806](https://github.com/cucumber/cucumber/issues/806) @brasmusson)
26
+ * Fix GBK and UTF-8 (Encoding::CompatibilityError) ([693](https://github.com/cucumber/cucumber/issues/693) @mattwynne)
27
+ * Make the scenario object available in hooks compatible with v1.3.x ([814](https://github.com/cucumber/cucumber/pull/814) @brasmusson)
28
+ * JUnit expand option ([808](https://github.com/cucumber/cucumber/pull/808) @richarda @brasmusson)
29
+ * Around hooks not executing in correct world context ([807](https://github.com/cucumber/cucumber/pull/807) @tooky)
30
+
31
+ ## [v2.0.0.rc.4](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.3...2.0.0.rc.4)
32
+
33
+ ### Features
34
+
35
+ * [Add custom filters from Ruby configuration code](https://github.com/cucumber/cucumber/blob/master/features/docs/extending_cucumber/custom_filter.feature) (@mattwynne)
36
+
37
+ ### Bugfixes
38
+
39
+ * Fix missing `require Forwardable` (@tooky)
40
+ * Fix snippet suggestions ([765](https://github.com/cucumber/cucumber/pull/765) @richarda), also with i18n languages (@brasmusson)
41
+ * Fix transformation of regex with lookahead/lookbehind ([796](https://github.com/cucumber/cucumber/pull/796) @bolshakov)
42
+ * Sort scenarios by location ([789](https://github.com/cucumber/cucumber/issues/789) @mattwynne)
43
+ * Remove keyword from name property of test case object yielded to hooks ([768](https://github.com/cucumber/cucumber/issues/768) @richarda, @akostadinov)
44
+
45
+ ## [v2.0.0.rc.3](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.2...v2.0.0.rc.3)
46
+
47
+ ### Bugfixes
48
+
49
+ * MultilineArgument::DataTable#diff will correctly compare to an Array (@tooky)
50
+
51
+ ## [v2.0.0.rc.2](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.1...v2.0.0.rc.2)
52
+
53
+ ### Bugfixes
54
+
55
+ * World#table no longer creates invalid table objects when using an Array (@tooky, @mattwynne)
56
+
57
+ ## [v2.0.0.rc.1](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.5...v2.0.0.rc.1)
58
+
59
+ ### Removed Features
60
+
61
+ * Removed support for IronRuby (@tooky @mattwynne)
62
+
63
+ ### New Features
64
+
65
+ * Let the HTML formatter store the relative path to files in the report ([697](https://github.com/cucumber/cucumber/pull/697) @idstein, @brasmusson)
66
+ * Allow cucumber.yml to parse % erb code lines ([755](https://github.com/cucumber/cucumber/pull/755) @snowe2010)
67
+ * Give each step definition a unique copy of argument objects ([760](https://github.com/cucumber/cucumber/pull/760) @tooky)
68
+
69
+ ### Bugfixes
70
+
71
+ * Add old Scenario#skip_invoke! method back (@mattwynne)
72
+ * No links to lines in backtrace under TextMate ([548](https://github.com/cucumber/cucumber/pull/548) @bilus)
73
+ * Using file:line CLI to select scenarios was running same scenario multiple times ([786](https://github.com/cucumber/cucumber/pull/786) @jdks)
74
+ * Allow spaces in filenames for rerun formatter ([793](https://github.com/cucumber/cucumber/pull/793) @callahat)
75
+
76
+ ## [v2.0.0.beta.5](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.4...v2.0.0.beta.5)
77
+
78
+ * Depend on the correct version of core (@tooky)
79
+
80
+ ## [v2.0.0.beta.4](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.3...v2.0.0.beta.4)
81
+ ### New Features
82
+
83
+ * Support both new and legacy formatter APIs simultaneously (@mattwynne and @tooky)
84
+
85
+ ### Bugfixes
86
+
87
+ * Localize the Scenario keyword with the --expand option ([766](https://github.com/cucumber/cucumber/pull/766) @brasmusson)
88
+ * Handle hook output appropriately in the HTML formatter ([746](https://github.com/cucumber/cucumber/pull/746), [731](https://github.com/cucumber/cucumber/issues/731), [298](https://github.com/cucumber/cucumber/pull/298) @brasmusson)
89
+ * Handle hook output appropriately in the Pretty formatter ([738](https://github.com/cucumber/cucumber/pull/738) @brasmusson)
90
+
91
+ ### Internal changes
92
+
93
+ * Re-write rerun formatter against new formatter API
94
+
95
+ ## [v2.0.0.beta.3](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.2...v2.0.0.beta.3)
96
+
97
+ ### Removed Features
98
+
99
+ * The `--dotcucumber` option is no longer supported and `stepdefs.json` is no longer written. (Aslak Hellesøy)
100
+
101
+ ### New Features
102
+
103
+ * Include both outline step and expanded step in error backtrace ([730](https://github.com/cucumber/cucumber/pull/730) @brasmusson)
104
+ * Add TestCase#outline? for conditionals in Before / After hooks ([728](https://github.com/cucumber/cucumber/pull/728) [Erran Carey](https://github.com/erran))
105
+ * Support embedding images directly in HTML and JSON reports ([696](https://github.com/cucumber/cucumber/pull/696),[695](https://github.com/cucumber/cucumber/pull/695/files) @brasmusson)
106
+
107
+ ### Bugfixes
108
+
109
+ * Pass hook output to the formatters appropriately ([732](https://github.com/cucumber/cucumber/pull/732) @brasmusson)
110
+ * Added tests for, and re-added behaviour to support Scenario#failed? in hooks (Matt Wynne)
111
+ * Rescuing ArgumentError in HTML formatter so Cucumber won't stop tests due bad encoding ([690](https://github.com/cucumber/cucumber/pull/690) @awls99)
112
+ * Add back support for the DataTable API ([729](https://github.com/cucumber/cucumber/pull/729) @mattwynne and @tooky)
113
+ * Fix Windows support loading files properly ([739](https://github.com/cucumber/cucumber/issues/739) @os97673)
114
+
115
+ ## [v2.0.0.beta.2](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.1...v2.0.0.beta.2)
116
+
117
+ ### Bugfixes
118
+
119
+ * Better reporting of exceptions in Before / After hooks ([723](https://github.com/cucumber/cucumber/pull/723) @mattwynne)
120
+ * Add `#source_tag_names` method to `TestCase` object passed to hooks (@mattwynne)
121
+
122
+ ## [v2.0.0.beta.1 ](https://github.com/cucumber/cucumber/compare/v1.3.8...v2.0.0.beta.1)
123
+
124
+ Version 2.0 contains a major internal redesign, extracting the core logic of
125
+ parsing and executing tests into a [separate gem](https://github.com/cucumber/cucumber-ruby-core).
126
+
127
+ Although we've tried to keep the API and behaviour consistent through this change,
128
+ there are bound to be differences our tests haven't picked up. We're still working through
129
+ a backlog of scenarios that are not yet passing. Run `cucumber -p wip` to see them
130
+ all.
131
+
132
+ ### New features
133
+
134
+ * Better snippet comment ([579](https://github.com/cucumber/cucumber/pull/579) Jeff Nyman)
135
+ * Random scenario ordering with `--order random`
136
+ * Embed plain text ([712](https://github.com/cucumber/cucumber/pull/712) @bingwei)
137
+ * Support the cucumber-reporting tools also when using Scenario Outlines ([700](https://github.com/cucumber/cucumber/pull/700) @brasmusson)
138
+
139
+ ### Features removed
140
+
141
+ * Removed deprecated StepMother and Ast::Visitor classes (Matt Wynne)
142
+ * Remove support for i18n nested step methods (Matt Wynne)
143
+ * Remove experimental .js and .py support (Matt Wynne)
144
+ * Remove Ruby 1.8.7 support, including RCov
145
+ * Spork support
146
+
147
+ ### API Changes
148
+
149
+ * String arguments passed to step definitions are immutable (frozen). This is
150
+ to prevent garbled output in case an argument gets modified. If you need to
151
+ modify an argument, `dup` it first. (Aslak Hellesøy)
152
+
153
+ ### Minor changes
154
+
155
+ * Greek examples added ([497](https://github.com/cucumber/cucumber/issues/497) @rousisk)
156
+
157
+ ## [v1.3.16](https://github.com/cucumber/cucumber/compare/v1.3.15...v1.3.16)
158
+
159
+ * Pass output from the step definition on to the JSON formatter ([701](https://github.com/cucumber/cucumber/pull/701) @brasmusson)
160
+ * Add RSpec 3 test double support ([689](https://github.com/cucumber/cucumber/pull/689) @cyphactor)
161
+ * Fix bug with rerun formatter and `--expand` option ([710](https://github.com/cucumber/cucumber/pull/710) @brasmusson)
162
+
163
+ ## [v1.3.15](https://github.com/cucumber/cucumber/compare/v1.3.14...v1.3.15)
164
+
165
+ * Fixed intermittent ConcurrencyError seen in JRuby
166
+ ([671](https://github.com/cucumber/cucumber/issues/670) @cbusbey)
167
+
168
+ ## [v1.3.14](https://github.com/cucumber/cucumber/compare/v1.3.13...v1.3.14)
169
+
170
+ * Rerun formatter includes all scenarios when the background fails
171
+ ([660](https://github.com/cucumber/cucumber/issues/660),
172
+ [661](https://github.com/cucumber/cucumber/pull/661) @brasmusson)
173
+
174
+ ## [v1.3.13](https://github.com/cucumber/cucumber/compare/v1.3.12...v1.3.13)
175
+
176
+ * Rerun formatter includes all scenarios when the background fails
177
+ ([654](https://github.com/cucumber/cucumber/pull/654) @brasmusson)
178
+
179
+ ## [v1.3.12](https://github.com/cucumber/cucumber/compare/v1.3.11...v1.3.12)
180
+
181
+ * Use MultiTest to handle assertions library selection (@tooky)
182
+ * Adds full support for rails 4.1 / Minitest
183
+
184
+ ## [v1.3.11](https://github.com/cucumber/cucumber/compare/v1.3.10...v1.3.11)
185
+
186
+ * Add Ruby 2.1 Support ([#644](https://github.com/cucumber/cucumber/pull/644) @tooky, @chrismdp)
187
+
188
+ ## [v1.3.10](https://github.com/cucumber/cucumber/compare/v1.3.9...v1.3.10)
3
189
 
4
190
  * Fixed "nil:NilClass (NoMethodError)" problem for auto-formatting ([599](https://github.com/cucumber/cucumber/pull/599) @jmcaffee)
5
191
 
6
- ##
7
- [v1.3.9](https://github.com/cucumber/cucumber/compare/v1.3.8...v1.3.9)
192
+ ## [v1.3.9](https://github.com/cucumber/cucumber/compare/v1.3.8...v1.3.9)
8
193
 
9
194
  * Disable minitest autorun after loading support files (@tooky)
10
195
  * Add `Ast::Table#map_column` for non-mutating column mapping (@tooky)
@@ -49,7 +234,7 @@
49
234
 
50
235
  ## [1.3.3](https://github.com/cucumber/cucumber/compare/v1.3.2...v1.3.3)
51
236
 
52
- * Fix compatability with MiniTest 5.0 ([#456](https://github.com/.cucumber/cucumber/issues/456) Matt Wynne)
237
+ * Fix compatability with MiniTest 5.0 ([#456](https://github.com/cucumber/cucumber/issues/456) Matt Wynne)
53
238
  * Warn that Spork support is broken (Steve Tooke)
54
239
  * Fix error with Ruby 2.0.0 and `Cucumber::RUBY_1_8_7`
55
240
  ([#492](https://github.com/cucumber/cucumber/issues/492) Matt Wynne)
@@ -479,7 +664,7 @@ Bugfix release which most importantly fixes an issue with the gem's gemspec.
479
664
  * JSON formatters (json and json_pretty). (Jari Bakken)
480
665
 
481
666
  ### Removed features
482
- * The --no-diff option is removed. If you're using RSpec you will *always* get diffs. (Aslak Hellesøy)
667
+ * The --no-diff option is removed. If you're using RSpec you will*always* get diffs. (Aslak Hellesøy)
483
668
 
484
669
  ### Changed Features
485
670
  * Upgraded to be compatible with rspec 2.0.0.beta.10 (Aslak Hellesøy)
@@ -684,7 +869,7 @@ Please see History.txt in cucumber-rails for details about what's new on the Rai
684
869
  * "Given" in Dutch is now aliased to "Gegeven" or "Stel". (Iain Hecker)
685
870
  * New --i18n option to list keywords in various languages. (Aslak Hellesøy)
686
871
  * Added a Tcl example using Sam Stephenson's ruby-tcl (Aslak Hellesøy)
687
- * Added * as a synonym for Given/When/Then/And/But (for all i18n languages). (#462 Aslak Hellesøy)
872
+ * Added* as a synonym for Given/When/Then/And/But (for all i18n languages). (#462 Aslak Hellesøy)
688
873
  * The HTML formatter produces a much nicer report, with TextMate link integration. (Rob Aldred)
689
874
  * Wire protocol now supports table arguments, step definition source & regexp, snippets, pending, table diffing (Matt Wynne)
690
875
 
@@ -744,7 +929,7 @@ As usual there are several small features and bug fixes.
744
929
  * New Wire Protocol - allowing out of process execution of Cucumber scenarios. (#428 Matt Wynne)
745
930
  * Added an example illustrating how to get screenshots in HTML reports (examples/watir) (Aslak Hellesøy)
746
931
  * Added new #embed(file, mime_type) method to visitors and Ruby Worlds to make it easier to embed screenshots (Aslak Hellesøy)
747
- * The #puts method available from Ruby Step Definitions will print *after* the step is executed. (#487 Zoltan Penzeli)
932
+ * The #puts method available from Ruby Step Definitions will print*after* the step is executed. (#487 Zoltan Penzeli)
748
933
  * Add support for rolling back transaction for all open database connections. (John Ferlito)
749
934
  * Show scenario and step summary in HTML formatter (#285 Joseph Wilk)
750
935
  * Ast::Table can now be constructed with an Array of Hash. (Aslak Hellesøy)
@@ -797,7 +982,7 @@ The back to stable release. When we went from 0.3.11 to 0.3.90 we thought we wer
797
982
  went nuts and a lot of great contributions came in. Some of those broke backwards compatibility, and we decided it would be
798
983
  better to do this while still on 0.3.x.
799
984
 
800
- Rails users: you *must* run script/generate cucumber after installing this version.
985
+ Rails users: you*must* run script/generate cucumber after installing this version.
801
986
 
802
987
  If something breaks for you, please please please read this file carefully. It's most likely something referenced here, and
803
988
  that will give you more information so you can solve any problems. If not, just get in touch on IRC or the Google Group.
@@ -889,7 +1074,7 @@ Other noteworthy new features are improved Hook, tags and Transform support, and
889
1074
  ### New Features
890
1075
  * Added new internal API for Regexp and groups, allowing other programming languages to leverage native regexps. (Aslak Hellesøy)
891
1076
  * New @allow_rescue tag for Rails scenarios. Causes exceptions raised in actions to be caught by rails and not bubble up to Cucumber (Aslak Hellesøy)
892
- * Negative tags can now be used in hooks, just like the command line's --tags option: Before('~@yarr') - will run for all scenarios that *don't* have the @yarr tag. (Aslak Hellesøy)
1077
+ * Negative tags can now be used in hooks, just like the command line's --tags option: Before('~@yarr') - will run for all scenarios that*don't* have the @yarr tag. (Aslak Hellesøy)
893
1078
  * Transform has current "World" scope (Larry Diehl)
894
1079
  * Other Transforms can be reused by calling Transform with a string inside of another Transform definition (Larry Diehl)
895
1080
  * Execute "After" hooks in reverse order of declaration for better behavior with dependent blocks and to mimic the behavior of at_exit (David Waite)
@@ -903,7 +1088,7 @@ Other noteworthy new features are improved Hook, tags and Transform support, and
903
1088
  * Cucumber with Spork breaks on OS X Snow Leopard (#431 David Chelimsky)
904
1089
 
905
1090
  ### Changed Features
906
- * Tag names passed on the command line *always* have to use the @ sign. --tags foo or --tags ~bar won't work. Use --tags @foo or --tags ~@bar (Aslak Hellesøy)
1091
+ * Tag names passed on the command line*always* have to use the @ sign. --tags foo or --tags ~bar won't work. Use --tags @foo or --tags ~@bar (Aslak Hellesøy)
907
1092
 
908
1093
  ### Removed features
909
1094
  * The Cucumber::Rails.bypass_rescue no longer exists. Errors will always bubble up, unless you use the new @allow_rescue tag. (Aslak Hellesøy)
@@ -1041,8 +1226,8 @@ You'll achieve better flow this way.
1041
1226
  * Added examples/python that uses rubypython. (Aslak Hellesøy)
1042
1227
  * Checks the number of available colors on the terminal with ruby-terminfo if ruby-terminfo is installed.
1043
1228
  This prevents Apple's Terminal.app from stalling (Yugui - Yuki Sonoda).
1044
- * Set 'xterm-256color' to TERM if your terminal supports grey.
1045
- * ruby-terminfo is available as genki-ruby-terminfo gem from github.
1229
+ * Set 'xterm-256color' to TERM if your terminal supports grey.
1230
+ * ruby-terminfo is available as genki-ruby-terminfo gem from github.
1046
1231
  * Document builtin formatters with --help. (#406 Aslak Hellesøy)
1047
1232
  * Added support for using regular expressions when mapping table headers. (Peter Williams)
1048
1233
 
@@ -1142,7 +1327,7 @@ expected data passed to a step. Here is an example:
1142
1327
  end
1143
1328
 
1144
1329
  You can do the same trick to compare data from a Rails ActiveRecord table (although this is not a
1145
- recommended practice - your Then steps should compare against what users *see*, not what's in the
1330
+ recommended practice - your Then steps should compare against what users*see*, not what's in the
1146
1331
  database):
1147
1332
 
1148
1333
  # This requires that you use the column names in the header of the plain text expected table
@@ -1210,7 +1395,7 @@ thanks to a brand new gem called Spork by Tim Harper and Ben Mabey. (You can fin
1210
1395
  here: http://github.com/timcharper/spork/tree/master). You can start Spork and have it preload your
1211
1396
  application in a separate process. Spork listens for DRb connections, and when you run cucumber with
1212
1397
  --drb the features will run inside the Spork server instead. Spork provides two simple hooks for preloading
1213
- your application - one for framework/stable code (Spork.prefork) and one for the code that *you* write and
1398
+ your application - one for framework/stable code (Spork.prefork) and one for the code that*you* write and
1214
1399
  change often (Spork.each_run). Keep in mind that all World, Before, and other Cucumber hooks need to be
1215
1400
  in the Spork.each_run block. Using Spork works great for Ruby on Rails, which can take a while to load,
1216
1401
  but --drb and Spork aren't tied to Rails at all. The new --drb switch also works great alongside autotest
@@ -1252,7 +1437,7 @@ generator which is fixed in 0.3.9.
1252
1437
  ## [0.3.8](https://github.com/cucumber/cucumber/compare/v0.3.7...v0.3.8)
1253
1438
 
1254
1439
  This Cucumber version fixes several bugs related to Ruby on Rails and RSpec. If you
1255
- use Cucumber with a Rails app we *strongly* recommend you bootstrap Cucumber again:
1440
+ use Cucumber with a Rails app we*strongly* recommend you bootstrap Cucumber again:
1256
1441
 
1257
1442
  ruby script/generate cucumber
1258
1443
 
@@ -1267,7 +1452,7 @@ use Cucumber with a Rails app we *strongly* recommend you bootstrap Cucumber aga
1267
1452
  * The Cucumber Rake task will again fork by default (as 0.3.3 and earlier). Forking must be turned off explicitly. (Aslak Hellesøy)
1268
1453
 
1269
1454
  ### Bugfixes
1270
- * Better coexistence with RSpec - Cucumber now *neuters* the part of RSpec that tries to parse ARGV.
1455
+ * Better coexistence with RSpec - Cucumber now*neuters* the part of RSpec that tries to parse ARGV.
1271
1456
  * The differ= exception is gone (#325, #340 Aslak Hellesøy)
1272
1457
 
1273
1458
  ## [0.3.7](https://github.com/cucumber/cucumber/compare/v0.3.6...v0.3.7)
@@ -1315,7 +1500,7 @@ and there is a brand new JUnit formatter - great for Continuous Integration repo
1315
1500
 
1316
1501
  This release was made especially for the Oslo XP Meetup today.
1317
1502
 
1318
- ** IMPORTANT UPGRADE NOTES FOR RAILS USERS **
1503
+ ** IMPORTANT UPGRADE NOTES FOR RAILS USERS**
1319
1504
 
1320
1505
  Running Cucumber features in the same Ruby interpreter as Rake doesn't seem to work,
1321
1506
  so you have to explicitly tell the task to fork (like it was doing by default in prior
@@ -1455,10 +1640,10 @@ http://wiki.github.com/aslakhellesoy/cucumber/using-rake#profiles
1455
1640
 
1456
1641
  ### Removed/changed features
1457
1642
  * The visitor API has changed slightly:
1458
- * \#visit_step_name, #visit_multiline_arg and \#visit_exception are no longer official API methods.
1459
- * \#visit_step_result replaces those 3 methods.
1460
- * Table and PyString no longer hold status information. Each visitor subclass should store state in @state if needed.
1461
- * \#visit_py_string no longer takes a status argument.
1643
+ * \#visit_step_name, #visit_multiline_arg and \#visit_exception are no longer official API methods.
1644
+ * \#visit_step_result replaces those 3 methods.
1645
+ * Table and PyString no longer hold status information. Each visitor subclass should store state in @state if needed.
1646
+ * \#visit_py_string no longer takes a status argument.
1462
1647
 
1463
1648
  ## [0.2.3](https://github.com/cucumber/cucumber/compare/v0.2.2...v0.2.3)
1464
1649
 
@@ -1908,6 +2093,7 @@ The step definitions for such multiline steps must define an extra block argumen
1908
2093
  * Show the feature file and line for pending steps as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
1909
2094
 
1910
2095
  ### Bugfixes
2096
+
1911
2097
  * Fixed speling errors in Spanish (Daniel Cadenas)
1912
2098
  * ActionMailer delivery_method should not be set to test (#41, Luke Melia)
1913
2099
  * Reverse incorrectly ordered args in webrat select step (#43, David Chelimsky)
@@ -1915,9 +2101,11 @@ The step definitions for such multiline steps must define an extra block argumen
1915
2101
  * Fixed the HTML Formatter to use actual values for FIT table headers (#30, Joseph Wilk)
1916
2102
 
1917
2103
  ### Removed features
2104
+
1918
2105
  * Removed the /^I go to (.*)$/ step from common_webrat.rb - it's not language agnostic and provides little value.
1919
2106
 
1920
2107
  ### New features
2108
+
1921
2109
  * Added new --out option to make it easier to specify output from Rake and cucumber.yml
1922
2110
 
1923
2111
  ## [0.1.7](https://github.com/cucumber/cucumber/compare/v0.1.6...v0.1.7)
@@ -1963,11 +2151,13 @@ a plain text step is defined. Not anymore! Cucumber will now output this:
1963
2151
  And the result class should be Float # features/steps/calculator_steps.rb:24
1964
2152
 
1965
2153
  ### Bugfixes
2154
+
1966
2155
  * Fixed a bug in the command line args being lost when using --profile (#27, Joseph Wilk)
1967
2156
  * Fixed a bug in Webrat selects (Tim Glen)
1968
2157
  * Fixed parsing of DOS line endings (#2, #28, Aslak Hellesøy)
1969
2158
 
1970
2159
  ### New features
2160
+
1971
2161
  * Steps can be called from other steps (#3, Bryan Helmkamp, Aslak Hellesøy)
1972
2162
  * Added But keyword to all languages (#21, Aslak Hellesøy)
1973
2163
  * Added --no-source option to display step definition location next to step text (#26, Joseph Wilk, Aslak Hellesøy)
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License
2
2
 
3
- Copyright (c) 2008,2009,2010,2011,2012 Aslak Hellesøy
3
+ Copyright (c) 2008-2013 Aslak Hellesøy
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
19
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
20
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
21
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,9 +1,9 @@
1
- [![Build Status](https://secure.travis-ci.org/cucumber/cucumber.png)](http://travis-ci.org/cucumber/cucumber) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/cucumber/cucumber)
1
+ [![Build Status](https://secure.travis-ci.org/cucumber/cucumber.png)](http://travis-ci.org/cucumber/cucumber) [![Code Climate](https://codeclimate.com/github/cucumber/cucumber.png)](https://codeclimate.com/github/cucumber/cucumber) [![Coverage Status](https://coveralls.io/repos/cucumber/cucumber/badge.png?branch=master)](https://coveralls.io/r/cucumber/cucumber?branch=master) [![Dependency Status](https://gemnasium.com/cucumber/cucumber.png)](https://gemnasium.com/cucumber/cucumber)
2
2
 
3
3
  # Cucumber
4
4
 
5
- Cucumber is a tool for running automated tests written in plan language. Because they're
6
- written in plan language, they can be read by anyone on your team. Because they can be
5
+ Cucumber is a tool for running automated tests written in plain language. Because they're
6
+ written in plain language, they can be read by anyone on your team. Because they can be
7
7
  read by anyone, you can use them to help improve communication, collaboration and trust on
8
8
  your team.
9
9
 
@@ -19,4 +19,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for info on contributing to Cucumber.
19
19
 
20
20
  ## Copyright
21
21
 
22
- Copyright (c) 2008,2009,2010,2011,2012,2013 Aslak Hellesøy and Contributors. See LICENSE for details.
22
+ Copyright (c) 2008-2013 Aslak Hellesøy and Contributors. See LICENSE for details.
data/Rakefile CHANGED
@@ -6,8 +6,17 @@ Bundler::GemHelper.install_tasks
6
6
  $:.unshift(File.dirname(__FILE__) + '/lib')
7
7
  Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
8
8
 
9
- task :release => 'api:doc'
10
9
  task :default => [:spec, :cucumber]
11
10
 
11
+ if ENV['TRAVIS']
12
+ ENV['SIMPLECOV'] = 'ci'
13
+ ENV['JRUBY_OPTS'] = [ENV['JRUBY_OPTS'], '--debug'].compact.join(' ')
14
+
15
+ require 'coveralls/rake/task'
16
+ Coveralls::RakeTask.new
17
+
18
+ task :default => [:spec, :cucumber, 'coveralls:push']
19
+ end
20
+
12
21
  require 'rake/clean'
13
22
  CLEAN.include %w(**/*.{log,pyc,rbc,tgz} doc)
data/bin/cucumber CHANGED
@@ -1,11 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  $:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
3
3
 
4
- if(ENV['SIMPLECOV'] && RUBY_VERSION =~ /1\.9/)
5
- require 'simplecov'
6
- SimpleCov.root(File.expand_path(File.dirname(__FILE__) + '/..'))
7
- SimpleCov.start
8
- end
4
+ load File.expand_path(File.dirname(__FILE__) + '/../spec/simplecov_setup.rb')
9
5
 
10
6
  require 'cucumber/rspec/disable_option_parser'
11
7
  require 'cucumber/cli/main'
data/cucumber.gemspec CHANGED
@@ -9,24 +9,27 @@ Gem::Specification.new do |s|
9
9
  s.description = 'Behaviour Driven Development with elegance and joy'
10
10
  s.summary = "cucumber-#{s.version}"
11
11
  s.email = 'cukes@googlegroups.com'
12
+ s.license = 'MIT'
12
13
  s.homepage = "http://cukes.info"
13
-
14
14
  s.platform = Gem::Platform::RUBY
15
+ s.required_ruby_version = ">= 1.9.3"
15
16
 
17
+ s.add_dependency 'cucumber-core', '~> 1.1.3'
16
18
  s.add_dependency 'builder', '>= 2.1.2'
17
19
  s.add_dependency 'diff-lcs', '>= 1.1.3'
18
20
  s.add_dependency 'gherkin', '~> 2.12'
19
21
  s.add_dependency 'multi_json', '>= 1.7.5', '< 2.0'
20
- s.add_dependency 'multi_test', '>= 0.0.2'
22
+ s.add_dependency 'multi_test', '>= 0.1.2'
21
23
 
22
- s.add_development_dependency 'aruba', '~> 0.5.2'
24
+ s.add_development_dependency 'aruba', '~> 0.6.1'
23
25
  s.add_development_dependency 'json', '~> 1.7'
24
- s.add_development_dependency 'nokogiri', '~> 1.5.2'
26
+ s.add_development_dependency 'nokogiri', '~> 1.5'
25
27
  s.add_development_dependency 'rake', '>= 0.9.2'
26
- s.add_development_dependency 'rspec', '>= 2.13'
28
+ s.add_development_dependency 'rspec', '>= 3.0'
27
29
  s.add_development_dependency 'simplecov', '>= 0.6.2'
28
- s.add_development_dependency 'spork', '>= 1.0.0.rc2'
30
+ s.add_development_dependency 'coveralls', '~> 0.7'
29
31
  s.add_development_dependency 'syntax', '>= 1.0.0'
32
+ s.add_development_dependency 'pry'
30
33
 
31
34
  # For Documentation:
32
35
  s.add_development_dependency 'bcat', '~> 0.6.2'
@@ -34,15 +37,9 @@ Gem::Specification.new do |s|
34
37
  s.add_development_dependency 'yard', '~> 0.8.0'
35
38
 
36
39
  # Needed for examples (rake examples)
37
- s.add_development_dependency 'capybara', '>= 1.1.2', '< 2.1'
40
+ s.add_development_dependency 'capybara', '>= 2.1'
38
41
  s.add_development_dependency 'rack-test', '>= 0.6.1'
39
- s.add_development_dependency 'ramaze'
40
42
  s.add_development_dependency 'sinatra', '>= 1.3.2'
41
- s.add_development_dependency 'webrat', '>= 0.7.3'
42
-
43
- # Needed for ruby 1.8.7 support v1.3.x
44
- s.add_development_dependency 'mime-types', '< 2.0'
45
- s.add_development_dependency 'rubyzip', '< 1.0'
46
43
 
47
44
  s.rubygems_version = ">= 1.6.1"
48
45
  s.files = `git ls-files`.split("\n").reject {|path| path =~ /\.gitignore$/ }
data/cucumber.yml CHANGED
@@ -1,30 +1,20 @@
1
1
  <%
2
+ cucumber_pro_opts = ENV['ENABLE_CUCUMBER_PRO'] ? "--format Cucumber::Pro --out /dev/null" : ""
2
3
  rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
4
  rerun_opts = rerun.to_s.strip.empty? ? "--format progress features" : "--format pretty #{rerun}"
4
- std_opts = "--format progress features --tags ~@wip"
5
+ std_opts = "--format progress features --tags ~@wip --tag ~@wip-new-core -r features --strict #{cucumber_pro_opts}"
5
6
  std_opts << " --tags ~@wip-jruby" if defined?(JRUBY_VERSION)
6
- begin
7
- require 'rspec/expectations'
8
- std_opts << ' --tags ~@rspec1'
9
- rescue LoadError
10
- # rspec 1
11
- std_opts << ' --tags ~@rspec2'
12
- end
13
- wip_opts = "--color --tags @wip:3"
14
- wip_opts << ",@wip-jruby:3" if defined?(JRUBY_VERSION)
15
7
 
16
- legacy_opts = ''
17
- legacy_opts << " --tags ~@wire" if defined?(JRUBY_VERSION)
18
- legacy_opts << " --tags ~@wip-jruby" if defined?(JRUBY_VERSION)
8
+ wip_opts = "--color -r features --tags @wip,@wip-new-core"
9
+ wip_opts << ",@wip-jruby" if defined?(JRUBY_VERSION)
19
10
  %>
20
- default: <%= std_opts %> --tags ~@jruby --dotcucumber features/.cucumber
21
- jruby: <%= std_opts %> --tags ~@spork --tags ~@wire
22
- jruby_win: <%= std_opts %> --tags ~@spork --tags ~@wire CUCUMBER_FORWARD_SLASH_PATHS=true
23
- windows_mri: <%= std_opts %> --tags ~@jruby --tags ~@spork --tags ~@wire --tags ~@needs-many-fonts CUCUMBER_FORWARD_SLASH_PATHS=true
24
- ruby_1_8_7: <%= std_opts %> --tags ~@jruby --tags ~@fails_on_1_8_7
25
- ruby_1_9: <%= std_opts %> --tags ~@jruby --tags ~@fails_on_1_9
26
- ruby_2_0: <%= std_opts %> --tags ~@jruby --tags ~@fails_on_1_9
27
- wip: --wip <%= wip_opts %> features
28
- none: --format pretty
29
- rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
30
- legacy: legacy_features -r legacy_features -f progress --tags ~@spork <%= legacy_opts %>
11
+ default: <%= std_opts %> --tags ~@jruby
12
+ jruby: <%= std_opts %> --tags ~@wire
13
+ jruby_win: <%= std_opts %> --tags ~@wire CUCUMBER_FORWARD_SLASH_PATHS=true
14
+ windows_mri: <%= std_opts %> --tags ~@jruby --tags ~@wire --tags ~@needs-many-fonts CUCUMBER_FORWARD_SLASH_PATHS=true
15
+ ruby_1_9: <%= std_opts %> --tags ~@jruby
16
+ ruby_2_0: <%= std_opts %> --tags ~@jruby
17
+ ruby_2_1: <%= std_opts %> --tags ~@jruby
18
+ wip: --wip <%= wip_opts %> features <%= cucumber_pro_opts %>
19
+ none: --format pretty --format Cucumber::Pro --out /dev/null
20
+ rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip --tag ~@wip-new-core <%= cucumber_pro_opts %>
@@ -1,4 +1,4 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
1
+ $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
2
  require 'cucumber/rake/task'
3
3
 
4
4
  Cucumber::Rake::Task.new do |t|
@@ -0,0 +1,17 @@
1
+ # language: el
2
+ Δυνατότητα: Πρόσθεση
3
+ Για να αποφεύγω χαζά λάθη
4
+ Ως πρωτάρης στα μαθηματικά
5
+ Θέλω να βλέπω το άθροισμα δύο αριθμών
6
+
7
+ Περιγραφή Σεναρίου: Πρόσθεση δύο αριθμών
8
+ Δεδομένου ότι έχω εισάγει <τελεστής_1> στην αριθμομηχανή
9
+ Και έχω εισάγει <τελεστής_2> στην αριθμομηχανή
10
+ Όταν πατάω <κουμπί>
11
+ Τότε το αποτέλεσμα στην οθόνη πρέπει να είναι <αποτέλεσμα>
12
+
13
+ Παραδείγματα:
14
+ | τελεστής_1 | τελεστής_2 | κουμπί | αποτέλεσμα |
15
+ | 20 | 30 | add | 50 |
16
+ | 2 | 5 | add | 7 |
17
+ | 0 | 40 | add | 40 |
@@ -0,0 +1,10 @@
1
+ # language: el
2
+ Δυνατότητα: Διαίρεση
3
+ Για να αποφευχθούν χαζά λάθη
4
+ Οι ταμίες θα πρέπει να μπορούν να υπολογίζουν κλάσματα
5
+
6
+ Σενάριο: Κανονικοί αριθμοί
7
+ Δεδομένου ότι έχω εισάγει 3 στην αριθμομηχανή
8
+ Και έχω εισάγει 2 στην αριθμομηχανή
9
+ Όταν πατάω divide
10
+ Τότε το αποτέλεσμα στην οθόνη πρέπει να είναι 1.5