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,16 +0,0 @@
1
- # encoding: iso-8859-1
2
- # frozen_string_literal: true
3
- # Ideally we would use Norwegian keywords here, but that won't work unless this
4
- # file is UTF-8 encoded.
5
- # Alternatively, it would be possible to use Norwegian keywords and encode the
6
- # file as UTF-8.
7
- #
8
- # In both cases, stepdef arguments will be sent in as UTF-8, regardless of what
9
- # encoding is used.
10
- Given(/^jeg drikker en "([^"]*)"$/) do |drink|
11
- expect(drink).to eq '�l'.encode('UTF-8')
12
- end
13
-
14
- When(/^skal de andre si "([^"]*)"$/) do |greeting|
15
- expect(greeting).to eq 'sk�l'.encode('UTF-8')
16
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
- Then(/^it should (pass|fail) with JSON:$/) do |pass_fail, json|
3
- actual = normalise_json(MultiJson.load(all_stdout))
4
- expected = MultiJson.load(json)
5
-
6
- expect(actual).to eq expected
7
- assert_success(pass_fail == 'pass')
8
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
- Then('the junit output file {string} should contain:') do |actual_file, text|
3
- actual = IO.read(current_dir + '/' + actual_file)
4
- actual = replace_junit_time(actual)
5
- expect(actual).to eq text
6
- end
7
-
8
- module JUnitHelper
9
- def replace_junit_time(s)
10
- s.gsub(/\d+\.\d\d+/m, '0.05')
11
- end
12
- end
13
-
14
- World(JUnitHelper)
@@ -1,9 +0,0 @@
1
- # encoding: utf-8
2
- # frozen_string_literal: true
3
-
4
- Then('cucumber lists all the supported languages') do
5
- sample_languages = %w(Arabic български Pirate English 日本語)
6
- sample_languages.each do |language|
7
- expect(all_output.force_encoding('utf-8')).to include(language)
8
- end
9
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
- Given('the following profile(s) are/is defined:') do |profiles|
3
- write_file 'cucumber.yml', profiles
4
- end
5
-
6
- Then('the {word} profile should be used') do |profile|
7
- step 'the stdout should contain:', profile
8
- end
9
-
10
- Then('exactly these files should be loaded: {list}') do |files|
11
- expect(all_stdout.scan(/^ \* (.*\.rb)$/).flatten).to eq files
12
- end
13
-
14
- Then('exactly these features should be run: {list}') do |files|
15
- expect(all_stdout.scan(/^ \* (.*\.feature)$/).flatten).to eq files
16
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
- Given('a scenario {string} that fails once, then passes') do |full_name|
3
- name = snake_case(full_name)
4
- write_file "features/#{name}.feature",
5
- <<-FEATURE
6
- Feature: #{full_name} feature
7
- Scenario: #{full_name}
8
- Given it fails once, then passes
9
- FEATURE
10
-
11
- write_file "features/step_definitions/#{name}_steps.rb",
12
- <<-STEPS
13
- Given(/^it fails once, then passes$/) do
14
- $#{name} += 1
15
- expect($#{name}).to be > 1
16
- end
17
- STEPS
18
-
19
- write_file "features/support/#{name}_init.rb",
20
- <<-INIT
21
- $#{name} = 0
22
- INIT
23
- end
24
-
25
- Given('a scenario {string} that fails twice, then passes') do |full_name|
26
- name = snake_case(full_name)
27
- write_file "features/#{name}.feature",
28
- <<-FEATURE
29
- Feature: #{full_name} feature
30
- Scenario: #{full_name}
31
- Given it fails twice, then passes
32
- FEATURE
33
-
34
- write_file "features/step_definitions/#{name}_steps.rb",
35
- <<-STEPS
36
- Given(/^it fails twice, then passes$/) do
37
- $#{name} ||= 0
38
- $#{name} += 1
39
- expect($#{name}).to be > 2
40
- end
41
- STEPS
42
-
43
- write_file "features/support/#{name}_init.rb",
44
- <<-INIT
45
- $#{name} = 0
46
- INIT
47
- end
48
-
49
- module SnakeCase
50
- def snake_case(name)
51
- name.downcase.gsub(/\W/, '_')
52
- end
53
- end
54
-
55
- World(SnakeCase)
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
- When('I run the following Ruby code:') do |code|
3
- run_simple %{ruby -e "#{code}"}
4
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'aruba/cucumber'
3
- require 'aruba/in_process'
4
- require 'aruba/spawn_process'
5
- require 'cucumber/cli/main'
6
-
7
- Before('@spawn') do
8
- Aruba.process = Aruba::SpawnProcess
9
- end
10
-
11
- Before('not @spawn') do
12
- Aruba::InProcess.main_class = Cucumber::Cli::Main
13
- Aruba.process = Aruba::InProcess
14
- end
15
-
16
- Before do
17
- # Make sure bin/cucumber runs with SimpleCov enabled
18
- # set_env('SIMPLECOV', 'true')
19
-
20
- # Set a longer timeout for aruba, and a really long one if running on JRuby
21
- @aruba_timeout_seconds = Cucumber::JRUBY ? 60 : 15
22
- end
@@ -1,94 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'multi_json'
3
- require 'socket'
4
-
5
- class FakeWireServer
6
- def initialize(port, protocol_table)
7
- @port, @protocol_table = port, protocol_table
8
- @delays = {}
9
- end
10
-
11
- def run(io)
12
- @server = TCPServer.open(@port)
13
- loop { handle_connections(io) }
14
- end
15
-
16
- def delay_response(message, delay)
17
- @delays[message] = delay
18
- end
19
-
20
- private
21
-
22
- def handle_connections(io)
23
- Thread.start(@server.accept) { |socket| open_session_on socket, io }
24
- end
25
-
26
- def open_session_on(socket, io)
27
- begin
28
- on_message = lambda { |message| io.puts message }
29
- SocketSession.new(socket, @protocol_table, @delays, on_message).start
30
- rescue Exception => e
31
- raise e
32
- ensure
33
- socket.close
34
- end
35
- end
36
-
37
- class SocketSession
38
- def initialize(socket, protocol, delays, on_message)
39
- @socket = socket
40
- @protocol = protocol
41
- @delays = delays
42
- @on_message = on_message
43
- end
44
-
45
- def start
46
- message = @socket.gets
47
-
48
- while message
49
- handle(message)
50
- message = @socket.gets
51
- end
52
- end
53
-
54
- private
55
-
56
- def handle(data)
57
- protocol_entry = response_to(data.strip)
58
-
59
- if protocol_entry
60
- sleep delay(data)
61
- @on_message.call(MultiJson.load(protocol_entry['request'])[0])
62
- send_response(protocol_entry['response'])
63
- else
64
- serialized_exception = { :message => "Not understood: #{data}", :backtrace => [] }
65
- send_response(['fail', serialized_exception ].to_json)
66
- end
67
- rescue => e
68
- response = [
69
- 'fail',
70
- {
71
- :message => e.message,
72
- :backtrace => e.backtrace,
73
- :exception => e.class
74
- }
75
- ].to_json
76
- send_response(response)
77
- end
78
-
79
- def response_to(data)
80
- @protocol.detect do |entry|
81
- MultiJson.load(entry['request']) == MultiJson.load(data)
82
- end
83
- end
84
-
85
- def send_response(response)
86
- @socket.puts response + "\n"
87
- end
88
-
89
- def delay(data)
90
- message = MultiJson.load(data.strip)[0]
91
- @delays[message.to_sym] || 0
92
- end
93
- end
94
- end
@@ -1,68 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # frozen_string_literal: true
3
- module FeatureFactory
4
- def create_feature(name = generate_feature_name)
5
- gherkin = <<-GHERKIN
6
- Feature: #{name}
7
- #{yield}
8
- GHERKIN
9
- write_file filename(name), gherkin
10
- end
11
-
12
- def create_feature_ja(name = generate_feature_name)
13
- gherkin = <<-GHERKIN
14
- # language: ja
15
- 機能: #{name}
16
- #{yield}
17
- GHERKIN
18
- write_file filename(name), gherkin
19
- end
20
-
21
- def create_scenario(name = generate_scenario_name)
22
- <<-GHERKIN
23
- Scenario: #{name}
24
- #{yield}
25
- GHERKIN
26
- end
27
-
28
- def create_scenario_ja(name = generate_scenario_name)
29
- <<-GHERKIN
30
- シナリオ: #{name}
31
- #{yield}
32
- GHERKIN
33
- end
34
-
35
- def create_step_definition
36
- write_file generate_step_definition_filename, yield
37
- end
38
-
39
- def generate_feature_name
40
- "Test Feature #{next_increment(:feature)}"
41
- end
42
-
43
- def generate_scenario_name
44
- "Test Scenario #{next_increment(:scenario)}"
45
- end
46
-
47
- def next_increment(label)
48
- @increments ||= {}
49
- @increments[label] ||= 0
50
- @increments[label] += 1
51
- end
52
-
53
- def generate_step_definition_filename
54
- "features/step_definitions/steps#{next_increment(:step_defs)}.rb"
55
- end
56
-
57
- def filename(name)
58
- "features/#{name.downcase.tr(' ', '_')}.feature"
59
- end
60
-
61
- def features
62
- in_current_dir do
63
- Dir['features/*.feature']
64
- end
65
- end
66
- end
67
-
68
- World(FeatureFactory)
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
- # override aruba to filter out some stuff
3
- module NormaliseArubaOutput
4
- def all_stdout
5
- normalise_output(super)
6
- end
7
-
8
- def sanitize_text(text)
9
- normalise_output(super)
10
- end
11
-
12
- def normalise_output(out)
13
- out.gsub(/#{Dir.pwd}\/tmp\/aruba/, '.') # Remove absolute paths
14
- .gsub(/tmp\/aruba\//, '') # Fix aruba path
15
- .gsub(/^.*cucumber_process\.rb.*$\n/, '')
16
- .gsub(/^\d+m\d+\.\d+s$/, '0m0.012s') # Make duration predictable
17
- .gsub(/Coverage report generated .+$\n/, '') # Remove SimpleCov message
18
- end
19
-
20
- def normalise_json(json)
21
- #make sure duration was captured (should be >= 0)
22
- #then set it to what is "expected" since duration is dynamic
23
- json.each do |feature|
24
- elements = feature.fetch('elements') { [] }
25
- elements.each do |scenario|
26
- scenario['steps'].each do |step|
27
- %w(steps before after).each do |type|
28
- if scenario[type]
29
- scenario[type].each do |step_or_hook|
30
- normalise_json_step_or_hook(step_or_hook)
31
- if step_or_hook['after']
32
- step_or_hook['after'].each do |hook|
33
- normalise_json_step_or_hook(hook)
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
43
-
44
- def normalise_json_step_or_hook(step_or_hook)
45
- return unless step_or_hook['result'] && step_or_hook['result']['duration']
46
- expect(step_or_hook['result']['duration']).to be >= 0
47
- step_or_hook['result']['duration'] = 1
48
- end
49
-
50
- end
51
-
52
- World(NormaliseArubaOutput)
@@ -1,5 +0,0 @@
1
- ParameterType(
2
- name: 'list',
3
- regexp: /.*/,
4
- transformer: ->(s) { s.split(/,\s+/)}
5
- )
@@ -1,19 +0,0 @@
1
- # encoding: utf-8
2
- # frozen_string_literal: true
3
-
4
- desc 'List contributors'
5
- task :contributors do
6
- IO.popen("git log --pretty=short --no-merges | git shortlog -ne | egrep -ve '^ +' | egrep -ve '^$'") do |f|
7
- contributors = f.readlines
8
- puts contributors
9
- puts "Total: #{contributors.length}"
10
- end
11
- end
12
-
13
- task :codeswarm do
14
- sh 'code_swarm --reload' rescue nil # Fails because of encoding - which we'll fix
15
- sh 'iconv -f latin1 -t utf-8 .git/.code_swarm/log.xml > tmp.xml && mv tmp.xml .git/.code_swarm/log.xml'
16
- sh "sed -e 's/Aslak\ Hellesøy@.BEKK.no/aslak.hellesoy@gmail.com/g' .git/.code_swarm/log.xml > tmp.xml && mv tmp.xml .git/.code_swarm/log.xml"
17
- sh "sed -e 's/josephwilk@joesniff.co.uk/joe@josephwilk.net/g' .git/.code_swarm/log.xml > tmp.xml && mv tmp.xml .git/.code_swarm/log.xml"
18
- sh 'code_swarm'
19
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
- desc 'Run all tests and collect code coverage'
3
- task :cov do
4
- ENV['SIMPLECOV'] = 'features'
5
- Rake::Task['default'].invoke
6
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'httparty'
3
- require 'multi_json'
4
-
5
- IO.read(File.dirname(__FILE__) + '/versions.txt').each_line do |version|
6
- json = HTTParty.get("http://rubygems.org/api/v1/downloads/cucumber-#{version.strip}.json")
7
- puts MultiJson.load(json.body)['version_downloads']
8
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
- task :ruby_env do
3
- RUBY_APP ||= RUBY_PLATFORM =~ /java/ ? 'jruby' : 'ruby'
4
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
- desc 'Run all exmples'
3
- task :examples do
4
- Dir['examples/*'].each do |example_dir|
5
- next if !File.directory?(example_dir) || %w{examples/i18n examples/tcl examples/python examples/ruby2python}.index(example_dir)
6
- puts "Running #{example_dir}"
7
- Dir.chdir(example_dir) do
8
- raise "No Rakefile in #{Dir.pwd}" unless File.file?('Rakefile')
9
- sh 'rake cucumber'
10
- end
11
- end
12
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'pathname'
4
-
5
- desc 'Make all files use UNIX (\n) line endings'
6
- task :fix_cr_lf do
7
- iso_8859_1_files = FileList.new(
8
- 'features/docs/iso-8859-1.feature',
9
- 'features/lib/step_definitions/iso-8859-1_steps.rb'
10
- )
11
-
12
- utf8_files = FileList.new('**/*') do |fl|
13
- fl.exclude { |f| File.directory?(f) }
14
- end
15
-
16
- paths = (utf8_files - iso_8859_1_files).map { |f| Pathname(f) }
17
-
18
- paths.each do |path|
19
- content = path.read.gsub(/\r?\n/, "\n")
20
- path.write(content)
21
- end
22
- end