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,584 +0,0 @@
1
- Feature: Cucumber command line
2
- In order to write better software
3
- Developers should be able to execute requirements as tests
4
-
5
- Scenario: Run single scenario with missing step definition
6
- When I run cucumber -q features/sample.feature:5
7
- Then it should pass with
8
- """
9
- # Feature comment
10
- @one
11
- Feature: Sample
12
-
13
- @two @three
14
- Scenario: Missing
15
- Given missing
16
-
17
- 1 scenario (1 undefined)
18
- 1 step (1 undefined)
19
-
20
- """
21
-
22
- Scenario: Fail with --strict
23
- When I run cucumber -q features/sample.feature:5 --strict
24
- Then it should fail with
25
- """
26
- # Feature comment
27
- @one
28
- Feature: Sample
29
-
30
- @two @three
31
- Scenario: Missing
32
- Given missing
33
- Undefined step: "missing" (Cucumber::Undefined)
34
- features/sample.feature:7:in `Given missing'
35
-
36
- 1 scenario (1 undefined)
37
- 1 step (1 undefined)
38
-
39
- """
40
-
41
- Scenario: Succeed with --strict
42
- When I run cucumber -q features/sample.feature:10 --strict
43
- Then it should pass with
44
- """
45
- # Feature comment
46
- @one
47
- Feature: Sample
48
-
49
- # Scenario comment
50
- @three
51
- Scenario: Passing
52
- Given passing
53
- | a | b |
54
- | c | d |
55
-
56
- 1 scenario (1 passed)
57
- 1 step (1 passed)
58
-
59
- """
60
-
61
- Scenario: Specify 2 line numbers where one is a tag
62
- When I run cucumber -q features/sample.feature:5:16
63
- Then it should fail with
64
- """
65
- # Feature comment
66
- @one
67
- Feature: Sample
68
-
69
- @two @three
70
- Scenario: Missing
71
- Given missing
72
-
73
- @four
74
- Scenario: Failing
75
- Given failing
76
- \"\"\"
77
- hello
78
- \"\"\"
79
- FAIL (RuntimeError)
80
- ./features/step_definitions/sample_steps.rb:2:in `flunker'
81
- ./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
82
- features/sample.feature:18:in `Given failing'
83
-
84
- Failing Scenarios:
85
- cucumber features/sample.feature:17
86
-
87
- 2 scenarios (1 failed, 1 undefined)
88
- 2 steps (1 failed, 1 undefined)
89
-
90
- """
91
-
92
- Scenario: Require missing step definition from elsewhere
93
- When I run cucumber -q -r ../../legacy_features/step_definitions/extra_steps.rb features/sample.feature:5
94
- Then it should pass with
95
- """
96
- # Feature comment
97
- @one
98
- Feature: Sample
99
-
100
- @two @three
101
- Scenario: Missing
102
- Given missing
103
-
104
- 1 scenario (1 passed)
105
- 1 step (1 passed)
106
-
107
- """
108
-
109
- Scenario: Specify the line number of a row
110
- When I run cucumber -q features/sample.feature:12
111
- Then it should pass with
112
- """
113
- # Feature comment
114
- @one
115
- Feature: Sample
116
-
117
- # Scenario comment
118
- @three
119
- Scenario: Passing
120
- Given passing
121
- | a | b |
122
- | c | d |
123
-
124
- 1 scenario (1 passed)
125
- 1 step (1 passed)
126
-
127
- """
128
-
129
- Scenario: Use @-notation to specify a file containing feature file list
130
- When I run cucumber -q @list-of-features.txt
131
- Then it should pass with
132
- """
133
- # Feature comment
134
- @one
135
- Feature: Sample
136
-
137
- # Scenario comment
138
- @three
139
- Scenario: Passing
140
- Given passing
141
- | a | b |
142
- | c | d |
143
-
144
- 1 scenario (1 passed)
145
- 1 step (1 passed)
146
-
147
- """
148
-
149
- Scenario: Run all with progress formatter
150
- When I run cucumber -q --format progress features/sample.feature
151
- Then it should fail with
152
- """
153
- U.F
154
-
155
- (::) failed steps (::)
156
-
157
- FAIL (RuntimeError)
158
- ./features/step_definitions/sample_steps.rb:2:in `flunker'
159
- ./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
160
- features/sample.feature:18:in `Given failing'
161
-
162
- Failing Scenarios:
163
- cucumber features/sample.feature:17
164
-
165
- 3 scenarios (1 failed, 1 undefined, 1 passed)
166
- 3 steps (1 failed, 1 undefined, 1 passed)
167
-
168
- """
169
-
170
- Scenario: --dry-run
171
- When I run cucumber --dry-run --no-source features/*.feature --tags ~@lots
172
- Then it should pass with
173
- """
174
- Feature: Calling undefined step
175
-
176
- Scenario: Call directly
177
- Given a step definition that calls an undefined step
178
-
179
- Scenario: Call via another
180
- Given call step "a step definition that calls an undefined step"
181
-
182
- Feature: Failing expectation
183
-
184
- Scenario: Failing expectation
185
- Given failing expectation
186
-
187
- Feature: Lots of undefined
188
-
189
- Scenario: Implement me
190
- Given it snows in Sahara
191
- Given it's 40 degrees in Norway
192
- And it's 40 degrees in Norway
193
- When I stop procrastinating
194
- And there is world peace
195
-
196
- Feature: multiline
197
-
198
- Background: I'm a multiline name
199
- which goes on and on and on for three lines
200
- yawn
201
- Given passing without a table
202
-
203
- Scenario: I'm a multiline name
204
- which goes on and on and on for three lines
205
- yawn
206
- Given passing without a table
207
-
208
- Scenario Outline: I'm a multiline name
209
- which goes on and on and on for three lines
210
- yawn
211
- Given <state> without a table
212
-
213
- Examples:
214
- | state |
215
- | passing |
216
-
217
- Scenario Outline: name
218
- Given <state> without a table
219
-
220
- Examples: I'm a multiline name
221
- which goes on and on and on for three lines
222
- yawn
223
- | state |
224
- | passing |
225
-
226
- Feature: Outline Sample
227
-
228
- Scenario: I have no steps
229
-
230
- Scenario Outline: Test state
231
- Given <state> without a table
232
- Given <other_state> without a table
233
-
234
- Examples: Rainbow colours
235
- | state | other_state |
236
- | missing | passing |
237
- | passing | passing |
238
- | failing | passing |
239
-
240
- Examples: Only passing
241
- | state | other_state |
242
- | passing | passing |
243
-
244
- # Feature comment
245
- @one
246
- Feature: Sample
247
-
248
- @two @three
249
- Scenario: Missing
250
- Given missing
251
-
252
- # Scenario comment
253
- @three
254
- Scenario: Passing
255
- Given passing
256
- | a | b |
257
- | c | d |
258
-
259
- @four
260
- Scenario: Failing
261
- Given failing
262
- \"\"\"
263
- hello
264
- \"\"\"
265
-
266
- Feature: search examples
267
-
268
- Background: Hantu Pisang background match
269
- Given passing without a table
270
-
271
- Scenario: should match Hantu Pisang
272
- Given passing without a table
273
-
274
- Scenario: Ignore me
275
- Given failing without a table
276
-
277
- Scenario Outline: Ignore me
278
- Given <state> without a table
279
-
280
- Examples:
281
- | state |
282
- | failing |
283
-
284
- Scenario Outline: Hantu Pisang match
285
- Given <state> without a table
286
-
287
- Examples:
288
- | state |
289
- | passing |
290
-
291
- Scenario Outline: no match in name but in examples
292
- Given <state> without a table
293
-
294
- Examples: Hantu Pisang
295
- | state |
296
- | passing |
297
-
298
- Examples: Ignore me
299
- | state |
300
- | failing |
301
-
302
- @sample_one
303
- Feature: Tag samples
304
-
305
- @sample_two @sample_four
306
- Scenario: Passing
307
- Given missing
308
-
309
- @sample_three
310
- Scenario Outline:
311
- Given <state>
312
-
313
- Examples:
314
- | state |
315
- | missing |
316
-
317
- @sample_three @sample_four
318
- Scenario: Skipped
319
- Given missing
320
-
321
- Feature: undefined multiline args
322
-
323
- Scenario: pystring
324
- Given a pystring
325
- \"\"\"
326
- example with <html> entities
327
- \"\"\"
328
-
329
- Scenario: table
330
- Given a table
331
- | table |
332
- | example |
333
-
334
- 26 scenarios (17 skipped, 8 undefined, 1 passed)
335
- 42 steps (30 skipped, 12 undefined)
336
-
337
- """
338
-
339
- Scenario: Multiple formatters and outputs
340
- When I run cucumber --format progress --out tmp/progress.txt --format pretty --out tmp/pretty.txt --no-source --dry-run --no-snippets features/lots_of_undefined.feature
341
- Then STDERR should be empty
342
- Then "fixtures/self_test/tmp/progress.txt" should contain
343
- """
344
- UUUUU
345
-
346
- 1 scenario (1 undefined)
347
- 5 steps (5 undefined)
348
-
349
- """
350
- And "fixtures/self_test/tmp/pretty.txt" should contain
351
- """
352
- Feature: Lots of undefined
353
-
354
- Scenario: Implement me
355
- Given it snows in Sahara
356
- Given it's 40 degrees in Norway
357
- And it's 40 degrees in Norway
358
- When I stop procrastinating
359
- And there is world peace
360
-
361
- 1 scenario (1 undefined)
362
- 5 steps (5 undefined)
363
-
364
- """
365
-
366
- Scenario: Run feature elements which matches a name using --name
367
- When I run cucumber --name Pisang -q features/
368
- Then it should pass with
369
- """
370
- Feature: search examples
371
-
372
- Background: Hantu Pisang background match
373
- Given passing without a table
374
-
375
- Scenario: should match Hantu Pisang
376
- Given passing without a table
377
-
378
- Scenario Outline: Hantu Pisang match
379
- Given <state> without a table
380
-
381
- Examples:
382
- | state |
383
- | passing |
384
-
385
- Scenario Outline: no match in name but in examples
386
- Given <state> without a table
387
-
388
- Examples: Hantu Pisang
389
- | state |
390
- | passing |
391
-
392
- 3 scenarios (3 passed)
393
- 6 steps (6 passed)
394
-
395
- """
396
-
397
- Scenario: Run a single background which matches a name using --name (Useful if there is an error in it)
398
- When I run cucumber --name 'Hantu Pisang background' -q features/
399
- Then it should pass with
400
- """
401
- Feature: search examples
402
-
403
- Background: Hantu Pisang background match
404
- Given passing without a table
405
-
406
- 0 scenarios
407
- 1 step (1 passed)
408
-
409
- """
410
-
411
-
412
- Scenario: Run with a tag that exists on 2 scenarios
413
- When I run cucumber -q features --tags @three
414
- Then it should pass with
415
- """
416
- # Feature comment
417
- @one
418
- Feature: Sample
419
-
420
- @two @three
421
- Scenario: Missing
422
- Given missing
423
-
424
- # Scenario comment
425
- @three
426
- Scenario: Passing
427
- Given passing
428
- | a | b |
429
- | c | d |
430
-
431
- 2 scenarios (1 undefined, 1 passed)
432
- 2 steps (1 undefined, 1 passed)
433
-
434
- """
435
-
436
- Scenario: Run with a tag that exists on 1 feature
437
- When I run cucumber -q features --tags @one
438
- Then it should fail with
439
- """
440
- # Feature comment
441
- @one
442
- Feature: Sample
443
-
444
- @two @three
445
- Scenario: Missing
446
- Given missing
447
-
448
- # Scenario comment
449
- @three
450
- Scenario: Passing
451
- Given passing
452
- | a | b |
453
- | c | d |
454
-
455
- @four
456
- Scenario: Failing
457
- Given failing
458
- \"\"\"
459
- hello
460
- \"\"\"
461
- FAIL (RuntimeError)
462
- ./features/step_definitions/sample_steps.rb:2:in `flunker'
463
- ./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
464
- features/sample.feature:18:in `Given failing'
465
-
466
- Failing Scenarios:
467
- cucumber features/sample.feature:17
468
-
469
- 3 scenarios (1 failed, 1 undefined, 1 passed)
470
- 3 steps (1 failed, 1 undefined, 1 passed)
471
-
472
- """
473
-
474
- Scenario: Run with a negative tag
475
- When I run cucumber -q features/sample.feature --no-source --dry-run --tags ~@four
476
- Then it should pass with
477
- """
478
- # Feature comment
479
- @one
480
- Feature: Sample
481
-
482
- @two @three
483
- Scenario: Missing
484
- Given missing
485
-
486
- # Scenario comment
487
- @three
488
- Scenario: Passing
489
- Given passing
490
- | a | b |
491
- | c | d |
492
-
493
- 2 scenarios (1 skipped, 1 undefined)
494
- 2 steps (1 skipped, 1 undefined)
495
-
496
- """
497
-
498
- Scenario: Run with limited tag count, blowing it on scenario
499
- When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags @sample_three:1
500
- Then it should fail with
501
- """
502
- @sample_three occurred 2 times, but the limit was set to 1
503
- features/tags_sample.feature:11
504
- features/tags_sample.feature:16
505
- """
506
-
507
- Scenario: Run with limited tag count, blowing it via feature inheritance
508
- When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags @sample_one:1
509
- Then it should fail with
510
- """
511
- @sample_one occurred 3 times, but the limit was set to 1
512
- features/tags_sample.feature:5
513
- features/tags_sample.feature:11
514
- features/tags_sample.feature:16
515
- """
516
-
517
- Scenario: Run with limited tag count using negative tag, blowing it via a tag that is not run
518
- When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags ~@sample_one:1
519
- Then it should fail with
520
- """
521
- @sample_one occurred 3 times, but the limit was set to 1
522
- """
523
-
524
- Scenario: Reformat files with --autoformat
525
- When I run cucumber --autoformat tmp/formatted features
526
- Then STDERR should be empty
527
- Then "fixtures/self_test/tmp/formatted/features/sample.feature" should contain
528
- """
529
- # Feature comment
530
- @one
531
- Feature: Sample
532
-
533
- @two @three
534
- Scenario: Missing
535
- Given missing
536
-
537
- # Scenario comment
538
- @three
539
- Scenario: Passing
540
- Given passing
541
- | a | b |
542
- | c | d |
543
-
544
- @four
545
- Scenario: Failing
546
- Given failing
547
- \"\"\"
548
- hello
549
- \"\"\"
550
-
551
-
552
- """
553
-
554
- Scenario: Run feature elements which match a name using -n
555
- When I run cucumber -n Pisang -q features/
556
- Then STDERR should be empty
557
- Then it should pass with
558
- """
559
- Feature: search examples
560
-
561
- Background: Hantu Pisang background match
562
- Given passing without a table
563
-
564
- Scenario: should match Hantu Pisang
565
- Given passing without a table
566
-
567
- Scenario Outline: Hantu Pisang match
568
- Given <state> without a table
569
-
570
- Examples:
571
- | state |
572
- | passing |
573
-
574
- Scenario Outline: no match in name but in examples
575
- Given <state> without a table
576
-
577
- Examples: Hantu Pisang
578
- | state |
579
- | passing |
580
-
581
- 3 scenarios (3 passed)
582
- 6 steps (6 passed)
583
-
584
- """
@@ -1,117 +0,0 @@
1
- Feature: Cucumber command line
2
- In order to write better software
3
- Developers should be able to execute requirements as tests
4
-
5
- Scenario: Run scenario outline with filtering on outline name
6
- When I run cucumber -q features --name "Test state"
7
- Then it should fail with
8
- """
9
- Feature: Outline Sample
10
-
11
- Scenario Outline: Test state
12
- Given <state> without a table
13
- Given <other_state> without a table
14
-
15
- Examples: Rainbow colours
16
- | state | other_state |
17
- | missing | passing |
18
- | passing | passing |
19
- | failing | passing |
20
- FAIL (RuntimeError)
21
- ./features/step_definitions/sample_steps.rb:2:in `flunker'
22
- ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
23
- features/outline_sample.feature:6:in `Given <state> without a table'
24
-
25
- Examples: Only passing
26
- | state | other_state |
27
- | passing | passing |
28
-
29
- Failing Scenarios:
30
- cucumber features/outline_sample.feature:5
31
-
32
- 4 scenarios (1 failed, 1 undefined, 2 passed)
33
- 8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
34
-
35
- """
36
-
37
- Scenario: Run scenario outline steps only
38
- When I run cucumber -q features/outline_sample.feature:7
39
- Then it should fail with
40
- """
41
- Feature: Outline Sample
42
-
43
- Scenario Outline: Test state
44
- Given <state> without a table
45
- Given <other_state> without a table
46
-
47
- Examples: Rainbow colours
48
- | state | other_state |
49
- | missing | passing |
50
- | passing | passing |
51
- | failing | passing |
52
- FAIL (RuntimeError)
53
- ./features/step_definitions/sample_steps.rb:2:in `flunker'
54
- ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
55
- features/outline_sample.feature:6:in `Given <state> without a table'
56
-
57
- Examples: Only passing
58
- | state | other_state |
59
- | passing | passing |
60
-
61
- Failing Scenarios:
62
- cucumber features/outline_sample.feature:5
63
-
64
- 4 scenarios (1 failed, 1 undefined, 2 passed)
65
- 8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
66
-
67
- """
68
-
69
- Scenario: Run single failing scenario outline table row
70
- When I run cucumber features/outline_sample.feature:12
71
- Then it should fail with
72
- """
73
- Feature: Outline Sample
74
-
75
- Scenario Outline: Test state # features/outline_sample.feature:5
76
- Given <state> without a table # features/step_definitions/sample_steps.rb:15
77
- Given <other_state> without a table # features/step_definitions/sample_steps.rb:12
78
-
79
- Examples: Rainbow colours
80
- | state | other_state |
81
- | failing | passing |
82
- FAIL (RuntimeError)
83
- ./features/step_definitions/sample_steps.rb:2:in `flunker'
84
- ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
85
- features/outline_sample.feature:6:in `Given <state> without a table'
86
-
87
- Failing Scenarios:
88
- cucumber features/outline_sample.feature:5 # Scenario: Test state
89
-
90
- 1 scenario (1 failed)
91
- 2 steps (1 failed, 1 skipped)
92
-
93
- """
94
-
95
- # There are 10 characters in the progress, but only 8 reported steps. Needs investigation.
96
- # Looks like we're outputting too many characters.
97
- Scenario: Run all with progress formatter
98
- When I run cucumber -q --format progress features/outline_sample.feature
99
- Then it should fail with
100
- """
101
- --U-..F-..
102
-
103
- (::) failed steps (::)
104
-
105
- FAIL (RuntimeError)
106
- ./features/step_definitions/sample_steps.rb:2:in `flunker'
107
- ./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
108
- features/outline_sample.feature:6:in `Given <state> without a table'
109
-
110
- Failing Scenarios:
111
- cucumber features/outline_sample.feature:5
112
-
113
- 5 scenarios (1 failed, 1 undefined, 3 passed)
114
- 8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
115
-
116
- """
117
-