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
@@ -1,197 +0,0 @@
1
- module CucumberRubyMappings
2
- def features_dir
3
- 'features'
4
- end
5
-
6
- def run_scenario(scenario_name)
7
- run_simple "#{cucumber_bin} features/a_feature.feature --name '#{scenario_name}'", false
8
- end
9
-
10
- def run_feature(filename = 'features/a_feature.feature', formatter = 'progress')
11
- run_simple "#{cucumber_bin} #{filename} --format #{formatter}", false
12
- end
13
-
14
- def cucumber_bin
15
- File.expand_path(File.dirname(__FILE__) + '/../../../bin/cucumber')
16
- end
17
-
18
- def write_passing_mapping(step_name)
19
- erb = ERB.new(<<-EOF, nil, '-')
20
- Given /<%= step_name -%>/ do
21
- # ARUBA_IGNORE_START
22
- File.open("<%= step_file(step_name) %>", "w")
23
- # ARUBA_IGNORE_END
24
- end
25
-
26
- EOF
27
- append_to_file("features/step_definitions/some_stepdefs.rb", erb.result(binding))
28
- end
29
-
30
- def write_pending_mapping(step_name)
31
- erb = ERB.new(<<-EOF, nil, '-')
32
- Given /<%= step_name -%>/ do
33
- # ARUBA_IGNORE_START
34
- File.open("<%= step_file(step_name) %>", "w")
35
- # ARUBA_IGNORE_END
36
- pending
37
- end
38
-
39
- EOF
40
- append_to_file("features/step_definitions/some_stepdefs.rb", erb.result(binding))
41
- end
42
-
43
- def write_failing_mapping(step_name)
44
- erb = ERB.new(<<-EOF, nil, '-')
45
- Given /<%= step_name -%>/ do
46
- # ARUBA_IGNORE_START
47
- File.open("<%= step_file(step_name) %>", "w")
48
- # ARUBA_IGNORE_END
49
- raise "bang!"
50
- end
51
-
52
- EOF
53
- append_to_file("features/step_definitions/some_stepdefs.rb", erb.result(binding))
54
- end
55
-
56
- def write_calculator_code
57
- code = <<-EOF
58
- # http://en.wikipedia.org/wiki/Reverse_Polish_notation
59
- class RpnCalculator
60
- def initialize
61
- @stack = []
62
- end
63
-
64
- def push(arg)
65
- if(%w{- + * /}.index(arg))
66
- y, x = @stack.pop(2)
67
- push(x.__send__(arg, y))
68
- else
69
- @stack.push(arg)
70
- end
71
- end
72
-
73
- def PI
74
- push(Math::PI)
75
- end
76
-
77
- def value
78
- @stack[-1]
79
- end
80
- end
81
- EOF
82
- write_file("lib/rpn_calculator.rb", code)
83
- end
84
-
85
- def write_mappings_for_calculator
86
- write_file("features/support/env.rb", "$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../lib')\n")
87
- mapping_code = <<-EOF
88
- require 'rpn_calculator'
89
-
90
- Given /^a calculator$/ do
91
- @calc = RpnCalculator.new
92
- end
93
-
94
- When /^the calculator computes PI$/ do
95
- @calc.PI
96
- end
97
-
98
- When /^the calculator adds up ([\\d\\.]+) and ([\\d\\.]+)$/ do |n1, n2|
99
- @calc.push(n1.to_f)
100
- @calc.push(n2.to_f)
101
- @calc.push('+')
102
- end
103
-
104
- When /^the calculator adds up "([^"]*)" and "([^"]*)"$/ do |n1, n2|
105
- @calc.push(n1.to_i)
106
- @calc.push(n2.to_i)
107
- @calc.push('+')
108
- end
109
-
110
- When /^the calculator adds up "([^"]*)", "([^"]*)" and "([^"]*)"$/ do |n1, n2, n3|
111
- @calc.push(n1.to_i)
112
- @calc.push(n2.to_i)
113
- @calc.push(n3.to_i)
114
- @calc.push('+')
115
- @calc.push('+')
116
- end
117
-
118
- When /^the calculator adds up the following numbers:$/ do |numbers|
119
- pushed = 0
120
- numbers.split("\\n").each do |n|
121
- @calc.push(n.to_i)
122
- pushed +=1
123
- @calc.push('+') if pushed > 1
124
- end
125
- end
126
-
127
- Then /^the calculator returns PI$/ do
128
- @calc.value.to_f.should be_within(0.00001).of(Math::PI)
129
- end
130
-
131
- Then /^the calculator returns "([^"]*)"$/ do |expected|
132
- @calc.value.to_f.should be_within(0.00001).of(expected.to_f)
133
- end
134
-
135
- Then /^the calculator does not return ([\\d\\.]+)$/ do |unexpected|
136
- @calc.value.to_f.should_not be_within(0.00001).of(unexpected.to_f)
137
- end
138
-
139
- EOF
140
- write_file("features/step_definitions/calculator_mappings.rb", mapping_code)
141
- end
142
-
143
- def assert_passing_scenario
144
- assert_partial_output("1 scenario (1 passed)", all_output)
145
- assert_success true
146
- end
147
-
148
- def assert_failing_scenario
149
- assert_partial_output("1 scenario (1 failed)", all_output)
150
- assert_success false
151
- end
152
-
153
- def assert_pending_scenario
154
- assert_partial_output("1 scenario (1 pending)", all_output)
155
- assert_success true
156
- end
157
-
158
- def assert_undefined_scenario
159
- assert_partial_output("1 scenario (1 undefined)", all_output)
160
- assert_success true
161
- end
162
-
163
- def failed_output
164
- "failed"
165
- end
166
-
167
- def run_spork_in_background(port = nil)
168
- require 'spork'
169
-
170
- pid = fork
171
- in_current_dir do
172
- if pid
173
- background_jobs << pid
174
- else
175
- # STDOUT.close
176
- # STDERR.close
177
- port_arg = port ? "-p #{port}" : ''
178
- cmd = "#{Cucumber::RUBY_BINARY} -I #{Cucumber::LIBDIR} #{Spork::BINARY} cuc #{port_arg}"
179
- exec cmd
180
- end
181
- end
182
- sleep 1.0
183
- end
184
-
185
- def background_jobs
186
- @background_jobs ||= []
187
- end
188
-
189
- def terminate_background_jobs
190
- background_jobs.each do |pid|
191
- Process.kill(Signal.list['TERM'], pid)
192
- end
193
- end
194
-
195
- end
196
-
197
- World(CucumberRubyMappings)
@@ -1,55 +0,0 @@
1
- Then 'it should pass' do
2
- assert_exit_status 0
3
- end
4
-
5
- Then /^it should (pass|fail) with JSON:$/ do |pass_fail, json|
6
- # Need to store it in a variable. With JRuby we can only do this once it seems :-/
7
- stdout = all_stdout
8
-
9
- # JRuby has weird traces sometimes (?)
10
- stdout = stdout.gsub(/ `\(root\)':in/, '')
11
-
12
- actual = JSON.parse(stdout)
13
- expected = JSON.parse(json)
14
-
15
- #make sure duration was captured (should be >= 0)
16
- #then set it to what is "expected" since duration is dynamic
17
- actual.each do |feature|
18
- feature['elements'].each do |scenario|
19
- scenario['steps'].each do |step|
20
- step['result']['duration'].should be >= 0
21
- step['result']['duration'] = 1
22
- end
23
- end
24
- end
25
-
26
- actual.should == expected
27
- assert_success(pass_fail == 'pass')
28
- end
29
-
30
- Given /^a directory without standard Cucumber project directory structure$/ do
31
- in_current_dir do
32
- FileUtils.rm_rf 'features' if File.directory?('features')
33
- end
34
- end
35
-
36
- Given /^a scenario with a step that looks like this:$/ do |string|
37
- create_feature do
38
- create_scenario { string }
39
- end
40
- end
41
-
42
- Given(/^a scenario with a step that looks like this in japanese:$/) do |string|
43
- create_feature_ja do
44
- create_scenario_ja { string }
45
- end
46
- end
47
-
48
- Given /^a step definition that looks like this:$/ do |string|
49
- create_step_definition { string }
50
- end
51
-
52
- When /^I run the feature with the (\w+) formatter$/ do |formatter|
53
- features.length.should == 1
54
- run_feature features.first, formatter
55
- end
@@ -1,3 +0,0 @@
1
- Given /^I am running spork in the background$/ do
2
- run_spork_in_background
3
- end
@@ -1,57 +0,0 @@
1
- ENV['FORCE_COLOR'] = 'true'
2
-
3
- require 'aruba'
4
- require 'aruba/api'
5
- require 'aruba/cucumber'
6
- require 'aruba/in_process'
7
- require 'aruba/spawn_process'
8
- require 'cucumber/rspec/disable_option_parser'
9
- require 'cucumber/cli/main'
10
-
11
- # Monkey patch aruba to filter out some stuff
12
- module Aruba::Api
13
- alias __all_stdout all_stdout
14
-
15
- def all_stdout
16
- unrandom(__all_stdout)
17
- end
18
-
19
- alias __all_stderr all_stderr
20
- def all_stderr
21
- err = __all_stderr
22
- if Cucumber::JRUBY
23
- # TODO: this actually a workaround for cucumber/gherkin#238
24
- err = err.gsub(/^.*java_package_module_template.rb:\d+ warning: `eval' should not be aliased.*\n/, '')
25
- end
26
- err
27
- end
28
-
29
- def unrandom(out)
30
- out = out.gsub(/#{Dir.pwd}\/tmp\/aruba/, '.') # Remove absolute paths
31
- out = out.gsub(/tmp\/aruba\//, '') # Fix aruba path
32
- out = out.gsub(/^.*cucumber_process\.rb.*$\n/, '')
33
- out = out.gsub(/^\d+m\d+\.\d+s$/, '0m0.012s') # Make duration predictable
34
- out = out.gsub(/Coverage report generated for Cucumber Features to #{Dir.pwd}\/coverage.*\n$/, '') # Remove SimpleCov message
35
- end
36
- end
37
-
38
- Before('@spawn') do
39
- Aruba.process = Aruba::SpawnProcess
40
- end
41
-
42
- Before('~@spawn') do
43
- Aruba::InProcess.main_class = Cucumber::Cli::Main
44
- Aruba.process = Aruba::InProcess
45
- end
46
-
47
- Before do
48
- # Make sure bin/cucumber runs with SimpleCov enabled
49
- # set_env('SIMPLECOV', 'true')
50
-
51
- # Set a longer timeout for aruba, and a really long one if running on JRuby
52
- @aruba_timeout_seconds = Cucumber::JRUBY ? 35 : 15
53
- end
54
-
55
- After do
56
- terminate_background_jobs
57
- end
@@ -1,59 +0,0 @@
1
- Feature: Tagged hooks
2
-
3
- Background:
4
- Given a file named "features/step_definitions/steps.rb" with:
5
- """
6
- Given /^this step works$/ do; end
7
- """
8
- And a file named "features/support/hooks.rb" with:
9
- """
10
- Before('~@no-boom') do
11
- raise 'boom'
12
- end
13
- """
14
- And a file named "features/f.feature" with:
15
- """
16
- Feature: With and without hooks
17
- Scenario: using hook
18
- Given this step works
19
-
20
- @no-boom
21
- Scenario: omitting hook
22
- Given this step works
23
- """
24
- @spawn
25
- Scenario: omit tagged hook
26
- When I run `cucumber features/f.feature:2`
27
- Then it should fail with:
28
- """
29
- Feature: With and without hooks
30
-
31
- Scenario: using hook # features/f.feature:2
32
- boom (RuntimeError)
33
- ./features/support/hooks.rb:2:in `Before'
34
- Given this step works # features/step_definitions/steps.rb:1
35
-
36
- Failing Scenarios:
37
- cucumber features/f.feature:2 # Scenario: using hook
38
-
39
- 1 scenario (1 failed)
40
- 1 step (1 skipped)
41
-
42
- """
43
-
44
- Scenario: omit tagged hook
45
- When I run `cucumber features/f.feature:6`
46
- Then it should pass with:
47
- """
48
- Feature: With and without hooks
49
-
50
- @no-boom
51
- Scenario: omitting hook # features/f.feature:6
52
- Given this step works # features/step_definitions/steps.rb:1
53
-
54
- 1 scenario (1 passed)
55
- 1 step (1 passed)
56
-
57
- """
58
-
59
-
@@ -1,7 +0,0 @@
1
- Feature: Feature with background
2
-
3
- Background:
4
- Given a passing step
5
-
6
- Scenario:
7
- Given a failing step
@@ -1,4 +0,0 @@
1
- Feature: A screenshot feature
2
-
3
- Scenario:
4
- Given I embed a screenshot
@@ -1,11 +0,0 @@
1
- @a
2
- Feature: One passing scenario, one failing scenario
3
-
4
- @b
5
- Scenario: Passing
6
- Given a passing step
7
-
8
- @c
9
- Scenario: Failing
10
- Given a failing step
11
-
@@ -1,32 +0,0 @@
1
- Given /a passing step/ do
2
- #does nothing
3
- end
4
-
5
- Given /a failing step/ do
6
- fail
7
- end
8
-
9
- Given /a pending step/ do
10
- pending
11
- end
12
-
13
- Given /^I add (\d+) and (\d+)$/ do |a,b|
14
- @result = a.to_i + b.to_i
15
- end
16
-
17
- Then /^I the result should be (\d+)$/ do |c|
18
- @result.should == c.to_i
19
- end
20
-
21
- Then /^I should see/ do |string|
22
-
23
- end
24
-
25
- Given /^I pass a table argument/ do |table|
26
-
27
- end
28
-
29
- Given /^I embed a screenshot/ do
30
- File.open("tmp/screenshot.png", "w") { |file| file << "foo" }
31
- embed "tmp/screenshot.png", "image/png"
32
- end
@@ -1,13 +0,0 @@
1
- Feature: A scenario outline
2
-
3
- Scenario Outline:
4
- Given I add <a> and <b>
5
- When I pass a table argument
6
- | foo | bar |
7
- | bar | baz |
8
- Then I the result should be <c>
9
-
10
- Examples:
11
- | a | b | c |
12
- | 1 | 2 | 3 |
13
- | 2 | 3 | 4 |
@@ -1,8 +0,0 @@
1
- Feature: One passing scenario, one failing scenario
2
-
3
- Scenario: Passing
4
- Given a passing scenario
5
-
6
- Scenario: Failing
7
- Given a failing scenario
8
-
@@ -1,7 +0,0 @@
1
- Feature: Pending step
2
-
3
- Scenario: Pending
4
- Given a pending step
5
-
6
- Scenario: Undefined
7
- Given an undefined step
@@ -1,9 +0,0 @@
1
- Feature: Scenario outlines
2
-
3
- Scenario Outline: Using scenario outlines
4
- Given a <type> scenario
5
-
6
- Examples:
7
- | type |
8
- | passing |
9
- | failing |
@@ -1,8 +0,0 @@
1
- Feature: Subdirectory - One passing scenario, one failing scenario
2
-
3
- Scenario: Passing
4
- Given a passing scenario
5
-
6
- Scenario: Failing
7
- Given a failing scenario
8
-
@@ -1,11 +0,0 @@
1
- Given /a passing scenario/ do
2
- #does nothing
3
- end
4
-
5
- Given /a failing scenario/ do
6
- fail
7
- end
8
-
9
- Given /a pending step/ do
10
- pending
11
- end
@@ -1,6 +0,0 @@
1
- h1. Self Test
2
-
3
- Cucumber's own features (ROOT_DIR/features) run the features in this directory and look at the output.
4
-
5
- Note that several of these fail intentionally. The purpose is to verify actual output against expected
6
- output.
@@ -1,6 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new(:features)
5
-
6
- task :default => :features
@@ -1,7 +0,0 @@
1
- Feature: Calling undefined step
2
-
3
- Scenario: Call directly
4
- Given a step definition that calls an undefined step
5
-
6
- Scenario: Call via another
7
- Given call step "a step definition that calls an undefined step"
@@ -1,4 +0,0 @@
1
- Feature: Failing expectation
2
-
3
- Scenario: Failing expectation
4
- Given failing expectation
@@ -1,8 +0,0 @@
1
- Feature: Lots of undefined
2
-
3
- Scenario: Implement me
4
- Given it snows in Sahara
5
- Given it's 40 degrees in Norway
6
- And it's 40 degrees in Norway
7
- When I stop procrastinating
8
- And there is world peace
@@ -1,27 +0,0 @@
1
- Feature: multiline
2
-
3
- Background: I'm a multiline name
4
- which goes on and on and on for three lines
5
- yawn
6
- Given passing without a table
7
-
8
- Scenario: I'm a multiline name
9
- which goes on and on and on for three lines
10
- yawn
11
- Given passing without a table
12
-
13
- Scenario Outline: I'm a multiline name
14
- which goes on and on and on for three lines
15
- yawn
16
- Given <state> without a table
17
- Examples:
18
- | state |
19
- |passing|
20
-
21
- Scenario Outline: name
22
- Given <state> without a table
23
- Examples: I'm a multiline name
24
- which goes on and on and on for three lines
25
- yawn
26
- | state |
27
- |passing|
@@ -1,15 +0,0 @@
1
- Feature: Outline Sample
2
-
3
- Scenario: I have no steps
4
-
5
- Scenario Outline: Test state
6
- Given <state> without a table
7
- Given <other_state> without a table
8
- Examples: Rainbow colours
9
- | state | other_state |
10
- | missing | passing|
11
- | passing| passing |
12
- | failing | passing |
13
- Examples:Only passing
14
- | state | other_state |
15
- | passing | passing |
@@ -1,21 +0,0 @@
1
- # Feature comment
2
- @one
3
- Feature: Sample
4
-
5
- @two @three
6
- Scenario: Missing
7
- Given missing
8
-
9
- # Scenario comment
10
- @three
11
- Scenario: Passing
12
- Given passing
13
- |a|b|
14
- |c|d|
15
-
16
- @four
17
- Scenario: Failing
18
- Given failing
19
- """
20
- hello
21
- """
@@ -1,32 +0,0 @@
1
- Feature: search examples
2
-
3
- Background: Hantu Pisang background match
4
- Given passing without a table
5
-
6
- Scenario: should match Hantu Pisang
7
- Given passing without a table
8
-
9
- Scenario: Ignore me
10
- Given failing without a table
11
-
12
- Scenario Outline: Ignore me
13
- Given <state> without a table
14
- Examples:
15
- | state |
16
- | failing |
17
-
18
- Scenario Outline: Hantu Pisang match
19
- Given <state> without a table
20
- Examples:
21
- | state |
22
- | passing |
23
-
24
- Scenario Outline: no match in name but in examples
25
- Given <state> without a table
26
- Examples: Hantu Pisang
27
- | state |
28
- | passing |
29
-
30
- Examples: Ignore me
31
- | state |
32
- | failing |