cucumber 2.99.0 → 3.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 (395) hide show
  1. checksums.yaml +4 -4
  2. data/.cucumberproignore +6 -0
  3. data/.gitattributes +32 -0
  4. data/.github/ISSUE_TEMPLATE.md +1 -1
  5. data/.github/PULL_REQUEST_TEMPLATE.md +1 -0
  6. data/.rubocop.yml +13 -0
  7. data/.rubocop_todo.yml +991 -0
  8. data/.travis.yml +56 -10
  9. data/{History.md → CHANGELOG.md} +166 -32
  10. data/CONTRIBUTING.md +21 -1
  11. data/Gemfile +18 -5
  12. data/README.md +13 -4
  13. data/Rakefile +12 -2
  14. data/appveyor.yml +27 -0
  15. data/bin/cucumber +2 -1
  16. data/cucumber.gemspec +15 -10
  17. data/cucumber.yml +10 -11
  18. data/examples/i18n/Rakefile +1 -1
  19. data/examples/i18n/ar/features/step_definitions/calculator_steps.rb +8 -3
  20. data/examples/i18n/ar/lib/calculator.rb +2 -2
  21. data/examples/i18n/bg/features/step_definitions/calculator_steps.rb +6 -6
  22. data/examples/i18n/bg/features/support/env.rb +6 -1
  23. data/examples/i18n/bg/lib/calculator.rb +2 -1
  24. data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +10 -5
  25. data/examples/i18n/ca/lib/calculadora.rb +2 -2
  26. data/examples/i18n/cs/features/step_definitions/calculator_steps.rb +10 -5
  27. data/examples/i18n/cs/lib/calculator.rb +3 -3
  28. data/examples/i18n/da/features/step_definitions/lommeregner_steps.rb +10 -5
  29. data/examples/i18n/da/lib/lommeregner.rb +2 -2
  30. data/examples/i18n/de/features/step_definitions/calculator_steps.rb +10 -5
  31. data/examples/i18n/de/lib/calculator.rb +2 -2
  32. data/examples/i18n/el/features/step_definitions/calculator_steps.rb +10 -5
  33. data/examples/i18n/el/lib/calculator.rb +2 -2
  34. data/examples/i18n/en/features/step_definitions/calculator_steps.rb +9 -4
  35. data/examples/i18n/en/lib/calculator.rb +2 -2
  36. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +4 -4
  37. data/examples/i18n/en-lol/features/support/env.rb +6 -2
  38. data/examples/i18n/en-lol/lib/basket.rb +2 -2
  39. data/examples/i18n/en-lol/lib/belly.rb +2 -2
  40. data/examples/i18n/eo/features/step_definitions/calculator_steps.rb +9 -4
  41. data/examples/i18n/eo/lib/calculator.rb +2 -2
  42. data/examples/i18n/es/features/step_definitions/calculador_steps.rb +10 -5
  43. data/examples/i18n/es/lib/calculador.rb +2 -2
  44. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +10 -5
  45. data/examples/i18n/et/lib/kalkulaator.rb +3 -3
  46. data/examples/i18n/fi/features/step_definitions/laskin_steps.rb +9 -4
  47. data/examples/i18n/fi/lib/laskin.rb +1 -1
  48. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +8 -8
  49. data/examples/i18n/fr/features/support/env.rb +7 -2
  50. data/examples/i18n/fr/lib/calculatrice.rb +2 -2
  51. data/examples/i18n/he/features/step_definitions/calculator_steps.rb +10 -5
  52. data/examples/i18n/he/lib/calculator.rb +1 -1
  53. data/examples/i18n/hi/features/step_definitions/calculator_steps.rb +9 -4
  54. data/examples/i18n/hi/lib/calculator.rb +1 -1
  55. data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +9 -5
  56. data/examples/i18n/ht/lib/kalkilatris.rb +2 -2
  57. data/examples/i18n/hu/features/step_definitions/calculator_steps.rb +10 -5
  58. data/examples/i18n/hu/lib/calculator.rb +1 -1
  59. data/examples/i18n/id/features/step_definitions/calculator_steps.rb +10 -5
  60. data/examples/i18n/id/lib/calculator.rb +2 -2
  61. data/examples/i18n/it/features/step_definitions/calcolatrice_steps.rb +10 -5
  62. data/examples/i18n/it/lib/calcolatrice.rb +3 -3
  63. data/examples/i18n/ja/features/step_definitions/calculator_steps.rb +3 -3
  64. data/examples/i18n/ja/features/support/env.rb +7 -2
  65. data/examples/i18n/ja/lib/calculator.rb +2 -2
  66. data/examples/i18n/ko/features/step_definitions/calculator_steps.rb +10 -5
  67. data/examples/i18n/ko/lib/calculator.rb +2 -2
  68. data/examples/i18n/lt/features/step_definitions/calculator_steps.rb +10 -5
  69. data/examples/i18n/lt/lib/calculator.rb +2 -2
  70. data/examples/i18n/lv/features/step_definitions/calculator_steps.rb +10 -5
  71. data/examples/i18n/lv/lib/calculator.rb +2 -2
  72. data/examples/i18n/no/features/step_definitions/kalkulator_steps.rb +3 -3
  73. data/examples/i18n/no/features/support/env.rb +7 -2
  74. data/examples/i18n/no/lib/kalkulator.rb +2 -2
  75. data/examples/i18n/pl/features/step_definitions/calculator_steps.rb +10 -5
  76. data/examples/i18n/pl/features/support/env.rb +6 -1
  77. data/examples/i18n/pl/lib/calculator.rb +2 -2
  78. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +3 -3
  79. data/examples/i18n/pt/features/support/env.rb +7 -2
  80. data/examples/i18n/pt/lib/calculadora.rb +1 -1
  81. data/examples/i18n/ro/features/step_definitions/calculator_steps.rb +11 -6
  82. data/examples/i18n/ro/lib/calculator.rb +1 -1
  83. data/examples/i18n/ru/features/step_definitions/calculator_steps.rb +5 -5
  84. data/examples/i18n/ru/features/support/env.rb +6 -1
  85. data/examples/i18n/ru/lib/calculator.rb +2 -1
  86. data/examples/i18n/sk/features/step_definitions/calculator_steps.rb +10 -5
  87. data/examples/i18n/sk/lib/calculator.rb +2 -2
  88. data/examples/i18n/sr-Cyrl/features/step_definitions/calculator_steps.rb +3 -3
  89. data/examples/i18n/sr-Cyrl/features/support/env.rb +7 -2
  90. data/examples/i18n/sr-Cyrl/lib/calculator.rb +2 -2
  91. data/examples/i18n/sr-Latn/features/step_definitions/calculator_steps.rb +10 -5
  92. data/examples/i18n/sr-Latn/lib/calculator.rb +2 -2
  93. data/examples/i18n/sv/features/step_definitions/kalkulator_steps.rb +9 -4
  94. data/examples/i18n/sv/lib/kalkulator.rb +2 -2
  95. data/examples/i18n/tr/features/step_definitions/hesap_makinesi_adimlari.rb +10 -5
  96. data/examples/i18n/tr/lib/hesap_makinesi.rb +2 -2
  97. data/examples/i18n/uk/features/step_definitions/calculator_steps.rb +4 -4
  98. data/examples/i18n/uk/features/support/env.rb +6 -1
  99. data/examples/i18n/uk/lib/calculator.rb +2 -1
  100. data/examples/i18n/uz/features/step_definitions/calculator_steps.rb +4 -4
  101. data/examples/i18n/uz/features/support/env.rb +6 -1
  102. data/examples/i18n/uz/lib/calculator.rb +2 -1
  103. data/examples/i18n/zh-CN/features/step_definitions/calculator_steps.rb +11 -6
  104. data/examples/i18n/zh-CN/lib/calculator.rb +2 -2
  105. data/examples/i18n/zh-TW/features/step_definitions/calculator_steps.rb +10 -5
  106. data/examples/i18n/zh-TW/lib/calculator.rb +2 -2
  107. data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +3 -3
  108. data/examples/sinatra/features/step_definitions/add_steps.rb +4 -4
  109. data/examples/sinatra/features/support/env.rb +6 -1
  110. data/examples/tcl/features/step_definitions/fib_steps.rb +2 -2
  111. data/examples/tcl/features/support/env.rb +2 -1
  112. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +4 -4
  113. data/examples/watir/features/step_definitions/search_steps.rb +6 -5
  114. data/examples/watir/features/support/env.rb +5 -1
  115. data/examples/watir/features/support/screenshots.rb +5 -5
  116. data/features/docs/api/list_step_defs_as_json.feature +21 -7
  117. data/features/docs/api/listen_for_events.feature +9 -8
  118. data/features/docs/api/run_cli_main_with_existing_runtime.feature +1 -0
  119. data/features/docs/cli/dry_run.feature +3 -0
  120. data/features/docs/cli/execute_with_tag_filter.feature +8 -6
  121. data/features/docs/cli/fail_fast.feature +2 -0
  122. data/features/docs/cli/help.feature +8 -0
  123. data/features/docs/{gherkin/language_help.feature → cli/i18n.feature} +6 -6
  124. data/features/docs/cli/randomize.feature +2 -2
  125. data/features/docs/cli/retry_failing_tests.feature +75 -15
  126. data/features/docs/cli/run_scenarios_matching_name.feature +1 -0
  127. data/features/docs/cli/specifying_multiple_formatters.feature +3 -0
  128. data/features/docs/cli/strict_mode.feature +6 -0
  129. data/features/docs/defining_steps/ambiguous_steps.feature +89 -0
  130. data/features/docs/defining_steps/nested_steps.feature +5 -1
  131. data/features/docs/defining_steps/nested_steps_i18n.feature +3 -0
  132. data/features/docs/defining_steps/nested_steps_with_second_arg.feature +2 -0
  133. data/features/docs/defining_steps/printing_messages.feature +1 -2
  134. data/features/docs/defining_steps/skip_scenario.feature +1 -34
  135. data/features/docs/defining_steps/snippets.feature +18 -18
  136. data/features/docs/events/gherkin_source_read_event.feature +43 -0
  137. data/features/docs/events/step_activated_event.feature +36 -0
  138. data/features/docs/events/step_definition_registered_event.feature +29 -0
  139. data/features/docs/events/test_case_finished_event.feature +35 -0
  140. data/features/docs/events/test_case_started_event.feature +54 -0
  141. data/features/docs/events/test_run_finished_event.feature +40 -0
  142. data/features/docs/events/test_run_started_event.feature +41 -0
  143. data/features/docs/events/test_step_finished_event.feature +47 -0
  144. data/features/docs/events/test_step_started_event.feature +43 -0
  145. data/features/docs/exception_in_after_hook.feature +3 -2
  146. data/features/docs/exception_in_after_step_hook.feature +2 -0
  147. data/features/docs/exception_in_around_hook.feature +2 -0
  148. data/features/docs/exception_in_before_hook.feature +3 -1
  149. data/features/docs/extending_cucumber/custom_formatter.feature +12 -48
  150. data/features/docs/formatters/json_formatter.feature +4 -4
  151. data/features/docs/formatters/junit_formatter.feature +7 -6
  152. data/features/docs/formatters/pretty_formatter.feature +1 -0
  153. data/features/docs/formatters/progress_formatter.feature +1 -0
  154. data/features/docs/formatters/rerun_formatter.feature +2 -0
  155. data/features/docs/formatters/summary_formatter.feature +35 -0
  156. data/features/docs/formatters/usage_formatter.feature +3 -0
  157. data/features/docs/getting_started.feature +2 -1
  158. data/features/docs/gherkin/background.feature +5 -5
  159. data/features/docs/gherkin/doc_strings.feature +2 -0
  160. data/features/docs/gherkin/expand_option_for_outlines.feature +1 -0
  161. data/features/docs/gherkin/outlines.feature +6 -4
  162. data/features/docs/gherkin/unicode_table.feature +2 -1
  163. data/features/docs/gherkin/using_descriptions.feature +1 -0
  164. data/features/docs/gherkin/using_star_notation.feature +1 -1
  165. data/features/docs/post_configuration_hook.feature +1 -17
  166. data/features/docs/rake_task.feature +5 -0
  167. data/features/docs/raketask.feature +3 -1
  168. data/features/docs/work_in_progress.feature +5 -2
  169. data/features/docs/writing_support_code/after_step_hooks.feature +3 -1
  170. data/features/docs/writing_support_code/around_hooks.feature +6 -0
  171. data/features/docs/writing_support_code/before_hook.feature +1 -0
  172. data/features/docs/writing_support_code/hook_order.feature +3 -1
  173. data/features/docs/writing_support_code/parameter_types.feature +53 -0
  174. data/features/docs/writing_support_code/tagged_hooks.feature +1 -1
  175. data/features/docs/writing_support_code/world.feature +129 -0
  176. data/features/lib/step_definitions/aruba_steps.rb +5 -10
  177. data/features/lib/step_definitions/cli_steps.rb +4 -0
  178. data/features/lib/step_definitions/cucumber_steps.rb +9 -12
  179. data/features/lib/step_definitions/iso-8859-1_steps.rb +9 -5
  180. data/features/lib/step_definitions/json_steps.rb +2 -1
  181. data/features/lib/step_definitions/junit_steps.rb +2 -1
  182. data/features/lib/step_definitions/language_steps.rb +3 -2
  183. data/features/lib/step_definitions/profile_steps.rb +7 -6
  184. data/features/lib/step_definitions/retry_steps.rb +33 -13
  185. data/features/lib/step_definitions/ruby_steps.rb +2 -1
  186. data/features/lib/support/env.rb +3 -2
  187. data/features/lib/support/fake_wire_server.rb +17 -3
  188. data/features/lib/support/feature_factory.rb +2 -1
  189. data/features/lib/support/normalise_output.rb +14 -12
  190. data/features/lib/support/parameter_types.rb +5 -0
  191. data/gem_tasks/contributors.rake +10 -6
  192. data/gem_tasks/cov.rake +1 -0
  193. data/gem_tasks/downloads.rb +1 -0
  194. data/gem_tasks/environment.rake +2 -5
  195. data/gem_tasks/examples.rake +3 -2
  196. data/gem_tasks/fix_cr_lf.rake +19 -7
  197. data/gem_tasks/flog.rake +4 -3
  198. data/gem_tasks/rspec.rake +2 -1
  199. data/gem_tasks/sass.rake +2 -1
  200. data/lib/autotest/cucumber.rb +1 -0
  201. data/lib/autotest/cucumber_mixin.rb +17 -16
  202. data/lib/autotest/cucumber_rails.rb +1 -0
  203. data/lib/autotest/cucumber_rails_rspec.rb +1 -0
  204. data/lib/autotest/cucumber_rails_rspec2.rb +1 -0
  205. data/lib/autotest/cucumber_rspec.rb +1 -0
  206. data/lib/autotest/cucumber_rspec2.rb +1 -0
  207. data/lib/autotest/discover.rb +3 -2
  208. data/lib/cucumber/cli/configuration.rb +12 -21
  209. data/lib/cucumber/cli/main.rb +8 -7
  210. data/lib/cucumber/cli/options.rb +341 -217
  211. data/lib/cucumber/cli/profile_loader.rb +26 -21
  212. data/lib/cucumber/cli/rerun_file.rb +1 -0
  213. data/lib/cucumber/configuration.rb +54 -37
  214. data/lib/cucumber/constantize.rb +2 -1
  215. data/lib/cucumber/core_ext/string.rb +2 -1
  216. data/lib/cucumber/deprecate.rb +4 -3
  217. data/lib/cucumber/encoding.rb +1 -0
  218. data/lib/cucumber/errors.rb +3 -1
  219. data/lib/cucumber/events/gherkin_source_read.rb +17 -0
  220. data/lib/cucumber/events/{step_match.rb → step_activated.rb} +5 -2
  221. data/lib/cucumber/events/step_definition_registered.rb +24 -0
  222. data/lib/cucumber/events/test_case_finished.rb +18 -0
  223. data/lib/cucumber/events/test_case_started.rb +15 -0
  224. data/lib/cucumber/events/test_run_finished.rb +12 -0
  225. data/lib/cucumber/events/test_run_started.rb +16 -0
  226. data/lib/cucumber/events/test_step_finished.rb +20 -0
  227. data/lib/cucumber/events/test_step_started.rb +17 -0
  228. data/lib/cucumber/events.rb +23 -3
  229. data/lib/cucumber/file_specs.rb +1 -0
  230. data/lib/cucumber/filters/activate_steps.rb +8 -3
  231. data/lib/cucumber/filters/apply_after_hooks.rb +1 -0
  232. data/lib/cucumber/filters/apply_after_step_hooks.rb +1 -0
  233. data/lib/cucumber/filters/apply_around_hooks.rb +1 -0
  234. data/lib/cucumber/filters/apply_before_hooks.rb +1 -0
  235. data/lib/cucumber/filters/broadcast_test_run_started_event.rb +27 -0
  236. data/lib/cucumber/filters/gated_receiver.rb +1 -0
  237. data/lib/cucumber/filters/prepare_world.rb +1 -0
  238. data/lib/cucumber/filters/quit.rb +1 -0
  239. data/lib/cucumber/filters/randomizer.rb +1 -0
  240. data/lib/cucumber/filters/retry.rb +4 -4
  241. data/lib/cucumber/filters/tag_limits/test_case_index.rb +1 -0
  242. data/lib/cucumber/filters/tag_limits/verifier.rb +2 -1
  243. data/lib/cucumber/filters/tag_limits.rb +4 -3
  244. data/lib/cucumber/filters.rb +3 -0
  245. data/lib/cucumber/formatter/ansicolor.rb +9 -11
  246. data/lib/cucumber/formatter/backtrace_filter.rb +21 -8
  247. data/lib/cucumber/formatter/console.rb +72 -66
  248. data/lib/cucumber/formatter/console_counts.rb +44 -0
  249. data/lib/cucumber/formatter/console_issues.rb +58 -0
  250. data/lib/cucumber/formatter/duration.rb +2 -1
  251. data/lib/cucumber/formatter/duration_extractor.rb +1 -0
  252. data/lib/cucumber/formatter/fail_fast.rb +4 -2
  253. data/lib/cucumber/formatter/fanout.rb +1 -0
  254. data/lib/cucumber/formatter/hook_query_visitor.rb +1 -0
  255. data/lib/cucumber/formatter/html.rb +175 -249
  256. data/lib/cucumber/formatter/html_builder.rb +120 -0
  257. data/lib/cucumber/formatter/ignore_missing_messages.rb +1 -0
  258. data/lib/cucumber/formatter/inline-js.js +30 -0
  259. data/lib/cucumber/formatter/interceptor.rb +3 -2
  260. data/lib/cucumber/formatter/io.rb +2 -1
  261. data/lib/cucumber/formatter/json.rb +33 -30
  262. data/lib/cucumber/formatter/json_pretty.rb +1 -0
  263. data/lib/cucumber/formatter/junit.rb +26 -24
  264. data/lib/cucumber/formatter/legacy_api/adapter.rb +81 -69
  265. data/lib/cucumber/formatter/legacy_api/ast.rb +27 -22
  266. data/lib/cucumber/formatter/legacy_api/results.rb +7 -8
  267. data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +1 -0
  268. data/lib/cucumber/formatter/pretty.rb +24 -18
  269. data/lib/cucumber/formatter/progress.rb +55 -13
  270. data/lib/cucumber/formatter/rerun.rb +15 -18
  271. data/lib/cucumber/formatter/stepdefs.rb +1 -0
  272. data/lib/cucumber/formatter/steps.rb +2 -1
  273. data/lib/cucumber/formatter/summary.rb +43 -20
  274. data/lib/cucumber/formatter/unicode.rb +2 -1
  275. data/lib/cucumber/formatter/usage.rb +33 -28
  276. data/lib/cucumber/gherkin/data_table_parser.rb +1 -0
  277. data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +2 -1
  278. data/lib/cucumber/gherkin/formatter/escaping.rb +2 -1
  279. data/lib/cucumber/gherkin/i18n.rb +1 -0
  280. data/lib/cucumber/gherkin/steps_parser.rb +1 -0
  281. data/lib/cucumber/{rb_support/rb_dsl.rb → glue/dsl.rb} +41 -30
  282. data/lib/cucumber/glue/hook.rb +43 -0
  283. data/lib/cucumber/glue/invoke_in_world.rb +70 -0
  284. data/lib/cucumber/glue/proto_world.rb +220 -0
  285. data/lib/cucumber/{rb_support/rb_language.rb → glue/registry_and_more.rb} +60 -90
  286. data/lib/cucumber/{rb_support → glue}/snippet.rb +64 -26
  287. data/lib/cucumber/glue/step_definition.rb +143 -0
  288. data/lib/cucumber/glue/world_factory.rb +23 -0
  289. data/lib/cucumber/hooks.rb +9 -8
  290. data/lib/cucumber/load_path.rb +1 -0
  291. data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +158 -0
  292. data/lib/cucumber/multiline_argument/data_table.rb +47 -181
  293. data/lib/cucumber/multiline_argument/doc_string.rb +1 -0
  294. data/lib/cucumber/multiline_argument.rb +6 -15
  295. data/lib/cucumber/platform.rb +4 -5
  296. data/lib/cucumber/project_initializer.rb +3 -2
  297. data/lib/cucumber/rake/task.rb +19 -14
  298. data/lib/cucumber/rspec/disable_option_parser.rb +2 -1
  299. data/lib/cucumber/rspec/doubles.rb +2 -1
  300. data/lib/cucumber/running_test_case.rb +3 -27
  301. data/lib/cucumber/runtime/after_hooks.rb +2 -1
  302. data/lib/cucumber/runtime/before_hooks.rb +1 -0
  303. data/lib/cucumber/runtime/for_programming_languages.rb +2 -36
  304. data/lib/cucumber/runtime/step_hooks.rb +1 -0
  305. data/lib/cucumber/runtime/support_code.rb +21 -16
  306. data/lib/cucumber/runtime/user_interface.rb +10 -16
  307. data/lib/cucumber/runtime.rb +49 -32
  308. data/lib/cucumber/step_argument.rb +1 -2
  309. data/lib/cucumber/step_definition_light.rb +2 -0
  310. data/lib/cucumber/step_definitions.rb +1 -0
  311. data/lib/cucumber/step_match.rb +30 -15
  312. data/lib/cucumber/step_match_search.rb +3 -3
  313. data/lib/cucumber/term/ansicolor.rb +2 -1
  314. data/lib/cucumber/unit.rb +1 -0
  315. data/lib/cucumber/version +1 -1
  316. data/lib/cucumber.rb +1 -13
  317. data/lib/simplecov_setup.rb +2 -1
  318. data/scripts/invite-collaborator +40 -0
  319. data/scripts/update-changelog +86 -0
  320. data/spec/cucumber/cli/configuration_spec.rb +109 -98
  321. data/spec/cucumber/cli/main_spec.rb +8 -7
  322. data/spec/cucumber/cli/options_spec.rb +114 -79
  323. data/spec/cucumber/cli/profile_loader_spec.rb +25 -5
  324. data/spec/cucumber/cli/rerun_spec.rb +21 -20
  325. data/spec/cucumber/configuration_spec.rb +48 -47
  326. data/spec/cucumber/constantize_spec.rb +3 -2
  327. data/spec/cucumber/events_spec.rb +9 -0
  328. data/spec/cucumber/file_specs_spec.rb +26 -25
  329. data/spec/cucumber/filters/activate_steps_spec.rb +25 -22
  330. data/spec/cucumber/filters/gated_receiver_spec.rb +7 -6
  331. data/spec/cucumber/filters/retry_spec.rb +42 -23
  332. data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +12 -11
  333. data/spec/cucumber/filters/tag_limits/verifier_spec.rb +15 -14
  334. data/spec/cucumber/filters/tag_limits_spec.rb +9 -8
  335. data/spec/cucumber/formatter/ansicolor_spec.rb +10 -9
  336. data/spec/cucumber/formatter/backtrace_filter_spec.rb +32 -0
  337. data/spec/cucumber/formatter/console_counts_spec.rb +14 -0
  338. data/spec/cucumber/formatter/duration_spec.rb +4 -3
  339. data/spec/cucumber/formatter/fail_fast_spec.rb +27 -27
  340. data/spec/cucumber/formatter/html_spec.rb +65 -60
  341. data/spec/cucumber/formatter/interceptor_spec.rb +1 -0
  342. data/spec/cucumber/formatter/json_spec.rb +71 -97
  343. data/spec/cucumber/formatter/junit_spec.rb +46 -47
  344. data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +134 -141
  345. data/spec/cucumber/formatter/pretty_spec.rb +105 -117
  346. data/spec/cucumber/formatter/progress_spec.rb +22 -21
  347. data/spec/cucumber/formatter/rerun_spec.rb +70 -64
  348. data/spec/cucumber/formatter/spec_helper.rb +14 -12
  349. data/spec/cucumber/{rb_support/rb_world_spec.rb → glue/proto_world_spec.rb} +22 -6
  350. data/spec/cucumber/glue/registry_and_more_spec.rb +213 -0
  351. data/spec/cucumber/{rb_support → glue}/snippet_spec.rb +62 -25
  352. data/spec/cucumber/glue/step_definition_spec.rb +207 -0
  353. data/spec/cucumber/hooks_spec.rb +5 -4
  354. data/spec/cucumber/multiline_argument/data_table_spec.rb +179 -129
  355. data/spec/cucumber/project_initializer_spec.rb +12 -11
  356. data/spec/cucumber/rake/forked_spec.rb +22 -17
  357. data/spec/cucumber/rake/task_spec.rb +21 -20
  358. data/spec/cucumber/running_test_case_spec.rb +36 -35
  359. data/spec/cucumber/runtime/for_programming_languages_spec.rb +2 -30
  360. data/spec/cucumber/runtime/support_code_spec.rb +1 -0
  361. data/spec/cucumber/runtime_spec.rb +3 -2
  362. data/spec/cucumber/step_argument_spec.rb +6 -5
  363. data/spec/cucumber/step_match_search_spec.rb +32 -41
  364. data/spec/cucumber/step_match_spec.rb +34 -33
  365. data/spec/cucumber/world/pending_spec.rb +12 -11
  366. data/spec/spec_helper.rb +1 -0
  367. data/spec/support/standard_step_actions.rb +2 -1
  368. metadata +132 -61
  369. data/features/docs/formatters/debug_formatter.feature +0 -47
  370. data/features/docs/formatters/formatter_step_file_colon_line.feature +0 -44
  371. data/features/docs/writing_support_code/transforms.feature +0 -98
  372. data/features/lib/step_definitions/wire_steps.rb +0 -58
  373. data/gem_tasks/cucumber.rake +0 -25
  374. data/lib/cucumber/ast.rb +0 -13
  375. data/lib/cucumber/core_ext/instance_exec.rb +0 -70
  376. data/lib/cucumber/events/after_test_case.rb +0 -25
  377. data/lib/cucumber/events/after_test_step.rb +0 -30
  378. data/lib/cucumber/events/before_test_case.rb +0 -18
  379. data/lib/cucumber/events/before_test_step.rb +0 -23
  380. data/lib/cucumber/events/bus.rb +0 -86
  381. data/lib/cucumber/events/finished_testing.rb +0 -9
  382. data/lib/cucumber/formatter/debug.rb +0 -35
  383. data/lib/cucumber/formatter/event_bus_report.rb +0 -38
  384. data/lib/cucumber/rb_support/rb_hook.rb +0 -19
  385. data/lib/cucumber/rb_support/rb_step_definition.rb +0 -131
  386. data/lib/cucumber/rb_support/rb_transform.rb +0 -59
  387. data/lib/cucumber/rb_support/rb_world.rb +0 -149
  388. data/spec/cucumber/core_ext/instance_exec_spec.rb +0 -4
  389. data/spec/cucumber/events/bus_spec.rb +0 -94
  390. data/spec/cucumber/formatter/debug_spec.rb +0 -64
  391. data/spec/cucumber/formatter/event_bus_report_spec.rb +0 -88
  392. data/spec/cucumber/rb_support/rb_language_spec.rb +0 -243
  393. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +0 -199
  394. data/spec/cucumber/rb_support/rb_transform_spec.rb +0 -46
  395. data/spec/cucumber_spec.rb +0 -39
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.99.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 1.5.0
21
+ version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 1.5.0
28
+ version: 3.0.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: builder
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -44,16 +44,16 @@ dependencies:
44
44
  name: diff-lcs
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 1.1.3
49
+ version: '1.3'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ">="
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 1.1.3
56
+ version: '1.3'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: gherkin
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -116,6 +116,20 @@ dependencies:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
118
  version: 0.0.1
119
+ - !ruby/object:Gem::Dependency
120
+ name: cucumber-expressions
121
+ requirement: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: 4.0.3
126
+ type: :runtime
127
+ prerelease: false
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: 4.0.3
119
133
  - !ruby/object:Gem::Dependency
120
134
  name: aruba
121
135
  requirement: !ruby/object:Gem::Requirement
@@ -136,14 +150,14 @@ dependencies:
136
150
  requirements:
137
151
  - - "~>"
138
152
  - !ruby/object:Gem::Version
139
- version: '1.7'
153
+ version: 1.8.6
140
154
  type: :development
141
155
  prerelease: false
142
156
  version_requirements: !ruby/object:Gem::Requirement
143
157
  requirements:
144
158
  - - "~>"
145
159
  - !ruby/object:Gem::Version
146
- version: '1.7'
160
+ version: 1.8.6
147
161
  - !ruby/object:Gem::Dependency
148
162
  name: nokogiri
149
163
  requirement: !ruby/object:Gem::Requirement
@@ -242,6 +256,34 @@ dependencies:
242
256
  - - ">="
243
257
  - !ruby/object:Gem::Version
244
258
  version: '0'
259
+ - !ruby/object:Gem::Dependency
260
+ name: rubocop
261
+ requirement: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - "~>"
264
+ - !ruby/object:Gem::Version
265
+ version: 0.40.0
266
+ type: :development
267
+ prerelease: false
268
+ version_requirements: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - "~>"
271
+ - !ruby/object:Gem::Version
272
+ version: 0.40.0
273
+ - !ruby/object:Gem::Dependency
274
+ name: octokit
275
+ requirement: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ version: '0'
280
+ type: :development
281
+ prerelease: false
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: '0'
245
287
  - !ruby/object:Gem::Dependency
246
288
  name: bcat
247
289
  requirement: !ruby/object:Gem::Requirement
@@ -334,18 +376,23 @@ extensions: []
334
376
  extra_rdoc_files: []
335
377
  files:
336
378
  - ".coveralls.yml"
379
+ - ".cucumberproignore"
380
+ - ".gitattributes"
337
381
  - ".github/ISSUE_TEMPLATE.md"
338
382
  - ".github/PULL_REQUEST_TEMPLATE.md"
339
383
  - ".rspec"
384
+ - ".rubocop.yml"
385
+ - ".rubocop_todo.yml"
340
386
  - ".ruby-gemset"
341
387
  - ".travis.yml"
342
388
  - ".yardopts"
389
+ - CHANGELOG.md
343
390
  - CONTRIBUTING.md
344
391
  - Gemfile
345
- - History.md
346
392
  - LICENSE
347
393
  - README.md
348
394
  - Rakefile
395
+ - appveyor.yml
349
396
  - bin/cucumber
350
397
  - cucumber.gemspec
351
398
  - cucumber.yml
@@ -586,6 +633,8 @@ files:
586
633
  - features/docs/cli/execute_with_tag_filter.feature
587
634
  - features/docs/cli/fail_fast.feature
588
635
  - features/docs/cli/finding_steps.feature
636
+ - features/docs/cli/help.feature
637
+ - features/docs/cli/i18n.feature
589
638
  - features/docs/cli/randomize.feature
590
639
  - features/docs/cli/require.feature
591
640
  - features/docs/cli/retry_failing_tests.feature
@@ -594,6 +643,7 @@ files:
594
643
  - features/docs/cli/showing_differences.feature
595
644
  - features/docs/cli/specifying_multiple_formatters.feature
596
645
  - features/docs/cli/strict_mode.feature
646
+ - features/docs/defining_steps/ambiguous_steps.feature
597
647
  - features/docs/defining_steps/nested_steps.feature
598
648
  - features/docs/defining_steps/nested_steps_i18n.feature
599
649
  - features/docs/defining_steps/nested_steps_with_second_arg.feature
@@ -602,6 +652,15 @@ files:
602
652
  - features/docs/defining_steps/skip_scenario.feature
603
653
  - features/docs/defining_steps/snippets.feature
604
654
  - features/docs/defining_steps/table_diffing.feature
655
+ - features/docs/events/gherkin_source_read_event.feature
656
+ - features/docs/events/step_activated_event.feature
657
+ - features/docs/events/step_definition_registered_event.feature
658
+ - features/docs/events/test_case_finished_event.feature
659
+ - features/docs/events/test_case_started_event.feature
660
+ - features/docs/events/test_run_finished_event.feature
661
+ - features/docs/events/test_run_started_event.feature
662
+ - features/docs/events/test_step_finished_event.feature
663
+ - features/docs/events/test_step_started_event.feature
605
664
  - features/docs/exception_in_after_hook.feature
606
665
  - features/docs/exception_in_after_step_hook.feature
607
666
  - features/docs/exception_in_around_hook.feature
@@ -609,21 +668,19 @@ files:
609
668
  - features/docs/extending_cucumber/custom_filter.feature
610
669
  - features/docs/extending_cucumber/custom_formatter.feature
611
670
  - features/docs/formatters/api_methods.feature
612
- - features/docs/formatters/debug_formatter.feature
613
- - features/docs/formatters/formatter_step_file_colon_line.feature
614
671
  - features/docs/formatters/html_formatter.feature
615
672
  - features/docs/formatters/json_formatter.feature
616
673
  - features/docs/formatters/junit_formatter.feature
617
674
  - features/docs/formatters/pretty_formatter.feature
618
675
  - features/docs/formatters/progress_formatter.feature
619
676
  - features/docs/formatters/rerun_formatter.feature
677
+ - features/docs/formatters/summary_formatter.feature
620
678
  - features/docs/formatters/usage_formatter.feature
621
679
  - features/docs/getting_started.feature
622
680
  - features/docs/gherkin/background.feature
623
681
  - features/docs/gherkin/doc_strings.feature
624
682
  - features/docs/gherkin/expand_option_for_outlines.feature
625
683
  - features/docs/gherkin/language_from_header.feature
626
- - features/docs/gherkin/language_help.feature
627
684
  - features/docs/gherkin/outlines.feature
628
685
  - features/docs/gherkin/unicode_table.feature
629
686
  - features/docs/gherkin/using_descriptions.feature
@@ -640,10 +697,12 @@ files:
640
697
  - features/docs/writing_support_code/before_hook.feature
641
698
  - features/docs/writing_support_code/hook_order.feature
642
699
  - features/docs/writing_support_code/load_path.feature
700
+ - features/docs/writing_support_code/parameter_types.feature
643
701
  - features/docs/writing_support_code/state.feature
644
702
  - features/docs/writing_support_code/tagged_hooks.feature
645
- - features/docs/writing_support_code/transforms.feature
703
+ - features/docs/writing_support_code/world.feature
646
704
  - features/lib/step_definitions/aruba_steps.rb
705
+ - features/lib/step_definitions/cli_steps.rb
647
706
  - features/lib/step_definitions/cucumber_steps.rb
648
707
  - features/lib/step_definitions/iso-8859-1_steps.rb
649
708
  - features/lib/step_definitions/json_steps.rb
@@ -652,14 +711,13 @@ files:
652
711
  - features/lib/step_definitions/profile_steps.rb
653
712
  - features/lib/step_definitions/retry_steps.rb
654
713
  - features/lib/step_definitions/ruby_steps.rb
655
- - features/lib/step_definitions/wire_steps.rb
656
714
  - features/lib/support/env.rb
657
715
  - features/lib/support/fake_wire_server.rb
658
716
  - features/lib/support/feature_factory.rb
659
717
  - features/lib/support/normalise_output.rb
718
+ - features/lib/support/parameter_types.rb
660
719
  - gem_tasks/contributors.rake
661
720
  - gem_tasks/cov.rake
662
- - gem_tasks/cucumber.rake
663
721
  - gem_tasks/downloads.rb
664
722
  - gem_tasks/environment.rake
665
723
  - gem_tasks/examples.rake
@@ -678,7 +736,6 @@ files:
678
736
  - lib/autotest/cucumber_rspec2.rb
679
737
  - lib/autotest/discover.rb
680
738
  - lib/cucumber.rb
681
- - lib/cucumber/ast.rb
682
739
  - lib/cucumber/cli/configuration.rb
683
740
  - lib/cucumber/cli/main.rb
684
741
  - lib/cucumber/cli/options.rb
@@ -686,19 +743,20 @@ files:
686
743
  - lib/cucumber/cli/rerun_file.rb
687
744
  - lib/cucumber/configuration.rb
688
745
  - lib/cucumber/constantize.rb
689
- - lib/cucumber/core_ext/instance_exec.rb
690
746
  - lib/cucumber/core_ext/string.rb
691
747
  - lib/cucumber/deprecate.rb
692
748
  - lib/cucumber/encoding.rb
693
749
  - lib/cucumber/errors.rb
694
750
  - lib/cucumber/events.rb
695
- - lib/cucumber/events/after_test_case.rb
696
- - lib/cucumber/events/after_test_step.rb
697
- - lib/cucumber/events/before_test_case.rb
698
- - lib/cucumber/events/before_test_step.rb
699
- - lib/cucumber/events/bus.rb
700
- - lib/cucumber/events/finished_testing.rb
701
- - lib/cucumber/events/step_match.rb
751
+ - lib/cucumber/events/gherkin_source_read.rb
752
+ - lib/cucumber/events/step_activated.rb
753
+ - lib/cucumber/events/step_definition_registered.rb
754
+ - lib/cucumber/events/test_case_finished.rb
755
+ - lib/cucumber/events/test_case_started.rb
756
+ - lib/cucumber/events/test_run_finished.rb
757
+ - lib/cucumber/events/test_run_started.rb
758
+ - lib/cucumber/events/test_step_finished.rb
759
+ - lib/cucumber/events/test_step_started.rb
702
760
  - lib/cucumber/file_specs.rb
703
761
  - lib/cucumber/filters.rb
704
762
  - lib/cucumber/filters/activate_steps.rb
@@ -706,6 +764,7 @@ files:
706
764
  - lib/cucumber/filters/apply_after_step_hooks.rb
707
765
  - lib/cucumber/filters/apply_around_hooks.rb
708
766
  - lib/cucumber/filters/apply_before_hooks.rb
767
+ - lib/cucumber/filters/broadcast_test_run_started_event.rb
709
768
  - lib/cucumber/filters/gated_receiver.rb
710
769
  - lib/cucumber/filters/prepare_world.rb
711
770
  - lib/cucumber/filters/quit.rb
@@ -717,17 +776,19 @@ files:
717
776
  - lib/cucumber/formatter/ansicolor.rb
718
777
  - lib/cucumber/formatter/backtrace_filter.rb
719
778
  - lib/cucumber/formatter/console.rb
779
+ - lib/cucumber/formatter/console_counts.rb
780
+ - lib/cucumber/formatter/console_issues.rb
720
781
  - lib/cucumber/formatter/cucumber.css
721
782
  - lib/cucumber/formatter/cucumber.sass
722
- - lib/cucumber/formatter/debug.rb
723
783
  - lib/cucumber/formatter/duration.rb
724
784
  - lib/cucumber/formatter/duration_extractor.rb
725
- - lib/cucumber/formatter/event_bus_report.rb
726
785
  - lib/cucumber/formatter/fail_fast.rb
727
786
  - lib/cucumber/formatter/fanout.rb
728
787
  - lib/cucumber/formatter/hook_query_visitor.rb
729
788
  - lib/cucumber/formatter/html.rb
789
+ - lib/cucumber/formatter/html_builder.rb
730
790
  - lib/cucumber/formatter/ignore_missing_messages.rb
791
+ - lib/cucumber/formatter/inline-js.js
731
792
  - lib/cucumber/formatter/interceptor.rb
732
793
  - lib/cucumber/formatter/io.rb
733
794
  - lib/cucumber/formatter/jquery-min.js
@@ -751,21 +812,23 @@ files:
751
812
  - lib/cucumber/gherkin/formatter/escaping.rb
752
813
  - lib/cucumber/gherkin/i18n.rb
753
814
  - lib/cucumber/gherkin/steps_parser.rb
815
+ - lib/cucumber/glue/dsl.rb
816
+ - lib/cucumber/glue/hook.rb
817
+ - lib/cucumber/glue/invoke_in_world.rb
818
+ - lib/cucumber/glue/proto_world.rb
819
+ - lib/cucumber/glue/registry_and_more.rb
820
+ - lib/cucumber/glue/snippet.rb
821
+ - lib/cucumber/glue/step_definition.rb
822
+ - lib/cucumber/glue/world_factory.rb
754
823
  - lib/cucumber/hooks.rb
755
824
  - lib/cucumber/load_path.rb
756
825
  - lib/cucumber/multiline_argument.rb
757
826
  - lib/cucumber/multiline_argument/data_table.rb
827
+ - lib/cucumber/multiline_argument/data_table/diff_matrices.rb
758
828
  - lib/cucumber/multiline_argument/doc_string.rb
759
829
  - lib/cucumber/platform.rb
760
830
  - lib/cucumber/project_initializer.rb
761
831
  - lib/cucumber/rake/task.rb
762
- - lib/cucumber/rb_support/rb_dsl.rb
763
- - lib/cucumber/rb_support/rb_hook.rb
764
- - lib/cucumber/rb_support/rb_language.rb
765
- - lib/cucumber/rb_support/rb_step_definition.rb
766
- - lib/cucumber/rb_support/rb_transform.rb
767
- - lib/cucumber/rb_support/rb_world.rb
768
- - lib/cucumber/rb_support/snippet.rb
769
832
  - lib/cucumber/rspec/disable_option_parser.rb
770
833
  - lib/cucumber/rspec/doubles.rb
771
834
  - lib/cucumber/running_test_case.rb
@@ -785,6 +848,8 @@ files:
785
848
  - lib/cucumber/unit.rb
786
849
  - lib/cucumber/version
787
850
  - lib/simplecov_setup.rb
851
+ - scripts/invite-collaborator
852
+ - scripts/update-changelog
788
853
  - spec/cucumber/cli/configuration_spec.rb
789
854
  - spec/cucumber/cli/main_spec.rb
790
855
  - spec/cucumber/cli/options_spec.rb
@@ -792,8 +857,7 @@ files:
792
857
  - spec/cucumber/cli/rerun_spec.rb
793
858
  - spec/cucumber/configuration_spec.rb
794
859
  - spec/cucumber/constantize_spec.rb
795
- - spec/cucumber/core_ext/instance_exec_spec.rb
796
- - spec/cucumber/events/bus_spec.rb
860
+ - spec/cucumber/events_spec.rb
797
861
  - spec/cucumber/file_specs_spec.rb
798
862
  - spec/cucumber/filters/activate_steps_spec.rb
799
863
  - spec/cucumber/filters/gated_receiver_spec.rb
@@ -802,9 +866,9 @@ files:
802
866
  - spec/cucumber/filters/tag_limits/verifier_spec.rb
803
867
  - spec/cucumber/filters/tag_limits_spec.rb
804
868
  - spec/cucumber/formatter/ansicolor_spec.rb
805
- - spec/cucumber/formatter/debug_spec.rb
869
+ - spec/cucumber/formatter/backtrace_filter_spec.rb
870
+ - spec/cucumber/formatter/console_counts_spec.rb
806
871
  - spec/cucumber/formatter/duration_spec.rb
807
- - spec/cucumber/formatter/event_bus_report_spec.rb
808
872
  - spec/cucumber/formatter/fail_fast_spec.rb
809
873
  - spec/cucumber/formatter/html_spec.rb
810
874
  - spec/cucumber/formatter/interceptor_spec.rb
@@ -815,16 +879,15 @@ files:
815
879
  - spec/cucumber/formatter/progress_spec.rb
816
880
  - spec/cucumber/formatter/rerun_spec.rb
817
881
  - spec/cucumber/formatter/spec_helper.rb
882
+ - spec/cucumber/glue/proto_world_spec.rb
883
+ - spec/cucumber/glue/registry_and_more_spec.rb
884
+ - spec/cucumber/glue/snippet_spec.rb
885
+ - spec/cucumber/glue/step_definition_spec.rb
818
886
  - spec/cucumber/hooks_spec.rb
819
887
  - spec/cucumber/multiline_argument/data_table_spec.rb
820
888
  - spec/cucumber/project_initializer_spec.rb
821
889
  - spec/cucumber/rake/forked_spec.rb
822
890
  - spec/cucumber/rake/task_spec.rb
823
- - spec/cucumber/rb_support/rb_language_spec.rb
824
- - spec/cucumber/rb_support/rb_step_definition_spec.rb
825
- - spec/cucumber/rb_support/rb_transform_spec.rb
826
- - spec/cucumber/rb_support/rb_world_spec.rb
827
- - spec/cucumber/rb_support/snippet_spec.rb
828
891
  - spec/cucumber/running_test_case_spec.rb
829
892
  - spec/cucumber/runtime/for_programming_languages_spec.rb
830
893
  - spec/cucumber/runtime/support_code_spec.rb
@@ -834,10 +897,9 @@ files:
834
897
  - spec/cucumber/step_match_search_spec.rb
835
898
  - spec/cucumber/step_match_spec.rb
836
899
  - spec/cucumber/world/pending_spec.rb
837
- - spec/cucumber_spec.rb
838
900
  - spec/spec_helper.rb
839
901
  - spec/support/standard_step_actions.rb
840
- homepage: http://cukes.info
902
+ homepage: https://cucumber.io/
841
903
  licenses:
842
904
  - MIT
843
905
  metadata: {}
@@ -861,7 +923,7 @@ rubyforge_project:
861
923
  rubygems_version: 2.5.1
862
924
  signing_key:
863
925
  specification_version: 4
864
- summary: cucumber-2.99.0
926
+ summary: cucumber-3.0.0
865
927
  test_files:
866
928
  - features/docs/api/list_step_defs_as_json.feature
867
929
  - features/docs/api/listen_for_events.feature
@@ -872,6 +934,8 @@ test_files:
872
934
  - features/docs/cli/execute_with_tag_filter.feature
873
935
  - features/docs/cli/fail_fast.feature
874
936
  - features/docs/cli/finding_steps.feature
937
+ - features/docs/cli/help.feature
938
+ - features/docs/cli/i18n.feature
875
939
  - features/docs/cli/randomize.feature
876
940
  - features/docs/cli/require.feature
877
941
  - features/docs/cli/retry_failing_tests.feature
@@ -880,6 +944,7 @@ test_files:
880
944
  - features/docs/cli/showing_differences.feature
881
945
  - features/docs/cli/specifying_multiple_formatters.feature
882
946
  - features/docs/cli/strict_mode.feature
947
+ - features/docs/defining_steps/ambiguous_steps.feature
883
948
  - features/docs/defining_steps/nested_steps.feature
884
949
  - features/docs/defining_steps/nested_steps_i18n.feature
885
950
  - features/docs/defining_steps/nested_steps_with_second_arg.feature
@@ -888,6 +953,15 @@ test_files:
888
953
  - features/docs/defining_steps/skip_scenario.feature
889
954
  - features/docs/defining_steps/snippets.feature
890
955
  - features/docs/defining_steps/table_diffing.feature
956
+ - features/docs/events/gherkin_source_read_event.feature
957
+ - features/docs/events/step_activated_event.feature
958
+ - features/docs/events/step_definition_registered_event.feature
959
+ - features/docs/events/test_case_finished_event.feature
960
+ - features/docs/events/test_case_started_event.feature
961
+ - features/docs/events/test_run_finished_event.feature
962
+ - features/docs/events/test_run_started_event.feature
963
+ - features/docs/events/test_step_finished_event.feature
964
+ - features/docs/events/test_step_started_event.feature
891
965
  - features/docs/exception_in_after_hook.feature
892
966
  - features/docs/exception_in_after_step_hook.feature
893
967
  - features/docs/exception_in_around_hook.feature
@@ -895,21 +969,19 @@ test_files:
895
969
  - features/docs/extending_cucumber/custom_filter.feature
896
970
  - features/docs/extending_cucumber/custom_formatter.feature
897
971
  - features/docs/formatters/api_methods.feature
898
- - features/docs/formatters/debug_formatter.feature
899
- - features/docs/formatters/formatter_step_file_colon_line.feature
900
972
  - features/docs/formatters/html_formatter.feature
901
973
  - features/docs/formatters/json_formatter.feature
902
974
  - features/docs/formatters/junit_formatter.feature
903
975
  - features/docs/formatters/pretty_formatter.feature
904
976
  - features/docs/formatters/progress_formatter.feature
905
977
  - features/docs/formatters/rerun_formatter.feature
978
+ - features/docs/formatters/summary_formatter.feature
906
979
  - features/docs/formatters/usage_formatter.feature
907
980
  - features/docs/getting_started.feature
908
981
  - features/docs/gherkin/background.feature
909
982
  - features/docs/gherkin/doc_strings.feature
910
983
  - features/docs/gherkin/expand_option_for_outlines.feature
911
984
  - features/docs/gherkin/language_from_header.feature
912
- - features/docs/gherkin/language_help.feature
913
985
  - features/docs/gherkin/outlines.feature
914
986
  - features/docs/gherkin/unicode_table.feature
915
987
  - features/docs/gherkin/using_descriptions.feature
@@ -926,10 +998,12 @@ test_files:
926
998
  - features/docs/writing_support_code/before_hook.feature
927
999
  - features/docs/writing_support_code/hook_order.feature
928
1000
  - features/docs/writing_support_code/load_path.feature
1001
+ - features/docs/writing_support_code/parameter_types.feature
929
1002
  - features/docs/writing_support_code/state.feature
930
1003
  - features/docs/writing_support_code/tagged_hooks.feature
931
- - features/docs/writing_support_code/transforms.feature
1004
+ - features/docs/writing_support_code/world.feature
932
1005
  - features/lib/step_definitions/aruba_steps.rb
1006
+ - features/lib/step_definitions/cli_steps.rb
933
1007
  - features/lib/step_definitions/cucumber_steps.rb
934
1008
  - features/lib/step_definitions/iso-8859-1_steps.rb
935
1009
  - features/lib/step_definitions/json_steps.rb
@@ -938,11 +1012,11 @@ test_files:
938
1012
  - features/lib/step_definitions/profile_steps.rb
939
1013
  - features/lib/step_definitions/retry_steps.rb
940
1014
  - features/lib/step_definitions/ruby_steps.rb
941
- - features/lib/step_definitions/wire_steps.rb
942
1015
  - features/lib/support/env.rb
943
1016
  - features/lib/support/fake_wire_server.rb
944
1017
  - features/lib/support/feature_factory.rb
945
1018
  - features/lib/support/normalise_output.rb
1019
+ - features/lib/support/parameter_types.rb
946
1020
  - spec/cucumber/cli/configuration_spec.rb
947
1021
  - spec/cucumber/cli/main_spec.rb
948
1022
  - spec/cucumber/cli/options_spec.rb
@@ -950,8 +1024,7 @@ test_files:
950
1024
  - spec/cucumber/cli/rerun_spec.rb
951
1025
  - spec/cucumber/configuration_spec.rb
952
1026
  - spec/cucumber/constantize_spec.rb
953
- - spec/cucumber/core_ext/instance_exec_spec.rb
954
- - spec/cucumber/events/bus_spec.rb
1027
+ - spec/cucumber/events_spec.rb
955
1028
  - spec/cucumber/file_specs_spec.rb
956
1029
  - spec/cucumber/filters/activate_steps_spec.rb
957
1030
  - spec/cucumber/filters/gated_receiver_spec.rb
@@ -960,9 +1033,9 @@ test_files:
960
1033
  - spec/cucumber/filters/tag_limits/verifier_spec.rb
961
1034
  - spec/cucumber/filters/tag_limits_spec.rb
962
1035
  - spec/cucumber/formatter/ansicolor_spec.rb
963
- - spec/cucumber/formatter/debug_spec.rb
1036
+ - spec/cucumber/formatter/backtrace_filter_spec.rb
1037
+ - spec/cucumber/formatter/console_counts_spec.rb
964
1038
  - spec/cucumber/formatter/duration_spec.rb
965
- - spec/cucumber/formatter/event_bus_report_spec.rb
966
1039
  - spec/cucumber/formatter/fail_fast_spec.rb
967
1040
  - spec/cucumber/formatter/html_spec.rb
968
1041
  - spec/cucumber/formatter/interceptor_spec.rb
@@ -973,16 +1046,15 @@ test_files:
973
1046
  - spec/cucumber/formatter/progress_spec.rb
974
1047
  - spec/cucumber/formatter/rerun_spec.rb
975
1048
  - spec/cucumber/formatter/spec_helper.rb
1049
+ - spec/cucumber/glue/proto_world_spec.rb
1050
+ - spec/cucumber/glue/registry_and_more_spec.rb
1051
+ - spec/cucumber/glue/snippet_spec.rb
1052
+ - spec/cucumber/glue/step_definition_spec.rb
976
1053
  - spec/cucumber/hooks_spec.rb
977
1054
  - spec/cucumber/multiline_argument/data_table_spec.rb
978
1055
  - spec/cucumber/project_initializer_spec.rb
979
1056
  - spec/cucumber/rake/forked_spec.rb
980
1057
  - spec/cucumber/rake/task_spec.rb
981
- - spec/cucumber/rb_support/rb_language_spec.rb
982
- - spec/cucumber/rb_support/rb_step_definition_spec.rb
983
- - spec/cucumber/rb_support/rb_transform_spec.rb
984
- - spec/cucumber/rb_support/rb_world_spec.rb
985
- - spec/cucumber/rb_support/snippet_spec.rb
986
1058
  - spec/cucumber/running_test_case_spec.rb
987
1059
  - spec/cucumber/runtime/for_programming_languages_spec.rb
988
1060
  - spec/cucumber/runtime/support_code_spec.rb
@@ -992,6 +1064,5 @@ test_files:
992
1064
  - spec/cucumber/step_match_search_spec.rb
993
1065
  - spec/cucumber/step_match_spec.rb
994
1066
  - spec/cucumber/world/pending_spec.rb
995
- - spec/cucumber_spec.rb
996
1067
  - spec/spec_helper.rb
997
1068
  - spec/support/standard_step_actions.rb
@@ -1,47 +0,0 @@
1
- Feature: Debug formatter
2
-
3
- In order to help you easily visualise the listener API, you can use
4
- the `debug` formatter that prints the calls to the listener as a
5
- feature is run.
6
-
7
- Background:
8
- Given the standard step definitions
9
-
10
- Scenario: title
11
- Given a file named "features/test.feature" with:
12
- """
13
- Feature:
14
- Scenario:
15
- Given this step passes
16
- """
17
- When I run `cucumber -f debug`
18
- Then the stderr should not contain anything
19
- Then it should pass with:
20
- """
21
- before_test_case
22
- before_features
23
- before_feature
24
- before_tags
25
- after_tags
26
- feature_name
27
- before_test_step
28
- after_test_step
29
- before_test_step
30
- before_feature_element
31
- before_tags
32
- after_tags
33
- scenario_name
34
- before_steps
35
- before_step
36
- before_step_result
37
- step_name
38
- after_step_result
39
- after_step
40
- after_test_step
41
- after_steps
42
- after_feature_element
43
- after_test_case
44
- after_feature
45
- after_features
46
- done
47
- """
@@ -1,44 +0,0 @@
1
- Feature: Formatter API: Step file path and line number (Issue #179)
2
- To all reporter to understand location of current executing step let's fetch this information
3
- from step/step_invocation and pass to reporters
4
-
5
- Scenario: my own formatter
6
- Given a file named "features/f.feature" with:
7
- """
8
- Feature: I'll use my own
9
- because I'm worth it
10
- Scenario: just print step current line and feature file name
11
- Given step at line 4
12
- Given step at line 5
13
- """
14
- And a file named "features/step_definitions/steps.rb" with:
15
- """
16
- Given(/^step at line (.*)$/) {|line| }
17
- """
18
- And a file named "features/support/jb/formatter.rb" with:
19
- """
20
- module Jb
21
- class Formatter
22
- def initialize(runtime, io, options)
23
- @io = io
24
- end
25
-
26
- def before_step_result(keyword, step_match, multiline_arg, status, exception, source_indent, background, file_colon_line)
27
- @io.puts "step result event: #{file_colon_line}"
28
- end
29
-
30
- def step_name(keyword, step_match, status, source_indent, background, file_colon_line)
31
- @io.puts "step name event: #{file_colon_line}"
32
- end
33
- end
34
- end
35
- """
36
- When I run `cucumber features/f.feature --format Jb::Formatter`
37
- Then it should pass with exactly:
38
- """
39
- step result event: features/f.feature:4
40
- step name event: features/f.feature:4
41
- step result event: features/f.feature:5
42
- step name event: features/f.feature:5
43
-
44
- """