cucumber 3.0.0 → 3.1.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 (429) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -3
  3. data/CONTRIBUTING.md +2 -4
  4. data/README.md +6 -5
  5. data/lib/cucumber/cli/options.rb +3 -1
  6. data/lib/cucumber/errors.rb +1 -1
  7. data/lib/cucumber/events/test_step_finished.rb +0 -2
  8. data/lib/cucumber/events/test_step_started.rb +0 -2
  9. data/lib/cucumber/events.rb +0 -1
  10. data/lib/cucumber/filters/quit.rb +0 -1
  11. data/lib/cucumber/formatter/html.rb +1 -1
  12. data/lib/cucumber/formatter/html_builder.rb +1 -1
  13. data/lib/cucumber/formatter/ignore_missing_messages.rb +0 -1
  14. data/lib/cucumber/formatter/json.rb +1 -1
  15. data/lib/cucumber/formatter/json_pretty.rb +0 -1
  16. data/lib/cucumber/formatter/junit.rb +6 -2
  17. data/lib/cucumber/formatter/rerun.rb +1 -1
  18. data/lib/cucumber/formatter/summary.rb +0 -1
  19. data/lib/cucumber/glue/dsl.rb +6 -2
  20. data/lib/cucumber/glue/proto_world.rb +2 -0
  21. data/lib/cucumber/glue/step_definition.rb +1 -1
  22. data/lib/cucumber/glue/world_factory.rb +1 -1
  23. data/lib/cucumber/hooks.rb +12 -0
  24. data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +0 -1
  25. data/lib/cucumber/multiline_argument/data_table.rb +6 -10
  26. data/lib/cucumber/multiline_argument.rb +1 -1
  27. data/lib/cucumber/step_definitions.rb +1 -1
  28. data/lib/cucumber/step_match.rb +4 -1
  29. data/lib/cucumber/step_match_search.rb +1 -1
  30. data/lib/cucumber/version +1 -1
  31. metadata +32 -571
  32. data/.coveralls.yml +0 -1
  33. data/.cucumberproignore +0 -6
  34. data/.gitattributes +0 -32
  35. data/.github/ISSUE_TEMPLATE.md +0 -48
  36. data/.github/PULL_REQUEST_TEMPLATE.md +0 -40
  37. data/.rspec +0 -1
  38. data/.rubocop.yml +0 -13
  39. data/.rubocop_todo.yml +0 -991
  40. data/.ruby-gemset +0 -1
  41. data/.travis.yml +0 -69
  42. data/.yardopts +0 -1
  43. data/Gemfile +0 -28
  44. data/Rakefile +0 -32
  45. data/appveyor.yml +0 -27
  46. data/cucumber.gemspec +0 -52
  47. data/cucumber.yml +0 -19
  48. data/examples/i18n/README.textile +0 -3
  49. data/examples/i18n/Rakefile +0 -33
  50. data/examples/i18n/ar/Rakefile +0 -6
  51. data/examples/i18n/ar/features/addition.feature +0 -17
  52. data/examples/i18n/ar/features/step_definitions/calculator_steps.rb +0 -29
  53. data/examples/i18n/ar/lib/calculator.rb +0 -11
  54. data/examples/i18n/bg/Rakefile +0 -6
  55. data/examples/i18n/bg/features/addition.feature +0 -12
  56. data/examples/i18n/bg/features/consecutive_calculations.feature +0 -19
  57. data/examples/i18n/bg/features/division.feature +0 -17
  58. data/examples/i18n/bg/features/step_definitions/calculator_steps.rb +0 -24
  59. data/examples/i18n/bg/features/support/env.rb +0 -10
  60. data/examples/i18n/bg/features/support/world.rb +0 -8
  61. data/examples/i18n/bg/lib/calculator.rb +0 -25
  62. data/examples/i18n/ca/Rakefile +0 -6
  63. data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -26
  64. data/examples/i18n/ca/features/suma.feature +0 -17
  65. data/examples/i18n/ca/lib/calculadora.rb +0 -16
  66. data/examples/i18n/cs/Rakefile +0 -6
  67. data/examples/i18n/cs/features/addition.feature +0 -17
  68. data/examples/i18n/cs/features/division.feature +0 -11
  69. data/examples/i18n/cs/features/step_definitions/calculator_steps.rb +0 -29
  70. data/examples/i18n/cs/lib/calculator.rb +0 -14
  71. data/examples/i18n/da/Rakefile +0 -6
  72. data/examples/i18n/da/features/sammenlaegning.feature +0 -18
  73. data/examples/i18n/da/features/step_definitions/lommeregner_steps.rb +0 -29
  74. data/examples/i18n/da/lib/lommeregner.rb +0 -11
  75. data/examples/i18n/de/Rakefile +0 -6
  76. data/examples/i18n/de/features/addition.feature +0 -17
  77. data/examples/i18n/de/features/division.feature +0 -10
  78. data/examples/i18n/de/features/step_definitions/calculator_steps.rb +0 -29
  79. data/examples/i18n/de/lib/calculator.rb +0 -14
  80. data/examples/i18n/el/Rakefile +0 -6
  81. data/examples/i18n/el/features/addition.feature +0 -17
  82. data/examples/i18n/el/features/division.feature +0 -10
  83. data/examples/i18n/el/features/step_definitions/calculator_steps.rb +0 -29
  84. data/examples/i18n/el/lib/calculator.rb +0 -14
  85. data/examples/i18n/en/Rakefile +0 -6
  86. data/examples/i18n/en/features/addition.feature +0 -17
  87. data/examples/i18n/en/features/division.feature +0 -10
  88. data/examples/i18n/en/features/step_definitions/calculator_steps.rb +0 -29
  89. data/examples/i18n/en/lib/calculator.rb +0 -14
  90. data/examples/i18n/en-lol/Rakefile +0 -4
  91. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +0 -16
  92. data/examples/i18n/en-lol/features/stuffing.feature +0 -8
  93. data/examples/i18n/en-lol/features/support/env.rb +0 -11
  94. data/examples/i18n/en-lol/lib/basket.rb +0 -12
  95. data/examples/i18n/en-lol/lib/belly.rb +0 -11
  96. data/examples/i18n/eo/Rakefile +0 -6
  97. data/examples/i18n/eo/features/adicio.feature +0 -17
  98. data/examples/i18n/eo/features/divido.feature +0 -10
  99. data/examples/i18n/eo/features/step_definitions/calculator_steps.rb +0 -29
  100. data/examples/i18n/eo/lib/calculator.rb +0 -14
  101. data/examples/i18n/es/Rakefile +0 -6
  102. data/examples/i18n/es/features/adicion.feature +0 -17
  103. data/examples/i18n/es/features/step_definitions/calculador_steps.rb +0 -26
  104. data/examples/i18n/es/lib/calculador.rb +0 -14
  105. data/examples/i18n/et/Rakefile +0 -6
  106. data/examples/i18n/et/features/jagamine.feature +0 -10
  107. data/examples/i18n/et/features/liitmine.feature +0 -17
  108. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -29
  109. data/examples/i18n/et/lib/kalkulaator.rb +0 -14
  110. data/examples/i18n/fi/Rakefile +0 -6
  111. data/examples/i18n/fi/features/jakolasku.feature +0 -10
  112. data/examples/i18n/fi/features/step_definitions/laskin_steps.rb +0 -29
  113. data/examples/i18n/fi/features/yhteenlasku.feature +0 -17
  114. data/examples/i18n/fi/lib/laskin.rb +0 -14
  115. data/examples/i18n/fr/Rakefile +0 -8
  116. data/examples/i18n/fr/features/addition.feature +0 -18
  117. data/examples/i18n/fr/features/addition2.feature +0 -17
  118. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -32
  119. data/examples/i18n/fr/features/support/env.rb +0 -10
  120. data/examples/i18n/fr/lib/calculatrice.rb +0 -10
  121. data/examples/i18n/he/Rakefile +0 -6
  122. data/examples/i18n/he/features/addition.feature +0 -17
  123. data/examples/i18n/he/features/division.feature +0 -10
  124. data/examples/i18n/he/features/step_definitions/calculator_steps.rb +0 -29
  125. data/examples/i18n/he/lib/calculator.rb +0 -15
  126. data/examples/i18n/hi/Rakefile +0 -6
  127. data/examples/i18n/hi/features/addition.feature +0 -16
  128. data/examples/i18n/hi/features/division.feature +0 -10
  129. data/examples/i18n/hi/features/step_definitions/calculator_steps.rb +0 -29
  130. data/examples/i18n/hi/lib/calculator.rb +0 -15
  131. data/examples/i18n/ht/Rakefile +0 -6
  132. data/examples/i18n/ht/features/adisyon.feature +0 -17
  133. data/examples/i18n/ht/features/divizyon.feature +0 -10
  134. data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +0 -29
  135. data/examples/i18n/ht/lib/kalkilatris.rb +0 -14
  136. data/examples/i18n/hu/Rakefile +0 -6
  137. data/examples/i18n/hu/features/osszeadas.feature +0 -17
  138. data/examples/i18n/hu/features/osztas.feature +0 -10
  139. data/examples/i18n/hu/features/step_definitions/calculator_steps.rb +0 -30
  140. data/examples/i18n/hu/lib/calculator.rb +0 -14
  141. data/examples/i18n/id/Rakefile +0 -6
  142. data/examples/i18n/id/features/addition.feature +0 -17
  143. data/examples/i18n/id/features/division.feature +0 -10
  144. data/examples/i18n/id/features/step_definitions/calculator_steps.rb +0 -29
  145. data/examples/i18n/id/lib/calculator.rb +0 -14
  146. data/examples/i18n/it/Rakefile +0 -6
  147. data/examples/i18n/it/features/somma.feature +0 -11
  148. data/examples/i18n/it/features/step_definitions/calcolatrice_steps.rb +0 -29
  149. data/examples/i18n/it/lib/calcolatrice.rb +0 -11
  150. data/examples/i18n/ja/Rakefile +0 -6
  151. data/examples/i18n/ja/features/addition.feature +0 -17
  152. data/examples/i18n/ja/features/division.feature +0 -10
  153. data/examples/i18n/ja/features/step_definitions/calculator_steps.rb +0 -19
  154. data/examples/i18n/ja/features/support/env.rb +0 -10
  155. data/examples/i18n/ja/lib/calculator.rb +0 -14
  156. data/examples/i18n/ko/Rakefile +0 -6
  157. data/examples/i18n/ko/features/addition.feature +0 -17
  158. data/examples/i18n/ko/features/division.feature +0 -11
  159. data/examples/i18n/ko/features/step_definitions/calculator_steps.rb +0 -29
  160. data/examples/i18n/ko/lib/calculator.rb +0 -14
  161. data/examples/i18n/lt/Rakefile +0 -6
  162. data/examples/i18n/lt/features/addition.feature +0 -17
  163. data/examples/i18n/lt/features/division.feature +0 -10
  164. data/examples/i18n/lt/features/step_definitions/calculator_steps.rb +0 -29
  165. data/examples/i18n/lt/lib/calculator.rb +0 -14
  166. data/examples/i18n/lv/Rakefile +0 -6
  167. data/examples/i18n/lv/features/addition.feature +0 -17
  168. data/examples/i18n/lv/features/division.feature +0 -10
  169. data/examples/i18n/lv/features/step_definitions/calculator_steps.rb +0 -29
  170. data/examples/i18n/lv/lib/calculator.rb +0 -14
  171. data/examples/i18n/no/Rakefile +0 -6
  172. data/examples/i18n/no/features/step_definitions/kalkulator_steps.rb +0 -17
  173. data/examples/i18n/no/features/summering.feature +0 -19
  174. data/examples/i18n/no/features/support/env.rb +0 -11
  175. data/examples/i18n/no/lib/kalkulator.rb +0 -11
  176. data/examples/i18n/pl/Rakefile +0 -6
  177. data/examples/i18n/pl/features/addition.feature +0 -17
  178. data/examples/i18n/pl/features/division.feature +0 -10
  179. data/examples/i18n/pl/features/step_definitions/calculator_steps.rb +0 -29
  180. data/examples/i18n/pl/features/support/env.rb +0 -10
  181. data/examples/i18n/pl/lib/calculator.rb +0 -14
  182. data/examples/i18n/pt/Rakefile +0 -6
  183. data/examples/i18n/pt/features/adicao.feature +0 -11
  184. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -20
  185. data/examples/i18n/pt/features/support/env.rb +0 -10
  186. data/examples/i18n/pt/lib/calculadora.rb +0 -10
  187. data/examples/i18n/ro/Rakefile +0 -6
  188. data/examples/i18n/ro/features/adunare.feature +0 -12
  189. data/examples/i18n/ro/features/step_definitions/calculator_steps.rb +0 -26
  190. data/examples/i18n/ro/lib/calculator.rb +0 -11
  191. data/examples/i18n/ru/Rakefile +0 -6
  192. data/examples/i18n/ru/features/addition.feature +0 -11
  193. data/examples/i18n/ru/features/consecutive_calculations.feature +0 -17
  194. data/examples/i18n/ru/features/division.feature +0 -16
  195. data/examples/i18n/ru/features/step_definitions/calculator_steps.rb +0 -19
  196. data/examples/i18n/ru/features/support/env.rb +0 -10
  197. data/examples/i18n/ru/features/support/world.rb +0 -8
  198. data/examples/i18n/ru/lib/calculator.rb +0 -25
  199. data/examples/i18n/sk/Rakefile +0 -6
  200. data/examples/i18n/sk/features/addition.feature +0 -17
  201. data/examples/i18n/sk/features/division.feature +0 -10
  202. data/examples/i18n/sk/features/step_definitions/calculator_steps.rb +0 -29
  203. data/examples/i18n/sk/lib/calculator.rb +0 -14
  204. data/examples/i18n/sr-Cyrl/Rakefile +0 -6
  205. data/examples/i18n/sr-Cyrl/features/sabiranje.feature +0 -18
  206. data/examples/i18n/sr-Cyrl/features/step_definitions/calculator_steps.rb +0 -20
  207. data/examples/i18n/sr-Cyrl/features/support/env.rb +0 -10
  208. data/examples/i18n/sr-Cyrl/lib/calculator.rb +0 -12
  209. data/examples/i18n/sr-Latn/Rakefile +0 -6
  210. data/examples/i18n/sr-Latn/features/sabiranje.feature +0 -18
  211. data/examples/i18n/sr-Latn/features/step_definitions/calculator_steps.rb +0 -29
  212. data/examples/i18n/sr-Latn/lib/calculator.rb +0 -12
  213. data/examples/i18n/sv/Rakefile +0 -6
  214. data/examples/i18n/sv/features/step_definitions/kalkulator_steps.rb +0 -29
  215. data/examples/i18n/sv/features/summering.feature +0 -18
  216. data/examples/i18n/sv/lib/kalkulator.rb +0 -11
  217. data/examples/i18n/tr/Rakefile +0 -6
  218. data/examples/i18n/tr/features/bolme.feature +0 -10
  219. data/examples/i18n/tr/features/step_definitions/hesap_makinesi_adimlari.rb +0 -29
  220. data/examples/i18n/tr/features/toplama.feature +0 -18
  221. data/examples/i18n/tr/lib/hesap_makinesi.rb +0 -15
  222. data/examples/i18n/uk/Rakefile +0 -6
  223. data/examples/i18n/uk/features/addition.feature +0 -11
  224. data/examples/i18n/uk/features/consecutive_calculations.feature +0 -17
  225. data/examples/i18n/uk/features/division.feature +0 -16
  226. data/examples/i18n/uk/features/step_definitions/calculator_steps.rb +0 -19
  227. data/examples/i18n/uk/features/support/env.rb +0 -10
  228. data/examples/i18n/uk/features/support/world.rb +0 -8
  229. data/examples/i18n/uk/lib/calculator.rb +0 -25
  230. data/examples/i18n/uz/Rakefile +0 -6
  231. data/examples/i18n/uz/features/addition.feature +0 -10
  232. data/examples/i18n/uz/features/consecutive_calculations.feature +0 -17
  233. data/examples/i18n/uz/features/division.feature +0 -17
  234. data/examples/i18n/uz/features/step_definitions/calculator_steps.rb +0 -19
  235. data/examples/i18n/uz/features/support/env.rb +0 -10
  236. data/examples/i18n/uz/features/support/world.rb +0 -8
  237. data/examples/i18n/uz/lib/calculator.rb +0 -25
  238. data/examples/i18n/zh-CN/Rakefile +0 -4
  239. data/examples/i18n/zh-CN/features/addition.feature +0 -18
  240. data/examples/i18n/zh-CN/features/step_definitions/calculator_steps.rb +0 -31
  241. data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
  242. data/examples/i18n/zh-TW/Rakefile +0 -4
  243. data/examples/i18n/zh-TW/features/addition.feature +0 -17
  244. data/examples/i18n/zh-TW/features/division.feature +0 -11
  245. data/examples/i18n/zh-TW/features/step_definitions/calculator_steps.rb +0 -29
  246. data/examples/i18n/zh-TW/lib/calculator.rb +0 -14
  247. data/examples/rspec_doubles/Rakefile +0 -4
  248. data/examples/rspec_doubles/features/mocking.feature +0 -9
  249. data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +0 -19
  250. data/examples/rspec_doubles/features/support/env.rb +0 -12
  251. data/examples/sinatra/README.textile +0 -13
  252. data/examples/sinatra/Rakefile +0 -6
  253. data/examples/sinatra/app.rb +0 -14
  254. data/examples/sinatra/features/add.feature +0 -11
  255. data/examples/sinatra/features/step_definitions/add_steps.rb +0 -15
  256. data/examples/sinatra/features/support/env.rb +0 -15
  257. data/examples/sinatra/views/add.erb +0 -7
  258. data/examples/sinatra/views/layout.erb +0 -8
  259. data/examples/tcl/README.textile +0 -11
  260. data/examples/tcl/Rakefile +0 -6
  261. data/examples/tcl/features/fibonnacci.feature +0 -17
  262. data/examples/tcl/features/step_definitions/fib_steps.rb +0 -7
  263. data/examples/tcl/features/support/env.rb +0 -7
  264. data/examples/tcl/src/fib.tcl +0 -3
  265. data/examples/test_unit/Gemfile +0 -4
  266. data/examples/test_unit/Rakefile +0 -6
  267. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -20
  268. data/examples/test_unit/features/test_unit.feature +0 -9
  269. data/examples/watir/README.textile +0 -16
  270. data/examples/watir/Rakefile +0 -12
  271. data/examples/watir/cucumber.yml +0 -1
  272. data/examples/watir/features/search.feature +0 -12
  273. data/examples/watir/features/step_definitions/search_steps.rb +0 -27
  274. data/examples/watir/features/support/env.rb +0 -39
  275. data/examples/watir/features/support/screenshots.rb +0 -47
  276. data/features/docs/api/list_step_defs_as_json.feature +0 -64
  277. data/features/docs/api/listen_for_events.feature +0 -59
  278. data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -27
  279. data/features/docs/cli/backtraces.feature +0 -36
  280. data/features/docs/cli/dry_run.feature +0 -73
  281. data/features/docs/cli/exclude_files.feature +0 -18
  282. data/features/docs/cli/execute_with_tag_filter.feature +0 -119
  283. data/features/docs/cli/fail_fast.feature +0 -48
  284. data/features/docs/cli/finding_steps.feature +0 -28
  285. data/features/docs/cli/help.feature +0 -8
  286. data/features/docs/cli/i18n.feature +0 -42
  287. data/features/docs/cli/randomize.feature +0 -140
  288. data/features/docs/cli/require.feature +0 -27
  289. data/features/docs/cli/retry_failing_tests.feature +0 -92
  290. data/features/docs/cli/run_scenarios_matching_name.feature +0 -105
  291. data/features/docs/cli/run_specific_scenarios.feature +0 -77
  292. data/features/docs/cli/showing_differences.feature +0 -43
  293. data/features/docs/cli/specifying_multiple_formatters.feature +0 -68
  294. data/features/docs/cli/strict_mode.feature +0 -70
  295. data/features/docs/defining_steps/ambiguous_steps.feature +0 -89
  296. data/features/docs/defining_steps/nested_steps.feature +0 -181
  297. data/features/docs/defining_steps/nested_steps_i18n.feature +0 -37
  298. data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -56
  299. data/features/docs/defining_steps/one_line_step_definitions.feature +0 -65
  300. data/features/docs/defining_steps/printing_messages.feature +0 -147
  301. data/features/docs/defining_steps/skip_scenario.feature +0 -31
  302. data/features/docs/defining_steps/snippets.feature +0 -56
  303. data/features/docs/defining_steps/table_diffing.feature +0 -50
  304. data/features/docs/events/gherkin_source_read_event.feature +0 -43
  305. data/features/docs/events/step_activated_event.feature +0 -36
  306. data/features/docs/events/step_definition_registered_event.feature +0 -29
  307. data/features/docs/events/test_case_finished_event.feature +0 -35
  308. data/features/docs/events/test_case_started_event.feature +0 -54
  309. data/features/docs/events/test_run_finished_event.feature +0 -40
  310. data/features/docs/events/test_run_started_event.feature +0 -41
  311. data/features/docs/events/test_step_finished_event.feature +0 -47
  312. data/features/docs/events/test_step_started_event.feature +0 -43
  313. data/features/docs/exception_in_after_hook.feature +0 -127
  314. data/features/docs/exception_in_after_step_hook.feature +0 -104
  315. data/features/docs/exception_in_around_hook.feature +0 -80
  316. data/features/docs/exception_in_before_hook.feature +0 -98
  317. data/features/docs/extending_cucumber/custom_filter.feature +0 -29
  318. data/features/docs/extending_cucumber/custom_formatter.feature +0 -94
  319. data/features/docs/formatters/api_methods.feature +0 -37
  320. data/features/docs/formatters/html_formatter.feature +0 -91
  321. data/features/docs/formatters/json_formatter.feature +0 -767
  322. data/features/docs/formatters/junit_formatter.feature +0 -455
  323. data/features/docs/formatters/pretty_formatter.feature +0 -74
  324. data/features/docs/formatters/progress_formatter.feature +0 -32
  325. data/features/docs/formatters/rerun_formatter.feature +0 -190
  326. data/features/docs/formatters/summary_formatter.feature +0 -35
  327. data/features/docs/formatters/usage_formatter.feature +0 -101
  328. data/features/docs/getting_started.feature +0 -28
  329. data/features/docs/gherkin/background.feature +0 -548
  330. data/features/docs/gherkin/doc_strings.feature +0 -76
  331. data/features/docs/gherkin/expand_option_for_outlines.feature +0 -47
  332. data/features/docs/gherkin/language_from_header.feature +0 -32
  333. data/features/docs/gherkin/outlines.feature +0 -158
  334. data/features/docs/gherkin/unicode_table.feature +0 -33
  335. data/features/docs/gherkin/using_descriptions.feature +0 -83
  336. data/features/docs/gherkin/using_star_notation.feature +0 -37
  337. data/features/docs/iso-8859-1.feature +0 -6
  338. data/features/docs/post_configuration_hook.feature +0 -33
  339. data/features/docs/profiles.feature +0 -120
  340. data/features/docs/rake_task.feature +0 -146
  341. data/features/docs/raketask.feature +0 -46
  342. data/features/docs/work_in_progress.feature +0 -157
  343. data/features/docs/writing_support_code/after_hooks.feature +0 -102
  344. data/features/docs/writing_support_code/after_step_hooks.feature +0 -55
  345. data/features/docs/writing_support_code/around_hooks.feature +0 -266
  346. data/features/docs/writing_support_code/before_hook.feature +0 -66
  347. data/features/docs/writing_support_code/hook_order.feature +0 -63
  348. data/features/docs/writing_support_code/load_path.feature +0 -17
  349. data/features/docs/writing_support_code/parameter_types.feature +0 -53
  350. data/features/docs/writing_support_code/state.feature +0 -32
  351. data/features/docs/writing_support_code/tagged_hooks.feature +0 -95
  352. data/features/docs/writing_support_code/world.feature +0 -129
  353. data/features/lib/step_definitions/aruba_steps.rb +0 -21
  354. data/features/lib/step_definitions/cli_steps.rb +0 -4
  355. data/features/lib/step_definitions/cucumber_steps.rb +0 -75
  356. data/features/lib/step_definitions/iso-8859-1_steps.rb +0 -16
  357. data/features/lib/step_definitions/json_steps.rb +0 -8
  358. data/features/lib/step_definitions/junit_steps.rb +0 -14
  359. data/features/lib/step_definitions/language_steps.rb +0 -9
  360. data/features/lib/step_definitions/profile_steps.rb +0 -16
  361. data/features/lib/step_definitions/retry_steps.rb +0 -55
  362. data/features/lib/step_definitions/ruby_steps.rb +0 -4
  363. data/features/lib/support/env.rb +0 -22
  364. data/features/lib/support/fake_wire_server.rb +0 -94
  365. data/features/lib/support/feature_factory.rb +0 -68
  366. data/features/lib/support/normalise_output.rb +0 -52
  367. data/features/lib/support/parameter_types.rb +0 -5
  368. data/gem_tasks/contributors.rake +0 -19
  369. data/gem_tasks/cov.rake +0 -6
  370. data/gem_tasks/downloads.rb +0 -8
  371. data/gem_tasks/environment.rake +0 -4
  372. data/gem_tasks/examples.rake +0 -12
  373. data/gem_tasks/fix_cr_lf.rake +0 -22
  374. data/gem_tasks/flog.rake +0 -5
  375. data/gem_tasks/rspec.rake +0 -7
  376. data/gem_tasks/sass.rake +0 -5
  377. data/gem_tasks/stats +0 -16
  378. data/gem_tasks/versions.txt +0 -74
  379. data/scripts/invite-collaborator +0 -40
  380. data/scripts/update-changelog +0 -86
  381. data/spec/cucumber/cli/configuration_spec.rb +0 -446
  382. data/spec/cucumber/cli/main_spec.rb +0 -84
  383. data/spec/cucumber/cli/options_spec.rb +0 -445
  384. data/spec/cucumber/cli/profile_loader_spec.rb +0 -66
  385. data/spec/cucumber/cli/rerun_spec.rb +0 -86
  386. data/spec/cucumber/configuration_spec.rb +0 -148
  387. data/spec/cucumber/constantize_spec.rb +0 -20
  388. data/spec/cucumber/events_spec.rb +0 -9
  389. data/spec/cucumber/file_specs_spec.rb +0 -61
  390. data/spec/cucumber/filters/activate_steps_spec.rb +0 -152
  391. data/spec/cucumber/filters/gated_receiver_spec.rb +0 -48
  392. data/spec/cucumber/filters/retry_spec.rb +0 -98
  393. data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +0 -39
  394. data/spec/cucumber/filters/tag_limits/verifier_spec.rb +0 -58
  395. data/spec/cucumber/filters/tag_limits_spec.rb +0 -60
  396. data/spec/cucumber/formatter/ansicolor_spec.rb +0 -33
  397. data/spec/cucumber/formatter/backtrace_filter_spec.rb +0 -32
  398. data/spec/cucumber/formatter/console_counts_spec.rb +0 -14
  399. data/spec/cucumber/formatter/duration_spec.rb +0 -23
  400. data/spec/cucumber/formatter/fail_fast_spec.rb +0 -88
  401. data/spec/cucumber/formatter/html_spec.rb +0 -543
  402. data/spec/cucumber/formatter/interceptor_spec.rb +0 -137
  403. data/spec/cucumber/formatter/json_spec.rb +0 -815
  404. data/spec/cucumber/formatter/junit_spec.rb +0 -251
  405. data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2175
  406. data/spec/cucumber/formatter/pretty_spec.rb +0 -907
  407. data/spec/cucumber/formatter/progress_spec.rb +0 -170
  408. data/spec/cucumber/formatter/rerun_spec.rb +0 -97
  409. data/spec/cucumber/formatter/spec_helper.rb +0 -84
  410. data/spec/cucumber/glue/proto_world_spec.rb +0 -63
  411. data/spec/cucumber/glue/registry_and_more_spec.rb +0 -213
  412. data/spec/cucumber/glue/snippet_spec.rb +0 -174
  413. data/spec/cucumber/glue/step_definition_spec.rb +0 -207
  414. data/spec/cucumber/hooks_spec.rb +0 -31
  415. data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -653
  416. data/spec/cucumber/project_initializer_spec.rb +0 -88
  417. data/spec/cucumber/rake/forked_spec.rb +0 -58
  418. data/spec/cucumber/rake/task_spec.rb +0 -86
  419. data/spec/cucumber/running_test_case_spec.rb +0 -140
  420. data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -8
  421. data/spec/cucumber/runtime/support_code_spec.rb +0 -17
  422. data/spec/cucumber/runtime_spec.rb +0 -21
  423. data/spec/cucumber/sell_cucumbers.feature +0 -19
  424. data/spec/cucumber/step_argument_spec.rb +0 -19
  425. data/spec/cucumber/step_match_search_spec.rb +0 -113
  426. data/spec/cucumber/step_match_spec.rb +0 -86
  427. data/spec/cucumber/world/pending_spec.rb +0 -48
  428. data/spec/spec_helper.rb +0 -30
  429. data/spec/support/standard_step_actions.rb +0 -19
@@ -1,181 +0,0 @@
1
- Feature: Nested Steps
2
-
3
- Background:
4
- Given a scenario with a step that looks like this:
5
- """gherkin
6
- Given two turtles
7
- """
8
- And a step definition that looks like this:
9
- """ruby
10
- Given /a turtle/ do
11
- puts "turtle!"
12
- end
13
- """
14
-
15
- @todo-windows
16
- Scenario: Use #steps to call several steps at once
17
- Given a step definition that looks like this:
18
- """ruby
19
- Given /two turtles/ do
20
- steps %{
21
- Given a turtle
22
- And a turtle
23
- }
24
- end
25
- """
26
- When I run the feature with the progress formatter
27
- Then the output should contain:
28
- """
29
- turtle!
30
-
31
- turtle!
32
-
33
- """
34
-
35
- @todo-windows
36
- Scenario: Use #step to call a single step
37
- Given a step definition that looks like this:
38
- """ruby
39
- Given /two turtles/ do
40
- step "a turtle"
41
- step "a turtle"
42
- end
43
- """
44
- When I run the feature with the progress formatter
45
- Then the output should contain:
46
- """
47
- turtle!
48
-
49
- turtle!
50
-
51
- """
52
-
53
- @todo-windows
54
- Scenario: Use #steps to call a table
55
- Given a step definition that looks like this:
56
- """ruby
57
- Given /turtles:/ do |table|
58
- table.hashes.each do |row|
59
- puts row[:name]
60
- end
61
- end
62
- """
63
- And a step definition that looks like this:
64
- """ruby
65
- Given /two turtles/ do
66
- steps %{
67
- Given turtles:
68
- | name |
69
- | Sturm |
70
- | Liouville |
71
- }
72
- end
73
- """
74
- When I run the feature with the progress formatter
75
- Then the output should contain:
76
- """
77
- Sturm
78
-
79
- Liouville
80
-
81
- """
82
-
83
- @todo-windows
84
- Scenario: Use #steps to call a multi-line string
85
- Given a step definition that looks like this:
86
- """ruby
87
- Given /two turtles/ do
88
- steps %Q{
89
- Given turtles:
90
- \"\"\"
91
- Sturm
92
- Liouville
93
- \"\"\"
94
- }
95
- end
96
- """
97
- And a step definition that looks like this:
98
- """ruby
99
- Given /turtles:/ do |string|
100
- puts string
101
- end
102
- """
103
- When I run the feature with the progress formatter
104
- Then the output should contain:
105
- """
106
- Sturm
107
- Liouville
108
- """
109
-
110
- @spawn @todo-windows
111
- Scenario: Backtrace doesn't skip nested steps
112
- Given a step definition that looks like this:
113
- """ruby
114
- Given /two turtles/ do
115
- step "I have a couple turtles"
116
- end
117
-
118
- When(/I have a couple turtles/) { raise 'error' }
119
- """
120
- When I run the feature with the progress formatter
121
- Then it should fail with:
122
- """
123
- error (RuntimeError)
124
- ./features/step_definitions/steps2.rb:5:in `/I have a couple turtles/'
125
- ./features/step_definitions/steps2.rb:2:in `/two turtles/'
126
- features/test_feature_1.feature:3:in `Given two turtles'
127
-
128
- Failing Scenarios:
129
- cucumber features/test_feature_1.feature:2 # Scenario: Test Scenario 1
130
-
131
- 1 scenario (1 failed)
132
- 1 step (1 failed)
133
- """
134
-
135
- Scenario: Undefined nested step
136
- Given a file named "features/call_undefined_step_from_step_def.feature" with:
137
- """
138
- Feature: Calling undefined step
139
-
140
- Scenario: Call directly
141
- Given a step that calls an undefined step
142
-
143
- Scenario: Call via another
144
- Given a step that calls a step that calls an undefined step
145
- """
146
- And a file named "features/step_definitions/steps.rb" with:
147
- """
148
- Given /^a step that calls an undefined step$/ do
149
- step 'this does not exist'
150
- end
151
-
152
- Given /^a step that calls a step that calls an undefined step$/ do
153
- step 'a step that calls an undefined step'
154
- end
155
- """
156
- When I run `cucumber -q features/call_undefined_step_from_step_def.feature`
157
- Then it should fail with exactly:
158
- """
159
- Feature: Calling undefined step
160
-
161
- Scenario: Call directly
162
- Given a step that calls an undefined step
163
- Undefined dynamic step: "this does not exist" (Cucumber::UndefinedDynamicStep)
164
- ./features/step_definitions/steps.rb:2:in `/^a step that calls an undefined step$/'
165
- features/call_undefined_step_from_step_def.feature:4:in `Given a step that calls an undefined step'
166
-
167
- Scenario: Call via another
168
- Given a step that calls a step that calls an undefined step
169
- Undefined dynamic step: "this does not exist" (Cucumber::UndefinedDynamicStep)
170
- ./features/step_definitions/steps.rb:2:in `/^a step that calls an undefined step$/'
171
- ./features/step_definitions/steps.rb:6:in `/^a step that calls a step that calls an undefined step$/'
172
- features/call_undefined_step_from_step_def.feature:7:in `Given a step that calls a step that calls an undefined step'
173
-
174
- Failing Scenarios:
175
- cucumber features/call_undefined_step_from_step_def.feature:3
176
- cucumber features/call_undefined_step_from_step_def.feature:6
177
-
178
- 2 scenarios (2 failed)
179
- 2 steps (2 failed)
180
-
181
- """
@@ -1,37 +0,0 @@
1
- Feature: Nested Steps in I18n
2
-
3
- Background:
4
- Given a scenario with a step that looks like this in japanese:
5
- """gherkin
6
- 前提 two turtles
7
- """
8
- And a step definition that looks like this:
9
- """ruby
10
- # -*- coding: utf-8 -*-
11
- # frozen_string_literal: true
12
- 前提 /a turtle/ do
13
- puts "turtle!"
14
- end
15
- """
16
-
17
- @todo-windows
18
- Scenario: Use #steps to call several steps at once
19
- Given a step definition that looks like this:
20
- """ruby
21
- # -*- coding: utf-8 -*-
22
- # frozen_string_literal: true
23
- 前提 /two turtles/ do
24
- steps %{
25
- 前提 a turtle
26
- かつ a turtle
27
- }
28
- end
29
- """
30
- When I run the feature with the progress formatter
31
- Then the output should contain:
32
- """
33
- turtle!
34
-
35
- turtle!
36
-
37
- """
@@ -1,56 +0,0 @@
1
- Feature: Nested Steps with either table or doc string
2
-
3
- Background:
4
- Given a scenario with a step that looks like this:
5
- """gherkin
6
- Given two turtles
7
- """
8
-
9
- @todo-windows
10
- Scenario: Use #step with table
11
- Given a step definition that looks like this:
12
- """ruby
13
- Given /turtles:/ do |table|
14
- table.hashes.each do |row|
15
- puts row[:name]
16
- end
17
- end
18
- """
19
- And a step definition that looks like this:
20
- """ruby
21
- Given /two turtles/ do
22
- step %{turtles:}, table(%{
23
- | name |
24
- | Sturm |
25
- | Liouville |
26
- })
27
- end
28
- """
29
- When I run the feature with the progress formatter
30
- Then the output should contain:
31
- """
32
- Sturm
33
-
34
- Liouville
35
-
36
- """
37
-
38
- @todo-windows
39
- Scenario: Use #step with Doc String
40
- Given a step definition that looks like this:
41
- """ruby
42
- Given /two turtles/ do
43
- step %{turtles:}, "Sturm and Lioville"
44
- end
45
- """
46
- And a step definition that looks like this:
47
- """ruby
48
- Given /turtles:/ do |text|
49
- puts "#{text}:#{text.class}"
50
- end
51
- """
52
- When I run the feature with the progress formatter
53
- Then the output should contain:
54
- """
55
- Sturm and Lioville:String
56
- """
@@ -1,65 +0,0 @@
1
- Feature: One line step definitions
2
-
3
- Everybody knows you can do step definitions in Cucumber
4
- but did you know you can do this?
5
-
6
- Scenario: Call a method in World directly from a step def
7
- Given a file named "features/step_definitions/steps.rb" with:
8
- """
9
- module Driver
10
- def do_action
11
- @done = true
12
- end
13
-
14
- def assert_done
15
- expect(@done).to be true
16
- end
17
- end
18
- World(Driver)
19
-
20
- When /I do the action/, :do_action
21
- Then /The action should be done/, :assert_done
22
- """
23
- And a file named "features/action.feature" with:
24
- """
25
- Feature:
26
- Scenario:
27
- When I do the action
28
- Then the action should be done
29
- """
30
- When I run `cucumber`
31
- Then it should pass
32
-
33
- Scenario: Call a method on an actor in the World directly from a step def
34
- Given a file named "features/step_definitions/steps.rb" with:
35
- """
36
- class Thing
37
- def do_action
38
- @done = true
39
- end
40
-
41
- def assert_done
42
- expect(@done).to be true
43
- end
44
- end
45
-
46
- module Driver
47
- def thing
48
- @thing ||= Thing.new
49
- end
50
- end
51
- World(Driver)
52
-
53
- When /I do the action to the thing/, :do_action, :on => lambda { thing }
54
- Then /The thing should be done/, :assert_done, :on => lambda { thing }
55
- """
56
- And a file named "features/action.feature" with:
57
- """
58
- Feature:
59
- Scenario:
60
- When I do the action to the thing
61
- Then the thing should be done
62
- """
63
- When I run `cucumber`
64
- Then it should pass
65
-
@@ -1,147 +0,0 @@
1
- Feature: Pretty formatter - Printing messages
2
-
3
- When you want to print to Cucumber's output, just call `puts` from
4
- a step definition. Cucumber will grab the output and print it via
5
- the formatter that you're using.
6
-
7
- Your message will be printed out after the step has run.
8
-
9
- Background:
10
- Given the standard step definitions
11
- And a file named "features/step_definitions/puts_steps.rb" with:
12
- """
13
- Given /^I use puts with text "(.*)"$/ do |ann|
14
- puts(ann)
15
- end
16
-
17
- Given /^I use multiple putss$/ do
18
- puts("Multiple")
19
- puts("Announce","Me")
20
- end
21
-
22
- Given /^I use message (.+) in line (.+) (?:with result (.+))$/ do |ann, line, result|
23
- puts("Last message") if line == "3"
24
- puts("Line: #{line}: #{ann}")
25
- fail if result =~ /fail/i
26
- end
27
-
28
- Given /^I use puts and step fails$/ do
29
- puts("Announce with fail")
30
- fail
31
- end
32
-
33
- Given /^I puts the world$/ do
34
- puts(self)
35
- end
36
- """
37
- And a file named "features/f.feature" with:
38
- """
39
- Feature:
40
-
41
- Scenario:
42
- Given I use puts with text "Ann"
43
- And this step passes
44
-
45
- Scenario:
46
- Given I use multiple putss
47
- And this step passes
48
-
49
- Scenario Outline:
50
- Given I use message <ann> in line <line>
51
-
52
- Examples:
53
- | line | ann |
54
- | 1 | anno1 |
55
- | 2 | anno2 |
56
- | 3 | anno3 |
57
-
58
- Scenario:
59
- Given I use puts and step fails
60
- And this step passes
61
-
62
- Scenario Outline:
63
- Given I use message <ann> in line <line> with result <result>
64
-
65
- Examples:
66
- | line | ann | result |
67
- | 1 | anno1 | fail |
68
- | 2 | anno2 | pass |
69
- """
70
-
71
- And a file named "features/puts_world.feature" with:
72
- """
73
- Feature: puts_world
74
- Scenario: puts_world
75
- Given I puts the world
76
- """
77
-
78
- # Don't know why, but we need to spawn this for JRuby otherwise it gives wierd errors
79
- @spawn @todo-windows
80
- Scenario: Delayed messages feature
81
- When I run `cucumber --quiet --format pretty features/f.feature`
82
- Then the stderr should not contain anything
83
- And the output should contain:
84
- """
85
- Feature:
86
-
87
- Scenario:
88
- Given I use puts with text "Ann"
89
- Ann
90
- And this step passes
91
-
92
- Scenario:
93
- Given I use multiple putss
94
- Multiple
95
- Announce
96
- Me
97
- And this step passes
98
-
99
- Scenario Outline:
100
- Given I use message <ann> in line <line>
101
-
102
- Examples:
103
- | line | ann |
104
- | 1 | anno1 |
105
- | 2 | anno2 |
106
- | 3 | anno3 |
107
-
108
- Scenario:
109
- Given I use puts and step fails
110
- Announce with fail
111
- (RuntimeError)
112
- ./features/step_definitions/puts_steps.rb:18:in `/^I use puts and step fails$/'
113
- features/f.feature:21:in `Given I use puts and step fails'
114
- And this step passes
115
-
116
- Scenario Outline:
117
- Given I use message <ann> in line <line> with result <result>
118
-
119
- Examples:
120
- | line | ann | result |
121
- | 1 | anno1 | fail | Line: 1: anno1
122
- (RuntimeError)
123
- ./features/step_definitions/puts_steps.rb:13:in `/^I use message (.+) in line (.+) (?:with result (.+))$/'
124
- features/f.feature:29:in `Given I use message anno1 in line 1 with result fail'
125
- features/f.feature:25:in `Given I use message <ann> in line <line> with result <result>'
126
- | 2 | anno2 | pass | Line: 2: anno2
127
- """
128
-
129
- Scenario: Non-delayed messages feature (progress formatter)
130
- When I run `cucumber --format progress features/f.feature`
131
- Then the output should contain:
132
- """
133
- Ann
134
- ..
135
- Multiple
136
-
137
- Announce
138
- Me
139
- ..UUU
140
- Announce with fail
141
- F-
142
- Line: 1: anno1
143
- F
144
- Line: 2: anno2
145
- .
146
- """
147
-
@@ -1,31 +0,0 @@
1
- Feature: Skip Scenario
2
-
3
- @todo-windows
4
- Scenario: With a passing step
5
- Given a file named "features/test.feature" with:
6
- """
7
- Feature: test
8
- Scenario: test
9
- Given this step says to skip
10
- And this step passes
11
- """
12
- And the standard step definitions
13
- And a file named "features/step_definitions/skippy.rb" with:
14
- """
15
- Given /skip/ do
16
- skip_this_scenario
17
- end
18
- """
19
- When I run `cucumber -q`
20
- Then it should pass with exactly:
21
- """
22
- Feature: test
23
-
24
- Scenario: test
25
- Given this step says to skip
26
- And this step passes
27
-
28
- 1 scenario (1 skipped)
29
- 2 steps (2 skipped)
30
-
31
- """
@@ -1,56 +0,0 @@
1
- Feature: Snippets
2
-
3
- Cucumber helpfully prints out any undefined step definitions as a code
4
- snippet suggestion, which you can then paste into a step definitions
5
- file of your choosing.
6
-
7
- Scenario: Snippet for undefined step with a Doc String
8
- Given a file named "features/undefined_steps.feature" with:
9
- """
10
- Feature:
11
- Scenario: Doc String
12
- Given a Doc String
13
- \"\"\"
14
- example with <html> entities
15
- \"\"\"
16
- When 1 simple when step
17
- And another "when" step
18
- Then a simple then step
19
- """
20
- When I run `cucumber features/undefined_steps.feature -s`
21
- Then the output should contain:
22
- """
23
- Given("a Doc String") do |string|
24
- pending # Write code here that turns the phrase above into concrete actions
25
- end
26
-
27
- When("{int} simple when step") do |int|
28
- pending # Write code here that turns the phrase above into concrete actions
29
- end
30
-
31
- When("another {string} step") do |string|
32
- pending # Write code here that turns the phrase above into concrete actions
33
- end
34
-
35
- Then("a simple then step") do
36
- pending # Write code here that turns the phrase above into concrete actions
37
- end
38
- """
39
-
40
- Scenario: Snippet for undefined step with a step table
41
- Given a file named "features/undefined_steps.feature" with:
42
- """
43
- Feature:
44
- Scenario: table
45
- Given a table
46
- | table |
47
- |example|
48
- """
49
- When I run `cucumber features/undefined_steps.feature -s`
50
- Then the output should contain:
51
- """
52
- Given("a table") do |table|
53
- # table is a Cucumber::MultilineArgument::DataTable
54
- pending # Write code here that turns the phrase above into concrete actions
55
- end
56
- """
@@ -1,50 +0,0 @@
1
- Feature: Table diffing
2
-
3
- To allow you to more easily compare data in tables, you are able
4
- to easily diff a table with expected data and see the diff in your
5
- output.
6
-
7
- Scenario: Extra row
8
- Given a file named "features/tables.feature" with:
9
- """
10
- Feature: Tables
11
- Scenario: Extra row
12
- Then the table should be:
13
- | x | y |
14
- | a | b |
15
- """
16
- And a file named "features/step_definitions/steps.rb" with:
17
- """
18
- Then /the table should be:/ do |expected| x=1
19
- expected.diff!(table(%{
20
- | x | y |
21
- | a | c |
22
- }))
23
- end
24
- """
25
- When I run `cucumber features/tables.feature`
26
- Then it should fail with exactly:
27
- """
28
- Feature: Tables
29
-
30
- Scenario: Extra row # features/tables.feature:2
31
- Then the table should be: # features/step_definitions/steps.rb:1
32
- | x | y |
33
- | a | b |
34
- Tables were not identical:
35
-
36
- | x | y |
37
- | (-) a | (-) b |
38
- | (+) a | (+) c |
39
- (Cucumber::MultilineArgument::DataTable::Different)
40
- ./features/step_definitions/steps.rb:2:in `/the table should be:/'
41
- features/tables.feature:3:in `Then the table should be:'
42
-
43
- Failing Scenarios:
44
- cucumber features/tables.feature:2 # Scenario: Extra row
45
-
46
- 1 scenario (1 failed)
47
- 1 step (1 failed)
48
- 0m0.012s
49
-
50
- """
@@ -1,43 +0,0 @@
1
- Feature: Gherkin Source Read Event
2
-
3
- This event is fired when Cucumber reads a Gherkin document.
4
-
5
- See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/GherkinSourceRead)
6
- for more information about the data available on this event.
7
-
8
- @todo-windows
9
- Scenario: Read two documents
10
- Given a file named "features/one.feature" with:
11
- """
12
- Feature: One
13
- This is the first feature
14
-
15
- """
16
- And a file named "features/two.feature" with:
17
- """
18
- Feature: Two
19
- This is the other feature
20
-
21
- """
22
- And a file named "features/support/events.rb" with:
23
- """
24
- AfterConfiguration do |config|
25
- config.on_event :gherkin_source_read do |event|
26
- config.out_stream.puts "path: #{event.path}"
27
- config.out_stream.puts "body:\n#{event.body}"
28
- end
29
- end
30
- """
31
- When I run `cucumber --dry-run`
32
- Then it should pass with:
33
- """
34
- path: features/one.feature
35
- body:
36
- Feature: One
37
- This is the first feature
38
- path: features/two.feature
39
- body:
40
- Feature: Two
41
- This is the other feature
42
- """
43
-