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,43 +0,0 @@
1
- Feature: Print snippets
2
- In order to make it easier to implement step definitions
3
- Developers should get a scaffolding for undefined step definitions
4
-
5
- Scenario: Cucumber doesn't know what language, and defaults to Ruby
6
- Given a standard Cucumber project directory structure
7
- And a file named "features/x.feature" with:
8
- """
9
- Feature: X
10
- Scenario: Y
11
- Given Z
12
- Given Q
13
- """
14
- When I run cucumber features
15
- Then STDERR should be empty
16
- And it should pass with
17
- """
18
- Feature: X
19
-
20
- Scenario: Y # features/x.feature:2
21
- Given Z # features/x.feature:3
22
- Given Q # features/x.feature:4
23
-
24
- 1 scenario (1 undefined)
25
- 2 steps (2 undefined)
26
-
27
- You can implement step definitions for undefined steps with these snippets:
28
-
29
- Given(/^Z$/) do
30
- pending # express the regexp above with the code you wish you had
31
- end
32
-
33
- Given(/^Q$/) do
34
- pending # express the regexp above with the code you wish you had
35
- end
36
-
37
- If you want snippets in a different programming language,
38
- just make sure a file with the appropriate file extension
39
- exists where cucumber looks for step definitions.
40
-
41
-
42
- """
43
-
@@ -1,25 +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
- @rspec2
6
- Scenario: Run single failing scenario with default diff enabled
7
- When I run cucumber -q features/failing_expectation.feature
8
- Then it should fail with
9
- """
10
- Feature: Failing expectation
11
-
12
- Scenario: Failing expectation
13
- Given failing expectation
14
- expected: "that"
15
- got: "this" (using ==) (RSpec::Expectations::ExpectationNotMetError)
16
- ./features/step_definitions/sample_steps.rb:63:in `/^failing expectation$/'
17
- features/failing_expectation.feature:4:in `Given failing expectation'
18
-
19
- Failing Scenarios:
20
- cucumber features/failing_expectation.feature:3
21
-
22
- 1 scenario (1 failed)
23
- 1 step (1 failed)
24
-
25
- """
@@ -1,174 +0,0 @@
1
- @spork
2
- Feature: DRb Server Integration
3
- To prevent waiting for Rails and other large Ruby applications to load their environments
4
- for each feature run Cucumber ships with a DRb client that can speak to a server which
5
- loads up the environment only once.
6
-
7
- Background: App with Spork support
8
- Spork is a gem that has a DRb server and the scenarios below illustrate how to use it.
9
- However, any DRb server that adheres to the protocol that the client expects would work.
10
-
11
- Given a standard Cucumber project directory structure
12
- And a file named "features/support/env.rb" with:
13
- """
14
- require 'rubygems'
15
- require 'spork'
16
-
17
- Spork.prefork do
18
- puts "I'm loading all the heavy stuff..."
19
- end
20
-
21
- Spork.each_run do
22
- puts "I'm loading the stuff just for this run..."
23
- end
24
- """
25
- And a file named "features/sample.feature" with:
26
- """
27
- # language: en
28
- Feature: Sample
29
- Scenario: this is a test
30
- Given I am just testing stuff
31
- """
32
- And a file named "features/essai.feature" with:
33
- """
34
- # language: fr
35
- Fonctionnalité: Essai
36
- Scenario: ceci est un test
37
- Soit je teste
38
- """
39
- And a file named "features/step_definitions/all_your_steps_are_belong_to_us.rb" with:
40
- """
41
- Given /^I am just testing stuff$/ do
42
- # no-op
43
- end
44
-
45
- Soit /^je teste$/ do
46
- # no-op
47
- end
48
- """
49
-
50
- Scenario: Feature Passing with --drb flag
51
- Given I am running spork in the background
52
-
53
- When I run cucumber features --drb
54
- Then it should pass
55
- And STDERR should be empty
56
- And the output should contain
57
- """
58
- 1 step (1 passed)
59
- """
60
- And the output should contain
61
- """
62
- I'm loading the stuff just for this run...
63
- """
64
- And the output should not contain
65
- """
66
- I'm loading all the heavy stuff...
67
- """
68
-
69
- Scenario: Feature Failing with --drb flag
70
- Given a file named "features/step_definitions/all_your_steps_are_belong_to_us.rb" with:
71
- """
72
- Given /^I am just testing stuff$/ do
73
- raise "Oh noes!"
74
- end
75
- """
76
- And I am running spork in the background
77
-
78
- When I run cucumber features --drb
79
- Then it should fail
80
- And the output should contain
81
- """
82
- 1 step (1 failed)
83
- """
84
- And the output should contain
85
- """
86
- I'm loading the stuff just for this run...
87
- """
88
- And the output should not contain
89
- """
90
- I'm loading all the heavy stuff...
91
- """
92
-
93
- Scenario: Feature Run with --drb flag with no DRb server running
94
- Cucumber will fall back on running the features locally in this case.
95
-
96
- Given I am not running a DRb server in the background
97
-
98
- When I run cucumber features --drb
99
- Then it should pass
100
- And STDERR should match
101
- """
102
- No DRb server is running. Running features locally:
103
- """
104
- And the output should contain
105
- """
106
- I'm loading all the heavy stuff...
107
- I'm loading the stuff just for this run...
108
- """
109
- And the output should contain
110
- """
111
- 1 step (1 passed)
112
- """
113
-
114
-
115
- Scenario: Feature Run with --drb flag *defined in a profile* with no DRb server running
116
-
117
- Given I am not running a DRb server in the background
118
- And the following profile is defined:
119
- """
120
- server: --drb features
121
- """
122
-
123
- When I run cucumber --profile server
124
- Then it should pass
125
- And STDERR should match
126
- """
127
- No DRb server is running. Running features locally:
128
- """
129
- And the output should contain
130
- """
131
- I'm loading all the heavy stuff...
132
- I'm loading the stuff just for this run...
133
- """
134
-
135
- Scenario: Feature Run with --drb specifying a non-standard port
136
-
137
- Given I am running spork in the background on port 9000
138
-
139
- When I run cucumber features --drb --port 9000
140
- Then it should pass
141
- And STDERR should be empty
142
- And the output should contain
143
- """
144
- 1 step (1 passed)
145
- """
146
- And the output should contain
147
- """
148
- I'm loading the stuff just for this run...
149
- """
150
- And the output should not contain
151
- """
152
- I'm loading all the heavy stuff...
153
- """
154
-
155
- Scenario: Feature Run with $CUCUMBER_DRB environment variable
156
-
157
- Given I have environment variable CUCUMBER_DRB set to "9000"
158
- And I am running spork in the background on port 9000
159
-
160
- When I run cucumber features/ --drb
161
- Then it should pass
162
- And STDERR should be empty
163
- And the output should contain
164
- """
165
- 1 step (1 passed)
166
- """
167
- And the output should contain
168
- """
169
- I'm loading the stuff just for this run...
170
- """
171
- And the output should not contain
172
- """
173
- I'm loading all the heavy stuff...
174
- """
@@ -1,20 +0,0 @@
1
- Feature: Exclude ruby and feature files from runs
2
- Developers should be able to easily exclude files from cucumber runs
3
- This is a nice feature to have in conjunction with profiles, so you can exclude
4
- certain environment files from certain runs.
5
-
6
- Scenario: exclude ruby files
7
- Given a standard Cucumber project directory structure
8
- And a file named "features/support/dont_require_me.rb"
9
- And a file named "features/step_definitions/fooz.rb"
10
- And a file named "features/step_definitions/foof.rb"
11
- And a file named "features/step_definitions/foot.rb"
12
- And a file named "features/support/require_me.rb"
13
-
14
- When I run cucumber features -q --verbose --exclude features/support/dont --exclude foo[zf]
15
-
16
- Then "features/support/require_me.rb" should be required
17
- And "features/step_definitions/foot.rb" should be required
18
- And "features/support/dont_require_me.rb" should not be required
19
- And "features/step_definitions/foof.rb" should not be required
20
- And "features/step_definitions/fooz.rb" should not be required
@@ -1,60 +0,0 @@
1
- Feature: --expand option
2
- In order to make it easier to writhe certain editor plugins
3
- and also for some people to understand scenarios, Cucumber
4
- should expand examples in outlines.
5
-
6
- Background:
7
- Given a standard Cucumber project directory structure
8
- And a file named "features/expand_me.feature" with:
9
- """
10
- Feature: submit guess
11
-
12
- Background:
13
- Given the players' names:
14
- | maker | breaker |
15
- | Moriarty | Holmes |
16
-
17
- Scenario Outline: submit guess
18
- Given the secret code is <code>
19
- When I guess <guess>
20
- Then the mark should be <mark>
21
-
22
- Examples: all colors correct
23
- | code | guess | mark |
24
- | r g y c | r g y c | bbbb |
25
- | r g y c | r g c y | bbww |
26
- """
27
-
28
- Scenario: Expand the outline
29
- When I run cucumber -i -q --expand features/expand_me.feature
30
- Then STDERR should be empty
31
- And it should pass with
32
- """
33
- Feature: submit guess
34
-
35
- Background:
36
- Given the players' names:
37
- | maker | breaker |
38
- | Moriarty | Holmes |
39
-
40
- Scenario Outline: submit guess
41
- Given the secret code is <code>
42
- When I guess <guess>
43
- Then the mark should be <mark>
44
-
45
- Examples: all colors correct
46
-
47
- Scenario: | r g y c | r g y c | bbbb |
48
- Given the secret code is r g y c
49
- When I guess r g y c
50
- Then the mark should be bbbb
51
-
52
- Scenario: | r g y c | r g c y | bbww |
53
- Given the secret code is r g y c
54
- When I guess r g c y
55
- Then the mark should be bbww
56
-
57
- 2 scenarios (2 undefined)
58
- 8 steps (8 undefined)
59
-
60
- """
@@ -1,214 +0,0 @@
1
- Feature: JUnit output formatter
2
- In order for developers to create test reports with ant
3
- Cucumber should be able to output JUnit xml files
4
-
5
- Background:
6
- Given I am in junit
7
- And the tmp directory is empty
8
-
9
- Scenario: one feature, one passing scenario, one failing scenario
10
- When I run cucumber --format junit --out tmp/ features/one_passing_one_failing.feature
11
- Then it should fail with
12
- """
13
-
14
- """
15
- And "fixtures/junit/tmp/TEST-features-one_passing_one_failing.xml" with junit duration "0.005" should contain
16
- """
17
- <?xml version="1.0" encoding="UTF-8"?>
18
- <testsuite errors="0" failures="1" name="One passing scenario, one failing scenario" skipped="0" tests="2" time="0.005">
19
- <testcase classname="One passing scenario, one failing scenario" name="Passing" time="0.005">
20
- <system-out/>
21
- <system-err/>
22
- </testcase>
23
- <testcase classname="One passing scenario, one failing scenario" name="Failing" time="0.005">
24
- <failure message="failed Failing" type="failed">
25
- <![CDATA[Scenario: Failing
26
-
27
- Given a failing scenario
28
-
29
- Message:
30
- ]]>
31
- <![CDATA[ (RuntimeError)
32
- features/one_passing_one_failing.feature:7:in `Given a failing scenario']]>
33
- </failure>
34
- <system-out/>
35
- <system-err/>
36
- </testcase>
37
- <system-out>
38
- <![CDATA[]]>
39
- </system-out>
40
- <system-err>
41
- <![CDATA[]]>
42
- </system-err>
43
- </testsuite>
44
-
45
- """
46
-
47
- Scenario: one feature in a subdirectory, one passing scenario, one failing scenario
48
- When I run cucumber --format junit --out tmp/ features/some_subdirectory/one_passing_one_failing.feature --require features
49
- Then it should fail with
50
- """
51
-
52
- """
53
- And "fixtures/junit/tmp/TEST-features-some_subdirectory-one_passing_one_failing.xml" with junit duration "0.005" should contain
54
- """
55
- <?xml version="1.0" encoding="UTF-8"?>
56
- <testsuite errors="0" failures="1" name="Subdirectory - One passing scenario, one failing scenario" skipped="0" tests="2" time="0.005">
57
- <testcase classname="Subdirectory - One passing scenario, one failing scenario" name="Passing" time="0.005">
58
- <system-out/>
59
- <system-err/>
60
- </testcase>
61
- <testcase classname="Subdirectory - One passing scenario, one failing scenario" name="Failing" time="0.005">
62
- <failure message="failed Failing" type="failed">
63
- <![CDATA[Scenario: Failing
64
-
65
- Given a failing scenario
66
-
67
- Message:
68
- ]]>
69
- <![CDATA[ (RuntimeError)
70
- features/some_subdirectory/one_passing_one_failing.feature:7:in `Given a failing scenario']]>
71
- </failure>
72
- <system-out/>
73
- <system-err/>
74
- </testcase>
75
- <system-out>
76
- <![CDATA[]]>
77
- </system-out>
78
- <system-err>
79
- <![CDATA[]]>
80
- </system-err>
81
- </testsuite>
82
-
83
- """
84
-
85
- Scenario: pending and undefined steps are reported as skipped
86
- When I run cucumber --format junit --out tmp/ features/pending.feature
87
- Then it should pass with
88
- """
89
-
90
- """
91
- And "fixtures/junit/tmp/TEST-features-pending.xml" with junit duration "0.009" should contain
92
- """
93
- <?xml version="1.0" encoding="UTF-8"?>
94
- <testsuite errors="0" failures="0" name="Pending step" skipped="2" tests="2" time="0.009">
95
- <testcase classname="Pending step" name="Pending" time="0.009">
96
- <skipped/>
97
- <system-out/>
98
- <system-err/>
99
- </testcase>
100
- <testcase classname="Pending step" name="Undefined" time="0.009">
101
- <skipped/>
102
- <system-out/>
103
- <system-err/>
104
- </testcase>
105
- <system-out>
106
- <![CDATA[]]>
107
- </system-out>
108
- <system-err>
109
- <![CDATA[]]>
110
- </system-err>
111
- </testsuite>
112
-
113
- """
114
-
115
- Scenario: pending and undefined steps with strict option should fail
116
- When I run cucumber --format junit --out tmp/ features/pending.feature --strict
117
- Then it should fail with
118
- """
119
-
120
- """
121
- And "fixtures/junit/tmp/TEST-features-pending.xml" with junit duration "0.000160" should contain
122
- """
123
- <?xml version="1.0" encoding="UTF-8"?>
124
- <testsuite errors="0" failures="2" name="Pending step" skipped="0" tests="2" time="0.000160">
125
- <testcase classname="Pending step" name="Pending" time="0.000160">
126
- <failure message="pending Pending" type="pending">
127
- <![CDATA[Scenario: Pending
128
-
129
- ]]>
130
- <![CDATA[TODO (Cucumber::Pending)
131
- features/pending.feature:4:in `Given a pending step']]>
132
- </failure>
133
- <system-out/>
134
- <system-err/>
135
- </testcase>
136
- <testcase classname="Pending step" name="Undefined" time="0.000160">
137
- <failure message="undefined Undefined" type="undefined">
138
- <![CDATA[Scenario: Undefined
139
-
140
- ]]>
141
- <![CDATA[Undefined step: "an undefined step" (Cucumber::Undefined)
142
- features/pending.feature:7:in `Given an undefined step']]>
143
- </failure>
144
- <system-out/>
145
- <system-err/>
146
- </testcase>
147
- <system-out>
148
- <![CDATA[]]>
149
- </system-out>
150
- <system-err>
151
- <![CDATA[]]>
152
- </system-err>
153
- </testsuite>
154
-
155
- """
156
-
157
- Scenario: run all features
158
- When I run cucumber --format junit --out tmp/ features
159
- Then it should fail with
160
- """
161
-
162
- """
163
- And "fixtures/junit/tmp/TEST-features-one_passing_one_failing.xml" should exist
164
- And "fixtures/junit/tmp/TEST-features-pending.xml" should exist
165
-
166
- Scenario: show correct error message if no --out is passed
167
- When I run cucumber --format junit features
168
- Then STDERR should not match
169
- """
170
- can't convert .* into String \(TypeError\)
171
- """
172
- And STDERR should match
173
- """
174
- You \*must\* specify \-\-out DIR for the junit formatter
175
- """
176
-
177
- Scenario: one feature, one scenario outline, two examples: one passing, one failing
178
- When I run cucumber --format junit --out tmp/ features/scenario_outline.feature
179
- Then it should fail with
180
- """
181
-
182
- """
183
- And "fixtures/junit/tmp/TEST-features-scenario_outline.xml" with junit duration "0.005" should contain
184
- """
185
- <?xml version="1.0" encoding="UTF-8"?>
186
- <testsuite errors="0" failures="1" name="Scenario outlines" skipped="0" tests="2" time="0.005">
187
- <testcase classname="Scenario outlines" name="Using scenario outlines (outline example : | passing |)" time="0.005">
188
- <system-out/>
189
- <system-err/>
190
- </testcase>
191
- <testcase classname="Scenario outlines" name="Using scenario outlines (outline example : | failing |)" time="0.005">
192
- <failure message="failed Using scenario outlines (outline example : | failing |)" type="failed">
193
- <![CDATA[Scenario Outline: Using scenario outlines
194
-
195
- Example row: | failing |
196
-
197
- Message:
198
- ]]>
199
- <![CDATA[ (RuntimeError)
200
- features/scenario_outline.feature:4:in `Given a <type> scenario']]>
201
- </failure>
202
- <system-out/>
203
- <system-err/>
204
- </testcase>
205
- <system-out>
206
- <![CDATA[]]>
207
- </system-out>
208
- <system-err>
209
- <![CDATA[]]>
210
- </system-err>
211
- </testsuite>
212
-
213
- """
214
-
@@ -1,30 +0,0 @@
1
- Feature: Language from header
2
- In order to simplify command line and
3
- settings in IDEs, Cucumber should pick
4
- up parser language from a header.
5
-
6
- Scenario: LOLCAT
7
- Given a standard Cucumber project directory structure
8
- And a file named "features/lolcat.feature" with:
9
- """
10
- # language: en-lol
11
- OH HAI: STUFFING
12
- B4: HUNGRY
13
- MISHUN: CUKES
14
- DEN KTHXBAI
15
- """
16
- When I run cucumber -i features/lolcat.feature
17
- Then it should pass with
18
- """
19
- # language: en-lol
20
- OH HAI: STUFFING
21
-
22
- B4: HUNGRY # features/lolcat.feature:3
23
-
24
- MISHUN: CUKES # features/lolcat.feature:4
25
- DEN KTHXBAI # features/lolcat.feature:5
26
-
27
- 1 scenario (1 undefined)
28
- 1 step (1 undefined)
29
-
30
- """
@@ -1,42 +0,0 @@
1
- Feature: Listener Debugger
2
- In order to easily visualise the listener API
3
- As a developer
4
- I want a formatter that prints the calls to the listener as a feature is run
5
-
6
- Background:
7
- Given a standard Cucumber project directory structure
8
-
9
- Scenario: title
10
- Given a file named "features/sample.feature" with:
11
- """
12
- Feature: Sample
13
-
14
- Scenario: Sample
15
- Given Sample
16
-
17
- """
18
- When I run cucumber -f debug features/sample.feature
19
- Then STDERR should be empty
20
- Then it should pass with
21
- """
22
- before_features
23
- before_feature
24
- before_tags
25
- after_tags
26
- feature_name
27
- before_feature_element
28
- before_tags
29
- after_tags
30
- scenario_name
31
- before_steps
32
- before_step
33
- before_step_result
34
- step_name
35
- after_step_result
36
- after_step
37
- after_steps
38
- after_feature_element
39
- after_feature
40
- after_features
41
-
42
- """
@@ -1,44 +0,0 @@
1
- Feature: Multiline description names
2
- In order to accurately document feature elements
3
- As a cucumberist
4
- I want to have multiline names
5
-
6
- Scenario: multiline scenario
7
- When I run cucumber features/multiline_name.feature --no-snippets
8
- Then STDERR should be empty
9
- Then it should pass with
10
- """
11
- Feature: multiline
12
-
13
- Background: I'm a multiline name # features/multiline_name.feature:3
14
- which goes on and on and on for three lines
15
- yawn
16
- Given passing without a table # features/step_definitions/sample_steps.rb:12
17
-
18
- Scenario: I'm a multiline name # features/multiline_name.feature:8
19
- which goes on and on and on for three lines
20
- yawn
21
- Given passing without a table # features/step_definitions/sample_steps.rb:12
22
-
23
- Scenario Outline: I'm a multiline name # features/multiline_name.feature:13
24
- which goes on and on and on for three lines
25
- yawn
26
- Given <state> without a table # features/step_definitions/sample_steps.rb:12
27
-
28
- Examples:
29
- | state |
30
- | passing |
31
-
32
- Scenario Outline: name # features/multiline_name.feature:21
33
- Given <state> without a table # features/step_definitions/sample_steps.rb:12
34
-
35
- Examples: I'm a multiline name
36
- which goes on and on and on for three lines
37
- yawn
38
- | state |
39
- | passing |
40
-
41
- 3 scenarios (3 passed)
42
- 6 steps (6 passed)
43
-
44
- """