cucumber 3.0.1 → 3.0.2

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 (424) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -4
  3. data/README.md +6 -5
  4. data/lib/cucumber/cli/options.rb +3 -1
  5. data/lib/cucumber/errors.rb +1 -1
  6. data/lib/cucumber/events.rb +0 -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/filters/quit.rb +0 -1
  10. data/lib/cucumber/formatter/html.rb +1 -1
  11. data/lib/cucumber/formatter/html_builder.rb +1 -1
  12. data/lib/cucumber/formatter/ignore_missing_messages.rb +0 -1
  13. data/lib/cucumber/formatter/json.rb +1 -1
  14. data/lib/cucumber/formatter/json_pretty.rb +0 -1
  15. data/lib/cucumber/formatter/rerun.rb +1 -1
  16. data/lib/cucumber/formatter/summary.rb +0 -1
  17. data/lib/cucumber/glue/proto_world.rb +2 -0
  18. data/lib/cucumber/glue/world_factory.rb +1 -1
  19. data/lib/cucumber/multiline_argument.rb +1 -1
  20. data/lib/cucumber/multiline_argument/data_table.rb +6 -10
  21. data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +0 -1
  22. data/lib/cucumber/step_definitions.rb +1 -1
  23. data/lib/cucumber/step_match.rb +1 -1
  24. data/lib/cucumber/step_match_search.rb +1 -1
  25. data/lib/cucumber/version +1 -1
  26. metadata +25 -563
  27. data/.coveralls.yml +0 -1
  28. data/.cucumberproignore +0 -6
  29. data/.gitattributes +0 -32
  30. data/.github/ISSUE_TEMPLATE.md +0 -48
  31. data/.github/PULL_REQUEST_TEMPLATE.md +0 -40
  32. data/.rspec +0 -1
  33. data/.rubocop.yml +0 -13
  34. data/.rubocop_todo.yml +0 -991
  35. data/.ruby-gemset +0 -1
  36. data/.travis.yml +0 -70
  37. data/.yardopts +0 -1
  38. data/Gemfile +0 -28
  39. data/Rakefile +0 -32
  40. data/appveyor.yml +0 -27
  41. data/cucumber.gemspec +0 -52
  42. data/cucumber.yml +0 -19
  43. data/examples/i18n/README.textile +0 -3
  44. data/examples/i18n/Rakefile +0 -33
  45. data/examples/i18n/ar/Rakefile +0 -6
  46. data/examples/i18n/ar/features/addition.feature +0 -17
  47. data/examples/i18n/ar/features/step_definitions/calculator_steps.rb +0 -29
  48. data/examples/i18n/ar/lib/calculator.rb +0 -11
  49. data/examples/i18n/bg/Rakefile +0 -6
  50. data/examples/i18n/bg/features/addition.feature +0 -12
  51. data/examples/i18n/bg/features/consecutive_calculations.feature +0 -19
  52. data/examples/i18n/bg/features/division.feature +0 -17
  53. data/examples/i18n/bg/features/step_definitions/calculator_steps.rb +0 -24
  54. data/examples/i18n/bg/features/support/env.rb +0 -10
  55. data/examples/i18n/bg/features/support/world.rb +0 -8
  56. data/examples/i18n/bg/lib/calculator.rb +0 -25
  57. data/examples/i18n/ca/Rakefile +0 -6
  58. data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -26
  59. data/examples/i18n/ca/features/suma.feature +0 -17
  60. data/examples/i18n/ca/lib/calculadora.rb +0 -16
  61. data/examples/i18n/cs/Rakefile +0 -6
  62. data/examples/i18n/cs/features/addition.feature +0 -17
  63. data/examples/i18n/cs/features/division.feature +0 -11
  64. data/examples/i18n/cs/features/step_definitions/calculator_steps.rb +0 -29
  65. data/examples/i18n/cs/lib/calculator.rb +0 -14
  66. data/examples/i18n/da/Rakefile +0 -6
  67. data/examples/i18n/da/features/sammenlaegning.feature +0 -18
  68. data/examples/i18n/da/features/step_definitions/lommeregner_steps.rb +0 -29
  69. data/examples/i18n/da/lib/lommeregner.rb +0 -11
  70. data/examples/i18n/de/Rakefile +0 -6
  71. data/examples/i18n/de/features/addition.feature +0 -17
  72. data/examples/i18n/de/features/division.feature +0 -10
  73. data/examples/i18n/de/features/step_definitions/calculator_steps.rb +0 -29
  74. data/examples/i18n/de/lib/calculator.rb +0 -14
  75. data/examples/i18n/el/Rakefile +0 -6
  76. data/examples/i18n/el/features/addition.feature +0 -17
  77. data/examples/i18n/el/features/division.feature +0 -10
  78. data/examples/i18n/el/features/step_definitions/calculator_steps.rb +0 -29
  79. data/examples/i18n/el/lib/calculator.rb +0 -14
  80. data/examples/i18n/en-lol/Rakefile +0 -4
  81. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +0 -16
  82. data/examples/i18n/en-lol/features/stuffing.feature +0 -8
  83. data/examples/i18n/en-lol/features/support/env.rb +0 -11
  84. data/examples/i18n/en-lol/lib/basket.rb +0 -12
  85. data/examples/i18n/en-lol/lib/belly.rb +0 -11
  86. data/examples/i18n/en/Rakefile +0 -6
  87. data/examples/i18n/en/features/addition.feature +0 -17
  88. data/examples/i18n/en/features/division.feature +0 -10
  89. data/examples/i18n/en/features/step_definitions/calculator_steps.rb +0 -29
  90. data/examples/i18n/en/lib/calculator.rb +0 -14
  91. data/examples/i18n/eo/Rakefile +0 -6
  92. data/examples/i18n/eo/features/adicio.feature +0 -17
  93. data/examples/i18n/eo/features/divido.feature +0 -10
  94. data/examples/i18n/eo/features/step_definitions/calculator_steps.rb +0 -29
  95. data/examples/i18n/eo/lib/calculator.rb +0 -14
  96. data/examples/i18n/es/Rakefile +0 -6
  97. data/examples/i18n/es/features/adicion.feature +0 -17
  98. data/examples/i18n/es/features/step_definitions/calculador_steps.rb +0 -26
  99. data/examples/i18n/es/lib/calculador.rb +0 -14
  100. data/examples/i18n/et/Rakefile +0 -6
  101. data/examples/i18n/et/features/jagamine.feature +0 -10
  102. data/examples/i18n/et/features/liitmine.feature +0 -17
  103. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -29
  104. data/examples/i18n/et/lib/kalkulaator.rb +0 -14
  105. data/examples/i18n/fi/Rakefile +0 -6
  106. data/examples/i18n/fi/features/jakolasku.feature +0 -10
  107. data/examples/i18n/fi/features/step_definitions/laskin_steps.rb +0 -29
  108. data/examples/i18n/fi/features/yhteenlasku.feature +0 -17
  109. data/examples/i18n/fi/lib/laskin.rb +0 -14
  110. data/examples/i18n/fr/Rakefile +0 -8
  111. data/examples/i18n/fr/features/addition.feature +0 -18
  112. data/examples/i18n/fr/features/addition2.feature +0 -17
  113. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -32
  114. data/examples/i18n/fr/features/support/env.rb +0 -10
  115. data/examples/i18n/fr/lib/calculatrice.rb +0 -10
  116. data/examples/i18n/he/Rakefile +0 -6
  117. data/examples/i18n/he/features/addition.feature +0 -17
  118. data/examples/i18n/he/features/division.feature +0 -10
  119. data/examples/i18n/he/features/step_definitions/calculator_steps.rb +0 -29
  120. data/examples/i18n/he/lib/calculator.rb +0 -15
  121. data/examples/i18n/hi/Rakefile +0 -6
  122. data/examples/i18n/hi/features/addition.feature +0 -16
  123. data/examples/i18n/hi/features/division.feature +0 -10
  124. data/examples/i18n/hi/features/step_definitions/calculator_steps.rb +0 -29
  125. data/examples/i18n/hi/lib/calculator.rb +0 -15
  126. data/examples/i18n/ht/Rakefile +0 -6
  127. data/examples/i18n/ht/features/adisyon.feature +0 -17
  128. data/examples/i18n/ht/features/divizyon.feature +0 -10
  129. data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +0 -29
  130. data/examples/i18n/ht/lib/kalkilatris.rb +0 -14
  131. data/examples/i18n/hu/Rakefile +0 -6
  132. data/examples/i18n/hu/features/osszeadas.feature +0 -17
  133. data/examples/i18n/hu/features/osztas.feature +0 -10
  134. data/examples/i18n/hu/features/step_definitions/calculator_steps.rb +0 -30
  135. data/examples/i18n/hu/lib/calculator.rb +0 -14
  136. data/examples/i18n/id/Rakefile +0 -6
  137. data/examples/i18n/id/features/addition.feature +0 -17
  138. data/examples/i18n/id/features/division.feature +0 -10
  139. data/examples/i18n/id/features/step_definitions/calculator_steps.rb +0 -29
  140. data/examples/i18n/id/lib/calculator.rb +0 -14
  141. data/examples/i18n/it/Rakefile +0 -6
  142. data/examples/i18n/it/features/somma.feature +0 -11
  143. data/examples/i18n/it/features/step_definitions/calcolatrice_steps.rb +0 -29
  144. data/examples/i18n/it/lib/calcolatrice.rb +0 -11
  145. data/examples/i18n/ja/Rakefile +0 -6
  146. data/examples/i18n/ja/features/addition.feature +0 -17
  147. data/examples/i18n/ja/features/division.feature +0 -10
  148. data/examples/i18n/ja/features/step_definitions/calculator_steps.rb +0 -19
  149. data/examples/i18n/ja/features/support/env.rb +0 -10
  150. data/examples/i18n/ja/lib/calculator.rb +0 -14
  151. data/examples/i18n/ko/Rakefile +0 -6
  152. data/examples/i18n/ko/features/addition.feature +0 -17
  153. data/examples/i18n/ko/features/division.feature +0 -11
  154. data/examples/i18n/ko/features/step_definitions/calculator_steps.rb +0 -29
  155. data/examples/i18n/ko/lib/calculator.rb +0 -14
  156. data/examples/i18n/lt/Rakefile +0 -6
  157. data/examples/i18n/lt/features/addition.feature +0 -17
  158. data/examples/i18n/lt/features/division.feature +0 -10
  159. data/examples/i18n/lt/features/step_definitions/calculator_steps.rb +0 -29
  160. data/examples/i18n/lt/lib/calculator.rb +0 -14
  161. data/examples/i18n/lv/Rakefile +0 -6
  162. data/examples/i18n/lv/features/addition.feature +0 -17
  163. data/examples/i18n/lv/features/division.feature +0 -10
  164. data/examples/i18n/lv/features/step_definitions/calculator_steps.rb +0 -29
  165. data/examples/i18n/lv/lib/calculator.rb +0 -14
  166. data/examples/i18n/no/Rakefile +0 -6
  167. data/examples/i18n/no/features/step_definitions/kalkulator_steps.rb +0 -17
  168. data/examples/i18n/no/features/summering.feature +0 -19
  169. data/examples/i18n/no/features/support/env.rb +0 -11
  170. data/examples/i18n/no/lib/kalkulator.rb +0 -11
  171. data/examples/i18n/pl/Rakefile +0 -6
  172. data/examples/i18n/pl/features/addition.feature +0 -17
  173. data/examples/i18n/pl/features/division.feature +0 -10
  174. data/examples/i18n/pl/features/step_definitions/calculator_steps.rb +0 -29
  175. data/examples/i18n/pl/features/support/env.rb +0 -10
  176. data/examples/i18n/pl/lib/calculator.rb +0 -14
  177. data/examples/i18n/pt/Rakefile +0 -6
  178. data/examples/i18n/pt/features/adicao.feature +0 -11
  179. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -20
  180. data/examples/i18n/pt/features/support/env.rb +0 -10
  181. data/examples/i18n/pt/lib/calculadora.rb +0 -10
  182. data/examples/i18n/ro/Rakefile +0 -6
  183. data/examples/i18n/ro/features/adunare.feature +0 -12
  184. data/examples/i18n/ro/features/step_definitions/calculator_steps.rb +0 -26
  185. data/examples/i18n/ro/lib/calculator.rb +0 -11
  186. data/examples/i18n/ru/Rakefile +0 -6
  187. data/examples/i18n/ru/features/addition.feature +0 -11
  188. data/examples/i18n/ru/features/consecutive_calculations.feature +0 -17
  189. data/examples/i18n/ru/features/division.feature +0 -16
  190. data/examples/i18n/ru/features/step_definitions/calculator_steps.rb +0 -19
  191. data/examples/i18n/ru/features/support/env.rb +0 -10
  192. data/examples/i18n/ru/features/support/world.rb +0 -8
  193. data/examples/i18n/ru/lib/calculator.rb +0 -25
  194. data/examples/i18n/sk/Rakefile +0 -6
  195. data/examples/i18n/sk/features/addition.feature +0 -17
  196. data/examples/i18n/sk/features/division.feature +0 -10
  197. data/examples/i18n/sk/features/step_definitions/calculator_steps.rb +0 -29
  198. data/examples/i18n/sk/lib/calculator.rb +0 -14
  199. data/examples/i18n/sr-Cyrl/Rakefile +0 -6
  200. data/examples/i18n/sr-Cyrl/features/sabiranje.feature +0 -18
  201. data/examples/i18n/sr-Cyrl/features/step_definitions/calculator_steps.rb +0 -20
  202. data/examples/i18n/sr-Cyrl/features/support/env.rb +0 -10
  203. data/examples/i18n/sr-Cyrl/lib/calculator.rb +0 -12
  204. data/examples/i18n/sr-Latn/Rakefile +0 -6
  205. data/examples/i18n/sr-Latn/features/sabiranje.feature +0 -18
  206. data/examples/i18n/sr-Latn/features/step_definitions/calculator_steps.rb +0 -29
  207. data/examples/i18n/sr-Latn/lib/calculator.rb +0 -12
  208. data/examples/i18n/sv/Rakefile +0 -6
  209. data/examples/i18n/sv/features/step_definitions/kalkulator_steps.rb +0 -29
  210. data/examples/i18n/sv/features/summering.feature +0 -18
  211. data/examples/i18n/sv/lib/kalkulator.rb +0 -11
  212. data/examples/i18n/tr/Rakefile +0 -6
  213. data/examples/i18n/tr/features/bolme.feature +0 -10
  214. data/examples/i18n/tr/features/step_definitions/hesap_makinesi_adimlari.rb +0 -29
  215. data/examples/i18n/tr/features/toplama.feature +0 -18
  216. data/examples/i18n/tr/lib/hesap_makinesi.rb +0 -15
  217. data/examples/i18n/uk/Rakefile +0 -6
  218. data/examples/i18n/uk/features/addition.feature +0 -11
  219. data/examples/i18n/uk/features/consecutive_calculations.feature +0 -17
  220. data/examples/i18n/uk/features/division.feature +0 -16
  221. data/examples/i18n/uk/features/step_definitions/calculator_steps.rb +0 -19
  222. data/examples/i18n/uk/features/support/env.rb +0 -10
  223. data/examples/i18n/uk/features/support/world.rb +0 -8
  224. data/examples/i18n/uk/lib/calculator.rb +0 -25
  225. data/examples/i18n/uz/Rakefile +0 -6
  226. data/examples/i18n/uz/features/addition.feature +0 -10
  227. data/examples/i18n/uz/features/consecutive_calculations.feature +0 -17
  228. data/examples/i18n/uz/features/division.feature +0 -17
  229. data/examples/i18n/uz/features/step_definitions/calculator_steps.rb +0 -19
  230. data/examples/i18n/uz/features/support/env.rb +0 -10
  231. data/examples/i18n/uz/features/support/world.rb +0 -8
  232. data/examples/i18n/uz/lib/calculator.rb +0 -25
  233. data/examples/i18n/zh-CN/Rakefile +0 -4
  234. data/examples/i18n/zh-CN/features/addition.feature +0 -18
  235. data/examples/i18n/zh-CN/features/step_definitions/calculator_steps.rb +0 -31
  236. data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
  237. data/examples/i18n/zh-TW/Rakefile +0 -4
  238. data/examples/i18n/zh-TW/features/addition.feature +0 -17
  239. data/examples/i18n/zh-TW/features/division.feature +0 -11
  240. data/examples/i18n/zh-TW/features/step_definitions/calculator_steps.rb +0 -29
  241. data/examples/i18n/zh-TW/lib/calculator.rb +0 -14
  242. data/examples/rspec_doubles/Rakefile +0 -4
  243. data/examples/rspec_doubles/features/mocking.feature +0 -9
  244. data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +0 -19
  245. data/examples/rspec_doubles/features/support/env.rb +0 -12
  246. data/examples/sinatra/README.textile +0 -13
  247. data/examples/sinatra/Rakefile +0 -6
  248. data/examples/sinatra/app.rb +0 -14
  249. data/examples/sinatra/features/add.feature +0 -11
  250. data/examples/sinatra/features/step_definitions/add_steps.rb +0 -15
  251. data/examples/sinatra/features/support/env.rb +0 -15
  252. data/examples/sinatra/views/add.erb +0 -7
  253. data/examples/sinatra/views/layout.erb +0 -8
  254. data/examples/tcl/README.textile +0 -11
  255. data/examples/tcl/Rakefile +0 -6
  256. data/examples/tcl/features/fibonnacci.feature +0 -17
  257. data/examples/tcl/features/step_definitions/fib_steps.rb +0 -7
  258. data/examples/tcl/features/support/env.rb +0 -7
  259. data/examples/tcl/src/fib.tcl +0 -3
  260. data/examples/test_unit/Gemfile +0 -4
  261. data/examples/test_unit/Rakefile +0 -6
  262. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -20
  263. data/examples/test_unit/features/test_unit.feature +0 -9
  264. data/examples/watir/README.textile +0 -16
  265. data/examples/watir/Rakefile +0 -12
  266. data/examples/watir/cucumber.yml +0 -1
  267. data/examples/watir/features/search.feature +0 -12
  268. data/examples/watir/features/step_definitions/search_steps.rb +0 -27
  269. data/examples/watir/features/support/env.rb +0 -39
  270. data/examples/watir/features/support/screenshots.rb +0 -47
  271. data/features/docs/api/list_step_defs_as_json.feature +0 -64
  272. data/features/docs/api/listen_for_events.feature +0 -59
  273. data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -27
  274. data/features/docs/cli/backtraces.feature +0 -36
  275. data/features/docs/cli/dry_run.feature +0 -73
  276. data/features/docs/cli/exclude_files.feature +0 -18
  277. data/features/docs/cli/execute_with_tag_filter.feature +0 -119
  278. data/features/docs/cli/fail_fast.feature +0 -48
  279. data/features/docs/cli/finding_steps.feature +0 -28
  280. data/features/docs/cli/help.feature +0 -8
  281. data/features/docs/cli/i18n.feature +0 -42
  282. data/features/docs/cli/randomize.feature +0 -140
  283. data/features/docs/cli/require.feature +0 -27
  284. data/features/docs/cli/retry_failing_tests.feature +0 -92
  285. data/features/docs/cli/run_scenarios_matching_name.feature +0 -105
  286. data/features/docs/cli/run_specific_scenarios.feature +0 -77
  287. data/features/docs/cli/showing_differences.feature +0 -43
  288. data/features/docs/cli/specifying_multiple_formatters.feature +0 -68
  289. data/features/docs/cli/strict_mode.feature +0 -70
  290. data/features/docs/defining_steps/ambiguous_steps.feature +0 -89
  291. data/features/docs/defining_steps/nested_steps.feature +0 -181
  292. data/features/docs/defining_steps/nested_steps_i18n.feature +0 -37
  293. data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -56
  294. data/features/docs/defining_steps/one_line_step_definitions.feature +0 -65
  295. data/features/docs/defining_steps/printing_messages.feature +0 -147
  296. data/features/docs/defining_steps/skip_scenario.feature +0 -31
  297. data/features/docs/defining_steps/snippets.feature +0 -56
  298. data/features/docs/defining_steps/table_diffing.feature +0 -50
  299. data/features/docs/events/gherkin_source_read_event.feature +0 -43
  300. data/features/docs/events/step_activated_event.feature +0 -36
  301. data/features/docs/events/step_definition_registered_event.feature +0 -29
  302. data/features/docs/events/test_case_finished_event.feature +0 -35
  303. data/features/docs/events/test_case_started_event.feature +0 -54
  304. data/features/docs/events/test_run_finished_event.feature +0 -40
  305. data/features/docs/events/test_run_started_event.feature +0 -41
  306. data/features/docs/events/test_step_finished_event.feature +0 -47
  307. data/features/docs/events/test_step_started_event.feature +0 -43
  308. data/features/docs/exception_in_after_hook.feature +0 -127
  309. data/features/docs/exception_in_after_step_hook.feature +0 -104
  310. data/features/docs/exception_in_around_hook.feature +0 -80
  311. data/features/docs/exception_in_before_hook.feature +0 -98
  312. data/features/docs/extending_cucumber/custom_filter.feature +0 -29
  313. data/features/docs/extending_cucumber/custom_formatter.feature +0 -94
  314. data/features/docs/formatters/api_methods.feature +0 -37
  315. data/features/docs/formatters/html_formatter.feature +0 -91
  316. data/features/docs/formatters/json_formatter.feature +0 -767
  317. data/features/docs/formatters/junit_formatter.feature +0 -455
  318. data/features/docs/formatters/pretty_formatter.feature +0 -74
  319. data/features/docs/formatters/progress_formatter.feature +0 -32
  320. data/features/docs/formatters/rerun_formatter.feature +0 -190
  321. data/features/docs/formatters/summary_formatter.feature +0 -35
  322. data/features/docs/formatters/usage_formatter.feature +0 -101
  323. data/features/docs/getting_started.feature +0 -28
  324. data/features/docs/gherkin/background.feature +0 -548
  325. data/features/docs/gherkin/doc_strings.feature +0 -76
  326. data/features/docs/gherkin/expand_option_for_outlines.feature +0 -47
  327. data/features/docs/gherkin/language_from_header.feature +0 -32
  328. data/features/docs/gherkin/outlines.feature +0 -158
  329. data/features/docs/gherkin/unicode_table.feature +0 -33
  330. data/features/docs/gherkin/using_descriptions.feature +0 -83
  331. data/features/docs/gherkin/using_star_notation.feature +0 -37
  332. data/features/docs/iso-8859-1.feature +0 -6
  333. data/features/docs/post_configuration_hook.feature +0 -33
  334. data/features/docs/profiles.feature +0 -120
  335. data/features/docs/rake_task.feature +0 -146
  336. data/features/docs/raketask.feature +0 -46
  337. data/features/docs/work_in_progress.feature +0 -157
  338. data/features/docs/writing_support_code/after_hooks.feature +0 -102
  339. data/features/docs/writing_support_code/after_step_hooks.feature +0 -55
  340. data/features/docs/writing_support_code/around_hooks.feature +0 -266
  341. data/features/docs/writing_support_code/before_hook.feature +0 -66
  342. data/features/docs/writing_support_code/hook_order.feature +0 -63
  343. data/features/docs/writing_support_code/load_path.feature +0 -17
  344. data/features/docs/writing_support_code/parameter_types.feature +0 -69
  345. data/features/docs/writing_support_code/state.feature +0 -32
  346. data/features/docs/writing_support_code/tagged_hooks.feature +0 -95
  347. data/features/docs/writing_support_code/world.feature +0 -129
  348. data/features/lib/step_definitions/aruba_steps.rb +0 -21
  349. data/features/lib/step_definitions/cli_steps.rb +0 -4
  350. data/features/lib/step_definitions/cucumber_steps.rb +0 -75
  351. data/features/lib/step_definitions/iso-8859-1_steps.rb +0 -16
  352. data/features/lib/step_definitions/json_steps.rb +0 -8
  353. data/features/lib/step_definitions/junit_steps.rb +0 -14
  354. data/features/lib/step_definitions/language_steps.rb +0 -9
  355. data/features/lib/step_definitions/profile_steps.rb +0 -16
  356. data/features/lib/step_definitions/retry_steps.rb +0 -55
  357. data/features/lib/step_definitions/ruby_steps.rb +0 -4
  358. data/features/lib/support/env.rb +0 -22
  359. data/features/lib/support/fake_wire_server.rb +0 -94
  360. data/features/lib/support/feature_factory.rb +0 -68
  361. data/features/lib/support/normalise_output.rb +0 -52
  362. data/features/lib/support/parameter_types.rb +0 -5
  363. data/gem_tasks/contributors.rake +0 -19
  364. data/gem_tasks/cov.rake +0 -6
  365. data/gem_tasks/downloads.rb +0 -8
  366. data/gem_tasks/environment.rake +0 -4
  367. data/gem_tasks/examples.rake +0 -12
  368. data/gem_tasks/fix_cr_lf.rake +0 -22
  369. data/gem_tasks/flog.rake +0 -5
  370. data/gem_tasks/rspec.rake +0 -7
  371. data/gem_tasks/sass.rake +0 -5
  372. data/gem_tasks/stats +0 -16
  373. data/gem_tasks/versions.txt +0 -74
  374. data/scripts/invite-collaborator +0 -40
  375. data/scripts/update-changelog +0 -86
  376. data/spec/cucumber/cli/configuration_spec.rb +0 -446
  377. data/spec/cucumber/cli/main_spec.rb +0 -84
  378. data/spec/cucumber/cli/options_spec.rb +0 -445
  379. data/spec/cucumber/cli/profile_loader_spec.rb +0 -66
  380. data/spec/cucumber/cli/rerun_spec.rb +0 -86
  381. data/spec/cucumber/configuration_spec.rb +0 -148
  382. data/spec/cucumber/constantize_spec.rb +0 -20
  383. data/spec/cucumber/events_spec.rb +0 -9
  384. data/spec/cucumber/file_specs_spec.rb +0 -61
  385. data/spec/cucumber/filters/activate_steps_spec.rb +0 -152
  386. data/spec/cucumber/filters/gated_receiver_spec.rb +0 -48
  387. data/spec/cucumber/filters/retry_spec.rb +0 -98
  388. data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +0 -39
  389. data/spec/cucumber/filters/tag_limits/verifier_spec.rb +0 -58
  390. data/spec/cucumber/filters/tag_limits_spec.rb +0 -60
  391. data/spec/cucumber/formatter/ansicolor_spec.rb +0 -33
  392. data/spec/cucumber/formatter/backtrace_filter_spec.rb +0 -32
  393. data/spec/cucumber/formatter/console_counts_spec.rb +0 -14
  394. data/spec/cucumber/formatter/duration_spec.rb +0 -23
  395. data/spec/cucumber/formatter/fail_fast_spec.rb +0 -88
  396. data/spec/cucumber/formatter/html_spec.rb +0 -543
  397. data/spec/cucumber/formatter/interceptor_spec.rb +0 -137
  398. data/spec/cucumber/formatter/json_spec.rb +0 -815
  399. data/spec/cucumber/formatter/junit_spec.rb +0 -251
  400. data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2175
  401. data/spec/cucumber/formatter/pretty_spec.rb +0 -907
  402. data/spec/cucumber/formatter/progress_spec.rb +0 -170
  403. data/spec/cucumber/formatter/rerun_spec.rb +0 -97
  404. data/spec/cucumber/formatter/spec_helper.rb +0 -84
  405. data/spec/cucumber/glue/proto_world_spec.rb +0 -63
  406. data/spec/cucumber/glue/registry_and_more_spec.rb +0 -213
  407. data/spec/cucumber/glue/snippet_spec.rb +0 -174
  408. data/spec/cucumber/glue/step_definition_spec.rb +0 -207
  409. data/spec/cucumber/hooks_spec.rb +0 -31
  410. data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -653
  411. data/spec/cucumber/project_initializer_spec.rb +0 -88
  412. data/spec/cucumber/rake/forked_spec.rb +0 -58
  413. data/spec/cucumber/rake/task_spec.rb +0 -86
  414. data/spec/cucumber/running_test_case_spec.rb +0 -140
  415. data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -8
  416. data/spec/cucumber/runtime/support_code_spec.rb +0 -17
  417. data/spec/cucumber/runtime_spec.rb +0 -21
  418. data/spec/cucumber/sell_cucumbers.feature +0 -19
  419. data/spec/cucumber/step_argument_spec.rb +0 -19
  420. data/spec/cucumber/step_match_search_spec.rb +0 -113
  421. data/spec/cucumber/step_match_spec.rb +0 -86
  422. data/spec/cucumber/world/pending_spec.rb +0 -48
  423. data/spec/spec_helper.rb +0 -30
  424. data/spec/support/standard_step_actions.rb +0 -19
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'cucumber/filters/gated_receiver'
3
-
4
- describe Cucumber::Filters::GatedReceiver do
5
- subject(:gated_receiver) { Cucumber::Filters::GatedReceiver.new(receiver) }
6
-
7
- let(:receiver) { double(:receiver) }
8
- let(:test_cases){ [double(:test_case), double(:test_case)] }
9
-
10
- describe '#test_case' do
11
- it 'does not immediately describe the test case to the receiver' do
12
- test_cases.each do |test_case|
13
- expect(test_case).to_not receive(:describe_to).with(receiver)
14
- end
15
-
16
- test_cases.each do |test_case|
17
- gated_receiver.test_case(test_case)
18
- end
19
- end
20
- end
21
-
22
- describe '#done' do
23
- before do
24
- test_cases.each do |test_case|
25
- gated_receiver.test_case(test_case)
26
- end
27
-
28
- test_cases.each do |test_case|
29
- allow(test_case).to receive(:describe_to).with(receiver)
30
- end
31
-
32
- allow(receiver).to receive(:done)
33
- end
34
-
35
- it 'describes all test cases to the receiver' do
36
- test_cases.each do |test_case|
37
- expect(test_case).to receive(:describe_to).with(receiver)
38
- end
39
-
40
- gated_receiver.done
41
- end
42
-
43
- it 'calls done on the receiver' do
44
- expect(receiver).to receive(:done)
45
- gated_receiver.done
46
- end
47
- end
48
- end
@@ -1,98 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'cucumber'
3
- require 'cucumber/filters/retry'
4
- require 'cucumber/core/gherkin/writer'
5
- require 'cucumber/configuration'
6
- require 'cucumber/core/test/case'
7
- require 'cucumber/core'
8
- require 'cucumber/events'
9
-
10
- describe Cucumber::Filters::Retry do
11
- include Cucumber::Core::Gherkin::Writer
12
- include Cucumber::Core
13
- include Cucumber::Events
14
-
15
- let(:configuration) { Cucumber::Configuration.new(:retry => 2) }
16
- let(:test_case) { Cucumber::Core::Test::Case.new([double('test steps')], double('source').as_null_object) }
17
- let(:receiver) { double('receiver').as_null_object }
18
- let(:filter) { Cucumber::Filters::Retry.new(configuration, receiver) }
19
- let(:fail) { Cucumber::Events::AfterTestCase.new(test_case, double('result', :failed? => true, :ok? => false)) }
20
- let(:pass) { Cucumber::Events::AfterTestCase.new(test_case, double('result', :failed? => false, :ok? => true)) }
21
-
22
- it { is_expected.to respond_to(:test_case) }
23
- it { is_expected.to respond_to(:with_receiver) }
24
- it { is_expected.to respond_to(:done) }
25
-
26
- context 'passing test case' do
27
- let(:result) { Cucumber::Core::Test::Result::Passed.new(0) }
28
-
29
- it 'describes the test case once' do
30
- expect(receiver).to receive(:test_case).with(test_case).once
31
- test_case.describe_to filter
32
- configuration.notify :test_case_finished, test_case, result
33
- end
34
- end
35
-
36
- context 'when performing retry' do
37
- let(:result) { Cucumber::Core::Test::Result::Failed.new(0, StandardError.new) }
38
-
39
- it 'describes the same test case object each time' do
40
- allow(receiver).to receive(:test_case) {|tc|
41
- expect(tc).to equal(test_case)
42
- configuration.notify :test_case_finished, tc.with_steps(tc.test_steps), result
43
- }
44
-
45
- filter.test_case(test_case)
46
- end
47
- end
48
-
49
- context 'consistently failing test case' do
50
- let(:result) { Cucumber::Core::Test::Result::Failed.new(0, StandardError.new) }
51
-
52
- it 'describes the test case the specified number of times' do
53
- expect(receiver).to receive(:test_case) {|test_case|
54
- configuration.notify :test_case_finished, test_case, result
55
- }.exactly(3).times
56
-
57
- filter.test_case(test_case)
58
- end
59
- end
60
-
61
- context 'flaky test cases' do
62
-
63
- context 'a little flaky' do
64
- let(:results) {
65
- [
66
- Cucumber::Core::Test::Result::Failed.new(0, StandardError.new),
67
- Cucumber::Core::Test::Result::Passed.new(0)
68
- ]
69
- }
70
-
71
- it 'describes the test case twice' do
72
- expect(receiver).to receive(:test_case) {|test_case|
73
- configuration.notify :test_case_finished, test_case, results.shift
74
- }.exactly(2).times
75
-
76
- filter.test_case(test_case)
77
- end
78
- end
79
-
80
- context 'really flaky' do
81
- let(:results) {
82
- [
83
- Cucumber::Core::Test::Result::Failed.new(0, StandardError.new),
84
- Cucumber::Core::Test::Result::Failed.new(0, StandardError.new),
85
- Cucumber::Core::Test::Result::Passed.new(0)
86
- ]
87
- }
88
-
89
- it 'describes the test case 3 times' do
90
- expect(receiver).to receive(:test_case) {|test_case|
91
- configuration.notify :test_case_finished, test_case, results.shift
92
- }.exactly(3).times
93
-
94
- filter.test_case(test_case)
95
- end
96
- end
97
- end
98
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'cucumber/filters/tag_limits'
3
-
4
- describe Cucumber::Filters::TagLimits::TestCaseIndex do
5
- subject(:index) { Cucumber::Filters::TagLimits::TestCaseIndex.new }
6
-
7
- let(:test_cases) do
8
- [
9
- double(:test_case, tags: [tag_one], location: a_location_of_tag_one),
10
- double(:test_case, tags: [tag_one, tag_two], location: a_location_of_tag_one_and_tag_two)
11
- ]
12
- end
13
-
14
- let(:tag_one) { double(:tag_one, name: '@one') }
15
- let(:tag_two) { double(:tag_two, name: '@two') }
16
-
17
- let(:a_location_of_tag_one) { double(:a_location_of_tag_one) }
18
- let(:a_location_of_tag_one_and_tag_two) { double(:a_location_of_tag_one_and_tag_two) }
19
-
20
- before do
21
- test_cases.map do |test_case|
22
- index.add(test_case)
23
- end
24
- end
25
-
26
- describe '#count_by_tag_name' do
27
- it 'returns the number of test cases with the tag' do
28
- expect(index.count_by_tag_name('@one')).to eq(2)
29
- expect(index.count_by_tag_name('@two')).to eq(1)
30
- end
31
- end
32
-
33
- describe '#locations_by_tag_name' do
34
- it 'returns the locations of test cases with the tag' do
35
- expect(index.locations_of_tag_name('@one')).to eq([a_location_of_tag_one, a_location_of_tag_one_and_tag_two])
36
- expect(index.locations_of_tag_name('@two')).to eq([a_location_of_tag_one_and_tag_two])
37
- end
38
- end
39
- end
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'cucumber/filters/tag_limits'
3
-
4
- describe Cucumber::Filters::TagLimits::Verifier do
5
- describe '#verify!' do
6
- subject(:verifier) { Cucumber::Filters::TagLimits::Verifier.new(tag_limits) }
7
- let(:test_case_index) { double(:test_case_index) }
8
-
9
- context 'the tag counts exceed the tag limits' do
10
- let(:tag_limits) do
11
- {
12
- '@exceed_me' => 1
13
- }
14
- end
15
-
16
- let(:locations) do
17
- [
18
- double(:location, to_s: 'path/to/some.feature:3'),
19
- double(:location, to_s: 'path/to/some/other.feature:8')
20
- ]
21
- end
22
-
23
- before do
24
- allow(test_case_index).to receive(:count_by_tag_name).with('@exceed_me') { 2 }
25
- allow(test_case_index).to receive(:locations_of_tag_name).with('@exceed_me') { locations }
26
- end
27
-
28
- it 'raises a TagLimitExceeded error with the locations of the tags' do
29
- expect {
30
- verifier.verify!(test_case_index)
31
- }.to raise_error(
32
- Cucumber::Filters::TagLimitExceededError,
33
- "@exceed_me occurred 2 times, but the limit was set to 1\n" +
34
- " path/to/some.feature:3\n" +
35
- ' path/to/some/other.feature:8'
36
- )
37
- end
38
- end
39
-
40
- context 'the tag counts do not exceed the tag limits' do
41
- let(:tag_limits) do
42
- {
43
- '@dont_exceed_me' => 2
44
- }
45
- end
46
-
47
- before do
48
- allow(test_case_index).to receive(:count_by_tag_name).with('@dont_exceed_me') { 1 }
49
- end
50
-
51
- it 'does not raise an error' do
52
- expect {
53
- verifier.verify!(test_case_index)
54
- }.to_not raise_error
55
- end
56
- end
57
- end
58
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'cucumber/filters/tag_limits'
3
-
4
- describe Cucumber::Filters::TagLimits do
5
- subject(:filter) { Cucumber::Filters::TagLimits.new(tag_limits, receiver) }
6
-
7
- let(:tag_limits) { double(:tag_limits) }
8
- let(:receiver) { double(:receiver) }
9
-
10
- let(:gated_receiver) { double(:gated_receiver) }
11
- let(:test_case_index) { double(:test_case_index) }
12
- let(:test_case) { double(:test_case) }
13
-
14
- before do
15
- allow(Cucumber::Filters::GatedReceiver).to receive(:new).with(receiver) { gated_receiver }
16
- allow(Cucumber::Filters::TagLimits::TestCaseIndex).to receive(:new) { test_case_index }
17
- end
18
-
19
- describe '#test_case' do
20
- before do
21
- allow(test_case_index).to receive(:add)
22
- allow(gated_receiver).to receive(:test_case)
23
- end
24
-
25
- it 'indexes the test case' do
26
- expect(test_case_index).to receive(:add).with(test_case)
27
- filter.test_case(test_case)
28
- end
29
-
30
- it 'adds the test case to the gated receiver' do
31
- expect(gated_receiver).to receive(:test_case).with(test_case)
32
- filter.test_case(test_case)
33
- end
34
- end
35
-
36
- describe '#done' do
37
- let(:verifier) { double(:verifier) }
38
-
39
- before do
40
- allow(Cucumber::Filters::TagLimits::Verifier).to receive(:new).with(tag_limits) { verifier }
41
- allow(gated_receiver).to receive(:done)
42
- end
43
-
44
- it 'verifies tag limits have not been exceeded' do
45
- expect(verifier).to receive(:verify!).with(test_case_index)
46
- filter.done
47
- end
48
-
49
- context 'the verifier verifies successfully' do
50
- before do
51
- allow(verifier).to receive(:verify!).with(test_case_index)
52
- end
53
-
54
- it 'calls done on the receiver gate' do
55
- expect(gated_receiver).to receive(:done)
56
- filter.done
57
- end
58
- end
59
- end
60
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
- require 'cucumber/formatter/ansicolor'
4
-
5
- module Cucumber
6
- module Formatter
7
- describe ANSIColor do
8
- include ANSIColor
9
-
10
- it 'wraps passed_param with bold green and reset to green' do
11
- expect(passed_param('foo')).to eq "\e[32m\e[1mfoo\e[0m\e[0m\e[32m"
12
- end
13
-
14
- it 'wraps passed in green' do
15
- expect(passed('foo')).to eq "\e[32mfoo\e[0m"
16
- end
17
-
18
- it 'does not reset passed if there are no arguments' do
19
- expect(passed).to eq "\e[32m"
20
- end
21
-
22
- it 'wraps comments in grey' do
23
- expect(comment('foo')).to eq "\e[90mfoo\e[0m"
24
- end
25
-
26
- it 'does not generate ansi codes when colors are disabled' do
27
- ::Cucumber::Term::ANSIColor.coloring = false
28
-
29
- expect(passed('foo')).to eq 'foo'
30
- end
31
- end
32
- end
33
- end
@@ -1,32 +0,0 @@
1
- require 'cucumber/formatter/backtrace_filter'
2
-
3
- module Cucumber
4
- module Formatter
5
- describe BacktraceFilter do
6
- context '#exception' do
7
- before do
8
- trace = %w(a b
9
- _anything__/vendor/rails__anything_
10
- _anything__lib/cucumber__anything_
11
- _anything__bin/cucumber:__anything_
12
- _anything__lib/rspec__anything_
13
- _anything__gems/__anything_
14
- _anything__minitest__anything_
15
- _anything__test/unit__anything_
16
- _anything__Xgem/ruby__anything_
17
- _anything__lib/ruby/__anything_
18
- _anything__.rbenv/versions/2.3/bin/bundle__anything_)
19
- @exception = Exception.new
20
- @exception.set_backtrace(trace)
21
- end
22
-
23
- it 'filters unnecessary traces' do
24
- BacktraceFilter.new(@exception).exception
25
- expect(@exception.backtrace).to eql %w(a b)
26
- end
27
- end
28
- end
29
- end
30
- end
31
-
32
-
@@ -1,14 +0,0 @@
1
- require 'cucumber/configuration'
2
- require 'cucumber/formatter/console_counts'
3
-
4
- module Cucumber
5
- module Formatter
6
- describe ConsoleCounts do
7
- it 'works for zero' do
8
- config = Configuration.new
9
- counts = ConsoleCounts.new(config)
10
- expect(counts.to_s).to eq "0 scenarios\n0 steps"
11
- end
12
- end
13
- end
14
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'spec_helper'
3
- require 'cucumber/formatter/duration'
4
-
5
- module Cucumber
6
- module Formatter
7
- describe Duration do
8
- include Duration
9
-
10
- it 'formats ms' do
11
- expect(format_duration(0.002103)).to eq '0m0.002s'
12
- end
13
-
14
- it 'formats m' do
15
- expect(format_duration(61.002503)).to eq'1m1.003s'
16
- end
17
-
18
- it 'formats h' do
19
- expect(format_duration(3661.002503)).to eq '61m1.003s'
20
- end
21
- end
22
- end
23
- end
@@ -1,88 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'cucumber/formatter/fail_fast'
3
- require 'cucumber/core'
4
- require 'cucumber/core/gherkin/writer'
5
- require 'cucumber/core/test/result'
6
- require 'cucumber/core/filter'
7
- require 'cucumber/core/ast'
8
- require 'cucumber'
9
- require 'support/standard_step_actions'
10
-
11
- module Cucumber::Formatter
12
- describe FailFast do
13
- include Cucumber::Core
14
- include Cucumber::Core::Gherkin::Writer
15
-
16
- let(:configuration) { Cucumber::Configuration.new }
17
- before { FailFast.new(configuration) }
18
-
19
- context 'failing scenario' do
20
- before(:each) do
21
- @gherkin = gherkin('foo.feature') do
22
- feature do
23
- scenario do
24
- step 'failing'
25
- end
26
-
27
- scenario do
28
- step 'failing'
29
- end
30
- end
31
- end
32
- end
33
-
34
- after(:each) do
35
- Cucumber.wants_to_quit = false
36
- end
37
-
38
- it 'sets Cucumber.wants_to_quit' do
39
- execute [@gherkin], [StandardStepActions.new], configuration.event_bus
40
- expect(Cucumber.wants_to_quit).to be true
41
- end
42
- end
43
-
44
- context 'passing scenario' do
45
- before(:each) do
46
- @gherkin = gherkin('foo.feature') do
47
- feature do
48
- scenario do
49
- step 'passing'
50
- end
51
- end
52
- end
53
- end
54
-
55
- it 'doesn\'t set Cucumber.wants_to_quit' do
56
- execute [@gherkin], [StandardStepActions.new], configuration.event_bus
57
- expect(Cucumber.wants_to_quit).to be_falsey
58
- end
59
- end
60
-
61
- context 'undefined scenario' do
62
- before(:each) do
63
- @gherkin = gherkin('foo.feature') do
64
- feature do
65
- scenario do
66
- step 'undefined'
67
- end
68
- end
69
- end
70
- end
71
-
72
- it 'doesn\'t set Cucumber.wants_to_quit' do
73
- execute [@gherkin], [StandardStepActions.new], configuration.event_bus
74
- expect(Cucumber.wants_to_quit).to be_falsey
75
- end
76
-
77
- context 'in strict mode' do
78
- let(:configuration) { Cucumber::Configuration.new strict: Cucumber::Core::Test::Result::StrictConfiguration.new([:undefined]) }
79
-
80
- it 'sets Cucumber.wants_to_quit' do
81
- execute [@gherkin], [StandardStepActions.new], configuration.event_bus
82
- expect(Cucumber.wants_to_quit).to be_truthy
83
- end
84
- end
85
- end
86
-
87
- end
88
- end