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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 062b09830dfcb655af8b4c9fe636bdd72463b563
4
- data.tar.gz: c39b88bff9779ab5f09f422a3733b0ee858b1693
3
+ metadata.gz: f84a6bf158202ae59a9b8db4a2659d3fbb54a8a5
4
+ data.tar.gz: 5f2c8a03f201b4867664044e46b235c65c384e91
5
5
  SHA512:
6
- metadata.gz: 4e6e4550d06122cd5edd80628344faae94c67cc583188c09156e0dd51c86f7cc228092cce38a6c7224bcb22b3d4b762d689e4dc8b824f6c4cbbd7c42112dfc88
7
- data.tar.gz: 31bd67336e921b7e4565a9289f7293e9f5ba6144f57d0e58103d5f3e936bd523097eb7a6776e64d392e7e16a1a3c6ff15d1f4f143c2675806e4c4c5cc48ea8d9
6
+ metadata.gz: c24410fe9970358b71f76e01897bf3762e9a14b4d7424309d4f43fc113703e1f07e659acec28313b7958b2e97da05c4bc896ff9e0cc1cd94069f4c339831dab4
7
+ data.tar.gz: 03ef3f7b197165f8fe83613be7a05d4aa3990f94968b067e3d15539242cc04e24c5136b21d7985298b7062449b8ade8ac4c0707b73d27b90cf33ab480bc9573e
data/CHANGELOG.md CHANGED
@@ -10,13 +10,21 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo
10
10
 
11
11
  ----
12
12
 
13
- ## [In Git](https://github.com/cucumber/cucumber-ruby/compare/v3.0.0...master) (targeting 3.1.0)
13
+ ## [In Git](https://github.com/cucumber/cucumber-ruby/compare/v3.1.0...master) (Not released)
14
+
15
+ ### Added
16
+
17
+ * N/A
14
18
 
15
19
  ### Changed
16
20
 
17
21
  * N/A
18
22
 
19
- ### Added
23
+ ### Deprecated
24
+
25
+ * N/A
26
+
27
+ ### Removed
20
28
 
21
29
  * N/A
22
30
 
@@ -24,14 +32,56 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo
24
32
 
25
33
  * N/A
26
34
 
35
+ ## [3.1.0](https://github.com/cucumber/cucumber-ruby/compare/v3.0.2...3.1.0) (2017-11-28)
36
+
37
+ ### Added
38
+
39
+ * ParameterType transformer runs in World
40
+ ([#1213](https://github.com/cucumber/cucumber-ruby/pull/1213)
41
+ [@aslakhellesoy](https://github.com/aslakhellesoy))
42
+
43
+ ### Changed
44
+
45
+ * Upgraded to `cucumber-expressions` 5.0.4
46
+ * Upgraded to `cucumber-tag_expressions` 1.1.0
47
+ * Upgraded to `gherkin` 5.0.0
48
+
49
+ ### Fixed
50
+
51
+ * Fix the handling of failed hooks in the JUnit Formatter ([@brasmusson](https://github.com/brasmusson))
52
+
53
+ ## [3.0.2](https://github.com/cucumber/cucumber-ruby/compare/v3.0.1...v3.0.2) (2017-11-11)
54
+
55
+ ### Removed
56
+
57
+ * Cucumber is no longer tested on Ruby 2.1 and below.
58
+
59
+ ### Fixed
60
+
61
+ * Fix html reporter with more than one embedded screenshot ([#1216](https://github.com/cucumber/cucumber-ruby/pull/1216) [@nonkor](https://github.com/nonkor))
62
+ * Change test expectation to handle Ruby's unstable sorting ([#1210](https://github.com/cucumber/cucumber-ruby/pull/1210) [@jaysonesmith](https://github.com/jaysonesmith))
63
+ * Fix the printing of newlines in the rerun formatter - a problem introduced in [#1162](https://github.com/cucumber/cucumber-ruby/issues/1162) ([#1207](https://github.com/cucumber/cucumber-ruby/issues/1207) [@brasmusson](https://github.com/brasmusson))
64
+ * Handle the `--retry` option in profiles ([#1050](https://github.com/cucumber/cucumber-ruby/issues/1050) [@brasmusson](https://github.com/brasmusson))
65
+
27
66
  ### Improved
28
67
 
29
- * N/A
68
+ * Exclude the legacy_api from rubocop, regenerate Rubocop Todo ([@jaysonesmith](https://github.com/jaysonesmith), [@brasmusson](https://github.com/brasmusson))
69
+ * Review and handle excluded/ignored cops ([#1208](https://github.com/cucumber/cucumber-ruby/pull/1208) [@jaysonesmith](https://github.com/jaysonesmith))
70
+ * Fix SymbolProc issues ([#1212](https://github.com/cucumber/cucumber-ruby/pull/1212) [@jaysonesmith](https://github.com/jaysonesmith))
71
+ * Fix TrailingBlankLines ([#1211](https://github.com/cucumber/cucumber-ruby/pull/1211) [@jaysonesmith](https://github.com/jaysonesmith))
72
+
73
+ ## [3.0.1](https://github.com/cucumber/cucumber-ruby/compare/v3.0.0...3.0.1) (2017-09-29)
74
+
75
+ ### Fixed
76
+
77
+ * `ParameterType` can now override `use_for_snippets` and `prefer_for_regexp_match` without throwing an error. ([@aslakhellesoy](https://github.com/aslakhellesoy))
78
+ * Gemspec has `required_ruby_version = '>= 2.1'` ([@aslakhellesoy](https://github.com/aslakhellesoy))
30
79
 
31
80
  ## [3.0.0](https://github.com/cucumber/cucumber-ruby/compare/v3.0.0.pre.2...v3.0.0) (2017-09-27)
32
81
 
33
82
  ### Changed
34
83
 
84
+ * Regexp capture groups with `(\d+)` are automatically converted to `Integer`
35
85
  * Rename `Step#name` to `#text` ([#1130](https://github.com/cucumber/cucumber-ruby/pull/1130) [@olleolleolle](https://github.com/olleolleolle))
36
86
  * `Transform` has been removed and replaced with `ParameterType`. See [upgrading instructions](https://cucumber.io/blog/2017/09/21/upgrading-to-cucumber-3). ([#1190](https://github.com/cucumber/cucumber-ruby/issues/1190) @aslakhellesoy)
37
87
  * Nested capture groups are not counted as parameters. See [upgrading instructions](https://cucumber.io/blog/2017/09/21/upgrading-to-cucumber-3). (@aslakhellesoy)
data/CONTRIBUTING.md CHANGED
@@ -59,10 +59,8 @@ help us to correct style violations reported here:
59
59
 
60
60
  ## Release Process
61
61
 
62
- * Bump the version number in `lib/cucumber/platform.rb`.
63
- * Make sure `History.md` is updated with the upcoming version number, and has entries for all fixes.
64
- * No need to add a `History.md` header at this point - this should be done when a new change is made, later.
65
- * Make sure you have up-to-date and clean copy of cucumber/cucumber.github.com.git at the same level as cucumber repo.
62
+ * Bump the version number in `lib/cucumber/version`.
63
+ * Make sure `CHANGELOG.md` is updated with the upcoming version number, and has entries for all fixes.
66
64
 
67
65
  Now release it
68
66
 
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
- [![Join the chat at https://gitter.im/cucumber/cucumber-ruby](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/cucumber/cucumber-ruby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
2
- [![Build Status](https://travis-ci.org/cucumber/cucumber-ruby.svg?branch=master)](https://travis-ci.org/cucumber/cucumber-ruby)
3
- [![Windows Build Status](https://ci.appveyor.com/api/projects/status/ncqhcevrv93hhu5j?svg=true)](https://ci.appveyor.com/project/cucumberbdd/cucumber-ruby)
1
+ [![OpenCollective](https://opencollective.com/cucumber/backers/badge.svg)](https://opencollective.com/cucumber)
2
+ [![OpenCollective](https://opencollective.com/cucumber/sponsors/badge.svg)](https://opencollective.com/cucumber)
3
+
4
+ [![CircleCI](https://circleci.com/gh/cucumber/cucumber-ruby.svg?style=svg)](https://circleci.com/gh/cucumber/cucumber-ruby)
4
5
 
5
6
  [![Code Climate](https://codeclimate.com/github/cucumber/cucumber-ruby.svg)](https://codeclimate.com/github/cucumber/cucumber-ruby)
6
7
  [![Coverage Status](https://coveralls.io/repos/cucumber/cucumber-ruby/badge.svg?branch=master)](https://coveralls.io/r/cucumber/cucumber-ruby?branch=master)
@@ -9,7 +10,7 @@
9
10
  # Cucumber
10
11
 
11
12
  Cucumber is a tool for running automated tests written in plain language. Because they're
12
- written in plain language, they can be read by anyone on your team. Because they can be
13
+ written in plain language, they can be read by anyone on your team. Because they can be
13
14
  read by anyone, you can use them to help improve communication, collaboration and trust on
14
15
  your team.
15
16
 
@@ -37,4 +38,4 @@ Everyone interacting in this codebase and issue tracker is expected to follow th
37
38
 
38
39
  ## Copyright
39
40
 
40
- Copyright (c) Aslak Hellesøy and Contributors. See LICENSE for details.
41
+ Copyright (c) Cucumber Ltd. and Contributors. See LICENSE for details.
@@ -27,7 +27,7 @@ module Cucumber
27
27
  'json_pretty' => ['Cucumber::Formatter::JsonPretty', 'Prints the feature as prettified JSON'],
28
28
  'summary' => ['Cucumber::Formatter::Summary', 'Summary output of feature and scenarios']
29
29
  }
30
- max = BUILTIN_FORMATS.keys.map{|s| s.length}.max
30
+ max = BUILTIN_FORMATS.keys.map(&:length).max
31
31
  FORMAT_HELP_MSG = [
32
32
  'Use --format rerun --out rerun.txt to write out failing',
33
33
  'features. You can rerun them with cucumber @rerun.txt.',
@@ -508,6 +508,8 @@ TEXT
508
508
  @options[:formats] = stdout_formats[0..0] + non_stdout_formats
509
509
  end
510
510
 
511
+ @options[:retry] = other_options[:retry] if @options[:retry] == 0
512
+
511
513
  self
512
514
  end
513
515
 
@@ -38,7 +38,7 @@ module Cucumber
38
38
  def initialize(step_name, step_definitions, used_guess)
39
39
  message = String.new
40
40
  message << "Ambiguous match of \"#{step_name}\":\n\n"
41
- message << step_definitions.map{|sd| sd.backtrace_line}.join("\n")
41
+ message << step_definitions.map(&:backtrace_line).join("\n")
42
42
  message << "\n\n"
43
43
  message << "You can run again with --guess to make Cucumber be more smart about it\n" unless used_guess
44
44
  super(message)
@@ -16,5 +16,3 @@ module Cucumber
16
16
 
17
17
  end
18
18
  end
19
-
20
-
@@ -13,5 +13,3 @@ module Cucumber
13
13
 
14
14
  end
15
15
  end
16
-
17
-
@@ -37,4 +37,3 @@ module Cucumber
37
37
  end
38
38
  end
39
39
  end
40
-
@@ -26,4 +26,3 @@ module Cucumber
26
26
 
27
27
  end
28
28
  end
29
-
@@ -399,7 +399,7 @@ module Cucumber
399
399
  def next_id(type)
400
400
  @indices ||= Hash.new { 0 }
401
401
  @indices[type] += 1
402
- "#{type}_#{@indices[:type]}"
402
+ "#{type}_#{@indices[type]}"
403
403
  end
404
404
 
405
405
  def build_exception_detail(exception)
@@ -117,4 +117,4 @@ module Cucumber
117
117
  end
118
118
  end
119
119
  end
120
- end
120
+ end
@@ -18,4 +18,3 @@ module Cucumber
18
18
 
19
19
  end
20
20
  end
21
-
@@ -82,7 +82,7 @@ module Cucumber
82
82
 
83
83
  def embed(src, mime_type, _label)
84
84
  if File.file?(src)
85
- content = File.open(src, 'rb') { |f| f.read }
85
+ content = File.open(src, 'rb', &:read)
86
86
  data = encode64(content)
87
87
  else
88
88
  if mime_type =~ /;base64$/
@@ -8,4 +8,3 @@ module Cucumber
8
8
  end
9
9
  end
10
10
  end
11
-
@@ -104,8 +104,12 @@ module Cucumber
104
104
  output = "#{test_case.keyword}: #{scenario}\n\n"
105
105
  return output if result.ok?(@config.strict)
106
106
  if test_case.keyword == 'Scenario'
107
- output += @failing_step_source.keyword.to_s unless hook?(@failing_step_source)
108
- output += "#{@failing_step_source}\n"
107
+ if @failing_step_source
108
+ output += @failing_step_source.keyword.to_s unless hook?(@failing_step_source)
109
+ output += "#{@failing_step_source}\n"
110
+ else # An Around hook has failed
111
+ output += "Around hook\n"
112
+ end
109
113
  else
110
114
  output += "Example row: #{row_name}\n"
111
115
  end
@@ -18,7 +18,7 @@ module Cucumber
18
18
  end
19
19
  config.on_event :test_run_finished do
20
20
  next if @failures.empty?
21
- @io.print file_failures.join('\n')
21
+ @io.print file_failures.join("\n")
22
22
  end
23
23
  end
24
24
 
@@ -55,4 +55,3 @@ module Cucumber
55
55
  end
56
56
  end
57
57
  end
58
-
@@ -88,8 +88,8 @@ module Cucumber
88
88
 
89
89
  def ParameterType(options)
90
90
  type = options[:type] || Object
91
- use_for_snippets = true if options[:use_for_snippets].nil?
92
- prefer_for_regexp_match = false if options[:prefer_for_regexp_match].nil?
91
+ use_for_snippets = if_nil(options[:use_for_snippets], true)
92
+ prefer_for_regexp_match = if_nil(options[:prefer_for_regexp_match], false)
93
93
 
94
94
  parameter_type = CucumberExpressions::ParameterType.new(
95
95
  options[:name],
@@ -102,6 +102,10 @@ module Cucumber
102
102
  Dsl.define_parameter_type(parameter_type)
103
103
  end
104
104
 
105
+ def if_nil(value, default)
106
+ value.nil? ? default : value
107
+ end
108
+
105
109
  # Registers a proc that will run after Cucumber is configured. You can register as
106
110
  # as you want (typically from ruby scripts under <tt>support/hooks.rb</tt>).
107
111
  def AfterConfiguration(&proc)
@@ -148,6 +148,7 @@ module Cucumber
148
148
  runtime.invoke_dynamic_steps(steps_text, language, location)
149
149
  end
150
150
 
151
+ # rubocop:disable UnneededInterpolation
151
152
  define_method(:puts) do |*messages|
152
153
  # Even though they won't be output until later, converting the messages to
153
154
  # strings right away will protect them from modifications to their original
@@ -156,6 +157,7 @@ module Cucumber
156
157
 
157
158
  runtime.puts(*messages)
158
159
  end
160
+ # rubocop:enable UnneededInterpolation
159
161
 
160
162
  define_method(:ask) do |question, timeout_seconds=60|
161
163
  runtime.ask(question, timeout_seconds)
@@ -63,7 +63,7 @@ module Cucumber
63
63
  end
64
64
  end
65
65
 
66
- attr_reader :expression
66
+ attr_reader :expression, :registry
67
67
 
68
68
  def initialize(registry, expression, proc)
69
69
  raise 'No regexp' if expression.is_a?(Regexp)
@@ -20,4 +20,4 @@ module Cucumber
20
20
  end
21
21
 
22
22
  end
23
- end
23
+ end
@@ -47,6 +47,10 @@ module Cucumber
47
47
  'After hook'
48
48
  end
49
49
 
50
+ def to_s
51
+ "#{text} at #{location}"
52
+ end
53
+
50
54
  def match_locations?(queried_locations)
51
55
  queried_locations.any? { |other_location| other_location.match?(location) }
52
56
  end
@@ -67,6 +71,10 @@ module Cucumber
67
71
  'Before hook'
68
72
  end
69
73
 
74
+ def to_s
75
+ "#{text} at #{location}"
76
+ end
77
+
70
78
  def match_locations?(queried_locations)
71
79
  queried_locations.any? { |other_location| other_location.match?(location) }
72
80
  end
@@ -87,6 +95,10 @@ module Cucumber
87
95
  'AfterStep hook'
88
96
  end
89
97
 
98
+ def to_s
99
+ "#{text} at #{location}"
100
+ end
101
+
90
102
  def match_locations?(queried_locations)
91
103
  queried_locations.any? { |other_location| other_location.match?(location) }
92
104
  end
@@ -155,4 +155,3 @@ module Cucumber
155
155
  end
156
156
  end
157
157
  end
158
-
@@ -195,14 +195,12 @@ module Cucumber
195
195
  #
196
196
  def raw
197
197
  cell_matrix.map do |row|
198
- row.map do |cell|
199
- cell.value
200
- end
198
+ row.map(&:value)
201
199
  end
202
200
  end
203
201
 
204
202
  def column_names #:nodoc:
205
- @col_names ||= cell_matrix[0].map { |cell| cell.value }
203
+ @col_names ||= cell_matrix[0].map(&:value)
206
204
  end
207
205
 
208
206
  def rows
@@ -443,9 +441,7 @@ module Cucumber
443
441
  def build_hashes
444
442
  convert_headers!
445
443
  convert_columns!
446
- cells_rows[1..-1].map do |row|
447
- row.to_hash
448
- end
444
+ cells_rows[1..-1].map(&:to_hash)
449
445
  end
450
446
 
451
447
  def create_cell_matrix(ast_table) #:nodoc:
@@ -475,14 +471,14 @@ module Cucumber
475
471
  header_cells = cell_matrix[0]
476
472
 
477
473
  if @header_conversion_proc
478
- header_values = header_cells.map { |cell| cell.value } - @header_mappings.keys
474
+ header_values = header_cells.map(&:value) - @header_mappings.keys
479
475
  @header_mappings = @header_mappings.merge(Hash[*header_values.zip(header_values.map(&@header_conversion_proc)).flatten])
480
476
  end
481
477
 
482
478
  @header_mappings.each_pair do |pre, post|
483
479
  mapped_cells = header_cells.select { |cell| pre === cell.value }
484
480
  raise "No headers matched #{pre.inspect}" if mapped_cells.empty?
485
- raise "#{mapped_cells.length} headers matched #{pre.inspect}: #{mapped_cells.map { |c| c.value }.inspect}" if mapped_cells.length > 1
481
+ raise "#{mapped_cells.length} headers matched #{pre.inspect}: #{mapped_cells.map(&:value).inspect}" if mapped_cells.length > 1
486
482
  mapped_cells[0].value = post
487
483
  if @conversion_procs.key?(pre)
488
484
  @conversion_procs[post] = @conversion_procs.delete(pre)
@@ -524,7 +520,7 @@ module Cucumber
524
520
 
525
521
  # For testing only
526
522
  def to_sexp #:nodoc:
527
- [:row, line, *@cells.map{|cell| cell.to_sexp}]
523
+ [:row, line, *@cells.map(&:to_sexp)]
528
524
  end
529
525
 
530
526
  def to_hash #:nodoc:
@@ -18,7 +18,7 @@ module Cucumber
18
18
  builder.doc_string(Core::Ast::DocString.new(argument, content_type, location))
19
19
  when Array
20
20
  location = location.on_line(argument.first.line..argument.last.line)
21
- builder.data_table(argument.map{ |row| row.cells }, location)
21
+ builder.data_table(argument.map(&:cells), location)
22
22
  when DataTable, DocString, None
23
23
  argument
24
24
  when nil
@@ -8,7 +8,7 @@ module Cucumber
8
8
  end
9
9
 
10
10
  def to_json
11
- @support_code.step_definitions.map{|stepdef| stepdef.to_hash}.to_json
11
+ @support_code.step_definitions.map(&:to_hash).to_json
12
12
  end
13
13
  end
14
14
  end
@@ -13,7 +13,10 @@ module Cucumber
13
13
  end
14
14
 
15
15
  def args
16
- @step_arguments.map{|g| g.value }
16
+ current_world = @step_definition.registry.current_world
17
+ @step_arguments.map do |arg|
18
+ arg.value(current_world)
19
+ end
17
20
  end
18
21
 
19
22
  def activate(test_step)
@@ -39,7 +39,7 @@ module Cucumber
39
39
  top_groups = step_matches.select {|step_match| step_match.args.length == max_arg_length }
40
40
 
41
41
  if no_groups.any?
42
- longest_regexp_length = no_groups.map {|step_match| step_match.text_length }.max
42
+ longest_regexp_length = no_groups.map(&:text_length).max
43
43
  no_groups.select {|step_match| step_match.text_length == longest_regexp_length }
44
44
  elsif top_groups.any?
45
45
  shortest_capture_length = top_groups.map {|step_match| step_match.args.inject(0) {|sum, c| sum + c.to_s.length } }.min
data/lib/cucumber/version CHANGED
@@ -1 +1 @@
1
- 3.0.0
1
+ 3.1.0