cucumber 3.0.1 → 3.2.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 (517) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +84 -4
  3. data/CONTRIBUTING.md +3 -4
  4. data/README.md +12 -12
  5. data/lib/autotest/cucumber.rb +1 -0
  6. data/lib/autotest/cucumber_mixin.rb +1 -0
  7. data/lib/autotest/cucumber_rails.rb +1 -0
  8. data/lib/autotest/cucumber_rails_rspec.rb +1 -0
  9. data/lib/autotest/cucumber_rails_rspec2.rb +1 -0
  10. data/lib/autotest/cucumber_rspec.rb +1 -0
  11. data/lib/autotest/cucumber_rspec2.rb +1 -0
  12. data/lib/autotest/discover.rb +1 -0
  13. data/lib/cucumber.rb +1 -0
  14. data/lib/cucumber/cli/configuration.rb +1 -0
  15. data/lib/cucumber/cli/main.rb +2 -2
  16. data/lib/cucumber/cli/options.rb +63 -55
  17. data/lib/cucumber/cli/profile_loader.rb +5 -7
  18. data/lib/cucumber/cli/rerun_file.rb +1 -0
  19. data/lib/cucumber/configuration.rb +8 -7
  20. data/lib/cucumber/constantize.rb +6 -5
  21. data/lib/cucumber/core_ext/string.rb +1 -0
  22. data/lib/cucumber/deprecate.rb +1 -1
  23. data/lib/cucumber/encoding.rb +2 -1
  24. data/lib/cucumber/errors.rb +2 -1
  25. data/lib/cucumber/events.rb +1 -2
  26. data/lib/cucumber/events/gherkin_source_read.rb +1 -4
  27. data/lib/cucumber/events/step_activated.rb +4 -5
  28. data/lib/cucumber/events/step_definition_registered.rb +4 -8
  29. data/lib/cucumber/events/test_case_finished.rb +0 -4
  30. data/lib/cucumber/events/test_case_started.rb +0 -4
  31. data/lib/cucumber/events/test_run_finished.rb +2 -3
  32. data/lib/cucumber/events/test_run_started.rb +2 -4
  33. data/lib/cucumber/events/test_step_finished.rb +0 -6
  34. data/lib/cucumber/events/test_step_started.rb +1 -7
  35. data/lib/cucumber/file_specs.rb +2 -1
  36. data/lib/cucumber/filters.rb +1 -0
  37. data/lib/cucumber/filters/activate_steps.rb +1 -1
  38. data/lib/cucumber/filters/apply_after_hooks.rb +1 -0
  39. data/lib/cucumber/filters/apply_after_step_hooks.rb +1 -0
  40. data/lib/cucumber/filters/apply_around_hooks.rb +1 -0
  41. data/lib/cucumber/filters/apply_before_hooks.rb +1 -0
  42. data/lib/cucumber/filters/broadcast_test_run_started_event.rb +2 -1
  43. data/lib/cucumber/filters/gated_receiver.rb +1 -2
  44. data/lib/cucumber/filters/prepare_world.rb +2 -5
  45. data/lib/cucumber/filters/quit.rb +2 -4
  46. data/lib/cucumber/filters/randomizer.rb +6 -7
  47. data/lib/cucumber/filters/retry.rb +2 -2
  48. data/lib/cucumber/filters/tag_limits.rb +2 -2
  49. data/lib/cucumber/filters/tag_limits/test_case_index.rb +1 -2
  50. data/lib/cucumber/filters/tag_limits/verifier.rb +1 -2
  51. data/lib/cucumber/formatter/ansicolor.rb +13 -12
  52. data/lib/cucumber/formatter/backtrace_filter.rb +1 -2
  53. data/lib/cucumber/formatter/console.rb +11 -12
  54. data/lib/cucumber/formatter/console_counts.rb +4 -4
  55. data/lib/cucumber/formatter/console_issues.rb +3 -3
  56. data/lib/cucumber/formatter/duration.rb +1 -0
  57. data/lib/cucumber/formatter/duration_extractor.rb +1 -1
  58. data/lib/cucumber/formatter/fail_fast.rb +9 -6
  59. data/lib/cucumber/formatter/fanout.rb +1 -3
  60. data/lib/cucumber/formatter/hook_query_visitor.rb +1 -0
  61. data/lib/cucumber/formatter/html.rb +28 -32
  62. data/lib/cucumber/formatter/html_builder.rb +3 -2
  63. data/lib/cucumber/formatter/http_io.rb +146 -0
  64. data/lib/cucumber/formatter/ignore_missing_messages.rb +1 -3
  65. data/lib/cucumber/formatter/interceptor.rb +18 -5
  66. data/lib/cucumber/formatter/io.rb +18 -11
  67. data/lib/cucumber/formatter/json.rb +11 -4
  68. data/lib/cucumber/formatter/json_pretty.rb +1 -1
  69. data/lib/cucumber/formatter/junit.rb +22 -17
  70. data/lib/cucumber/formatter/pretty.rb +4 -3
  71. data/lib/cucumber/formatter/progress.rb +3 -2
  72. data/lib/cucumber/formatter/rerun.rb +2 -1
  73. data/lib/cucumber/formatter/stepdefs.rb +1 -0
  74. data/lib/cucumber/formatter/steps.rb +2 -2
  75. data/lib/cucumber/formatter/summary.rb +1 -2
  76. data/lib/cucumber/formatter/unicode.rb +2 -2
  77. data/lib/cucumber/formatter/usage.rb +22 -19
  78. data/lib/cucumber/gherkin/data_table_parser.rb +1 -0
  79. data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +86 -85
  80. data/lib/cucumber/gherkin/formatter/escaping.rb +13 -12
  81. data/lib/cucumber/gherkin/i18n.rb +1 -0
  82. data/lib/cucumber/gherkin/steps_parser.rb +1 -0
  83. data/lib/cucumber/glue/dsl.rb +1 -0
  84. data/lib/cucumber/glue/hook.rb +1 -0
  85. data/lib/cucumber/glue/invoke_in_world.rb +3 -3
  86. data/lib/cucumber/glue/proto_world.rb +10 -9
  87. data/lib/cucumber/glue/registry_and_more.rb +13 -12
  88. data/lib/cucumber/glue/snippet.rb +1 -5
  89. data/lib/cucumber/glue/step_definition.rb +10 -10
  90. data/lib/cucumber/glue/world_factory.rb +1 -3
  91. data/lib/cucumber/hooks.rb +13 -3
  92. data/lib/cucumber/load_path.rb +1 -0
  93. data/lib/cucumber/multiline_argument.rb +3 -3
  94. data/lib/cucumber/multiline_argument/data_table.rb +16 -20
  95. data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +7 -11
  96. data/lib/cucumber/multiline_argument/doc_string.rb +1 -0
  97. data/lib/cucumber/platform.rb +2 -1
  98. data/lib/cucumber/project_initializer.rb +1 -1
  99. data/lib/cucumber/rake/task.rb +8 -5
  100. data/lib/cucumber/rspec/disable_option_parser.rb +1 -0
  101. data/lib/cucumber/rspec/doubles.rb +1 -0
  102. data/lib/cucumber/running_test_case.rb +2 -1
  103. data/lib/cucumber/runtime.rb +6 -6
  104. data/lib/cucumber/runtime/after_hooks.rb +1 -0
  105. data/lib/cucumber/runtime/before_hooks.rb +1 -0
  106. data/lib/cucumber/runtime/for_programming_languages.rb +8 -7
  107. data/lib/cucumber/runtime/step_hooks.rb +2 -0
  108. data/lib/cucumber/runtime/support_code.rb +3 -7
  109. data/lib/cucumber/runtime/user_interface.rb +2 -3
  110. data/lib/cucumber/step_argument.rb +1 -0
  111. data/lib/cucumber/step_definition_light.rb +2 -1
  112. data/lib/cucumber/step_definitions.rb +2 -1
  113. data/lib/cucumber/step_match.rb +9 -8
  114. data/lib/cucumber/step_match_search.rb +8 -9
  115. data/lib/cucumber/term/ansicolor.rb +30 -30
  116. data/lib/cucumber/unit.rb +1 -0
  117. data/lib/cucumber/version +1 -1
  118. data/lib/simplecov_setup.rb +1 -0
  119. metadata +64 -659
  120. data/.coveralls.yml +0 -1
  121. data/.cucumberproignore +0 -6
  122. data/.gitattributes +0 -32
  123. data/.github/ISSUE_TEMPLATE.md +0 -48
  124. data/.github/PULL_REQUEST_TEMPLATE.md +0 -40
  125. data/.rspec +0 -1
  126. data/.rubocop.yml +0 -13
  127. data/.rubocop_todo.yml +0 -991
  128. data/.ruby-gemset +0 -1
  129. data/.travis.yml +0 -70
  130. data/.yardopts +0 -1
  131. data/Gemfile +0 -28
  132. data/Rakefile +0 -32
  133. data/appveyor.yml +0 -27
  134. data/cucumber.gemspec +0 -52
  135. data/cucumber.yml +0 -19
  136. data/examples/i18n/README.textile +0 -3
  137. data/examples/i18n/Rakefile +0 -33
  138. data/examples/i18n/ar/Rakefile +0 -6
  139. data/examples/i18n/ar/features/addition.feature +0 -17
  140. data/examples/i18n/ar/features/step_definitions/calculator_steps.rb +0 -29
  141. data/examples/i18n/ar/lib/calculator.rb +0 -11
  142. data/examples/i18n/bg/Rakefile +0 -6
  143. data/examples/i18n/bg/features/addition.feature +0 -12
  144. data/examples/i18n/bg/features/consecutive_calculations.feature +0 -19
  145. data/examples/i18n/bg/features/division.feature +0 -17
  146. data/examples/i18n/bg/features/step_definitions/calculator_steps.rb +0 -24
  147. data/examples/i18n/bg/features/support/env.rb +0 -10
  148. data/examples/i18n/bg/features/support/world.rb +0 -8
  149. data/examples/i18n/bg/lib/calculator.rb +0 -25
  150. data/examples/i18n/ca/Rakefile +0 -6
  151. data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -26
  152. data/examples/i18n/ca/features/suma.feature +0 -17
  153. data/examples/i18n/ca/lib/calculadora.rb +0 -16
  154. data/examples/i18n/cs/Rakefile +0 -6
  155. data/examples/i18n/cs/features/addition.feature +0 -17
  156. data/examples/i18n/cs/features/division.feature +0 -11
  157. data/examples/i18n/cs/features/step_definitions/calculator_steps.rb +0 -29
  158. data/examples/i18n/cs/lib/calculator.rb +0 -14
  159. data/examples/i18n/da/Rakefile +0 -6
  160. data/examples/i18n/da/features/sammenlaegning.feature +0 -18
  161. data/examples/i18n/da/features/step_definitions/lommeregner_steps.rb +0 -29
  162. data/examples/i18n/da/lib/lommeregner.rb +0 -11
  163. data/examples/i18n/de/Rakefile +0 -6
  164. data/examples/i18n/de/features/addition.feature +0 -17
  165. data/examples/i18n/de/features/division.feature +0 -10
  166. data/examples/i18n/de/features/step_definitions/calculator_steps.rb +0 -29
  167. data/examples/i18n/de/lib/calculator.rb +0 -14
  168. data/examples/i18n/el/Rakefile +0 -6
  169. data/examples/i18n/el/features/addition.feature +0 -17
  170. data/examples/i18n/el/features/division.feature +0 -10
  171. data/examples/i18n/el/features/step_definitions/calculator_steps.rb +0 -29
  172. data/examples/i18n/el/lib/calculator.rb +0 -14
  173. data/examples/i18n/en-lol/Rakefile +0 -4
  174. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +0 -16
  175. data/examples/i18n/en-lol/features/stuffing.feature +0 -8
  176. data/examples/i18n/en-lol/features/support/env.rb +0 -11
  177. data/examples/i18n/en-lol/lib/basket.rb +0 -12
  178. data/examples/i18n/en-lol/lib/belly.rb +0 -11
  179. data/examples/i18n/en/Rakefile +0 -6
  180. data/examples/i18n/en/features/addition.feature +0 -17
  181. data/examples/i18n/en/features/division.feature +0 -10
  182. data/examples/i18n/en/features/step_definitions/calculator_steps.rb +0 -29
  183. data/examples/i18n/en/lib/calculator.rb +0 -14
  184. data/examples/i18n/eo/Rakefile +0 -6
  185. data/examples/i18n/eo/features/adicio.feature +0 -17
  186. data/examples/i18n/eo/features/divido.feature +0 -10
  187. data/examples/i18n/eo/features/step_definitions/calculator_steps.rb +0 -29
  188. data/examples/i18n/eo/lib/calculator.rb +0 -14
  189. data/examples/i18n/es/Rakefile +0 -6
  190. data/examples/i18n/es/features/adicion.feature +0 -17
  191. data/examples/i18n/es/features/step_definitions/calculador_steps.rb +0 -26
  192. data/examples/i18n/es/lib/calculador.rb +0 -14
  193. data/examples/i18n/et/Rakefile +0 -6
  194. data/examples/i18n/et/features/jagamine.feature +0 -10
  195. data/examples/i18n/et/features/liitmine.feature +0 -17
  196. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -29
  197. data/examples/i18n/et/lib/kalkulaator.rb +0 -14
  198. data/examples/i18n/fi/Rakefile +0 -6
  199. data/examples/i18n/fi/features/jakolasku.feature +0 -10
  200. data/examples/i18n/fi/features/step_definitions/laskin_steps.rb +0 -29
  201. data/examples/i18n/fi/features/yhteenlasku.feature +0 -17
  202. data/examples/i18n/fi/lib/laskin.rb +0 -14
  203. data/examples/i18n/fr/Rakefile +0 -8
  204. data/examples/i18n/fr/features/addition.feature +0 -18
  205. data/examples/i18n/fr/features/addition2.feature +0 -17
  206. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -32
  207. data/examples/i18n/fr/features/support/env.rb +0 -10
  208. data/examples/i18n/fr/lib/calculatrice.rb +0 -10
  209. data/examples/i18n/he/Rakefile +0 -6
  210. data/examples/i18n/he/features/addition.feature +0 -17
  211. data/examples/i18n/he/features/division.feature +0 -10
  212. data/examples/i18n/he/features/step_definitions/calculator_steps.rb +0 -29
  213. data/examples/i18n/he/lib/calculator.rb +0 -15
  214. data/examples/i18n/hi/Rakefile +0 -6
  215. data/examples/i18n/hi/features/addition.feature +0 -16
  216. data/examples/i18n/hi/features/division.feature +0 -10
  217. data/examples/i18n/hi/features/step_definitions/calculator_steps.rb +0 -29
  218. data/examples/i18n/hi/lib/calculator.rb +0 -15
  219. data/examples/i18n/ht/Rakefile +0 -6
  220. data/examples/i18n/ht/features/adisyon.feature +0 -17
  221. data/examples/i18n/ht/features/divizyon.feature +0 -10
  222. data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +0 -29
  223. data/examples/i18n/ht/lib/kalkilatris.rb +0 -14
  224. data/examples/i18n/hu/Rakefile +0 -6
  225. data/examples/i18n/hu/features/osszeadas.feature +0 -17
  226. data/examples/i18n/hu/features/osztas.feature +0 -10
  227. data/examples/i18n/hu/features/step_definitions/calculator_steps.rb +0 -30
  228. data/examples/i18n/hu/lib/calculator.rb +0 -14
  229. data/examples/i18n/id/Rakefile +0 -6
  230. data/examples/i18n/id/features/addition.feature +0 -17
  231. data/examples/i18n/id/features/division.feature +0 -10
  232. data/examples/i18n/id/features/step_definitions/calculator_steps.rb +0 -29
  233. data/examples/i18n/id/lib/calculator.rb +0 -14
  234. data/examples/i18n/it/Rakefile +0 -6
  235. data/examples/i18n/it/features/somma.feature +0 -11
  236. data/examples/i18n/it/features/step_definitions/calcolatrice_steps.rb +0 -29
  237. data/examples/i18n/it/lib/calcolatrice.rb +0 -11
  238. data/examples/i18n/ja/Rakefile +0 -6
  239. data/examples/i18n/ja/features/addition.feature +0 -17
  240. data/examples/i18n/ja/features/division.feature +0 -10
  241. data/examples/i18n/ja/features/step_definitions/calculator_steps.rb +0 -19
  242. data/examples/i18n/ja/features/support/env.rb +0 -10
  243. data/examples/i18n/ja/lib/calculator.rb +0 -14
  244. data/examples/i18n/ko/Rakefile +0 -6
  245. data/examples/i18n/ko/features/addition.feature +0 -17
  246. data/examples/i18n/ko/features/division.feature +0 -11
  247. data/examples/i18n/ko/features/step_definitions/calculator_steps.rb +0 -29
  248. data/examples/i18n/ko/lib/calculator.rb +0 -14
  249. data/examples/i18n/lt/Rakefile +0 -6
  250. data/examples/i18n/lt/features/addition.feature +0 -17
  251. data/examples/i18n/lt/features/division.feature +0 -10
  252. data/examples/i18n/lt/features/step_definitions/calculator_steps.rb +0 -29
  253. data/examples/i18n/lt/lib/calculator.rb +0 -14
  254. data/examples/i18n/lv/Rakefile +0 -6
  255. data/examples/i18n/lv/features/addition.feature +0 -17
  256. data/examples/i18n/lv/features/division.feature +0 -10
  257. data/examples/i18n/lv/features/step_definitions/calculator_steps.rb +0 -29
  258. data/examples/i18n/lv/lib/calculator.rb +0 -14
  259. data/examples/i18n/no/Rakefile +0 -6
  260. data/examples/i18n/no/features/step_definitions/kalkulator_steps.rb +0 -17
  261. data/examples/i18n/no/features/summering.feature +0 -19
  262. data/examples/i18n/no/features/support/env.rb +0 -11
  263. data/examples/i18n/no/lib/kalkulator.rb +0 -11
  264. data/examples/i18n/pl/Rakefile +0 -6
  265. data/examples/i18n/pl/features/addition.feature +0 -17
  266. data/examples/i18n/pl/features/division.feature +0 -10
  267. data/examples/i18n/pl/features/step_definitions/calculator_steps.rb +0 -29
  268. data/examples/i18n/pl/features/support/env.rb +0 -10
  269. data/examples/i18n/pl/lib/calculator.rb +0 -14
  270. data/examples/i18n/pt/Rakefile +0 -6
  271. data/examples/i18n/pt/features/adicao.feature +0 -11
  272. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -20
  273. data/examples/i18n/pt/features/support/env.rb +0 -10
  274. data/examples/i18n/pt/lib/calculadora.rb +0 -10
  275. data/examples/i18n/ro/Rakefile +0 -6
  276. data/examples/i18n/ro/features/adunare.feature +0 -12
  277. data/examples/i18n/ro/features/step_definitions/calculator_steps.rb +0 -26
  278. data/examples/i18n/ro/lib/calculator.rb +0 -11
  279. data/examples/i18n/ru/Rakefile +0 -6
  280. data/examples/i18n/ru/features/addition.feature +0 -11
  281. data/examples/i18n/ru/features/consecutive_calculations.feature +0 -17
  282. data/examples/i18n/ru/features/division.feature +0 -16
  283. data/examples/i18n/ru/features/step_definitions/calculator_steps.rb +0 -19
  284. data/examples/i18n/ru/features/support/env.rb +0 -10
  285. data/examples/i18n/ru/features/support/world.rb +0 -8
  286. data/examples/i18n/ru/lib/calculator.rb +0 -25
  287. data/examples/i18n/sk/Rakefile +0 -6
  288. data/examples/i18n/sk/features/addition.feature +0 -17
  289. data/examples/i18n/sk/features/division.feature +0 -10
  290. data/examples/i18n/sk/features/step_definitions/calculator_steps.rb +0 -29
  291. data/examples/i18n/sk/lib/calculator.rb +0 -14
  292. data/examples/i18n/sr-Cyrl/Rakefile +0 -6
  293. data/examples/i18n/sr-Cyrl/features/sabiranje.feature +0 -18
  294. data/examples/i18n/sr-Cyrl/features/step_definitions/calculator_steps.rb +0 -20
  295. data/examples/i18n/sr-Cyrl/features/support/env.rb +0 -10
  296. data/examples/i18n/sr-Cyrl/lib/calculator.rb +0 -12
  297. data/examples/i18n/sr-Latn/Rakefile +0 -6
  298. data/examples/i18n/sr-Latn/features/sabiranje.feature +0 -18
  299. data/examples/i18n/sr-Latn/features/step_definitions/calculator_steps.rb +0 -29
  300. data/examples/i18n/sr-Latn/lib/calculator.rb +0 -12
  301. data/examples/i18n/sv/Rakefile +0 -6
  302. data/examples/i18n/sv/features/step_definitions/kalkulator_steps.rb +0 -29
  303. data/examples/i18n/sv/features/summering.feature +0 -18
  304. data/examples/i18n/sv/lib/kalkulator.rb +0 -11
  305. data/examples/i18n/tr/Rakefile +0 -6
  306. data/examples/i18n/tr/features/bolme.feature +0 -10
  307. data/examples/i18n/tr/features/step_definitions/hesap_makinesi_adimlari.rb +0 -29
  308. data/examples/i18n/tr/features/toplama.feature +0 -18
  309. data/examples/i18n/tr/lib/hesap_makinesi.rb +0 -15
  310. data/examples/i18n/uk/Rakefile +0 -6
  311. data/examples/i18n/uk/features/addition.feature +0 -11
  312. data/examples/i18n/uk/features/consecutive_calculations.feature +0 -17
  313. data/examples/i18n/uk/features/division.feature +0 -16
  314. data/examples/i18n/uk/features/step_definitions/calculator_steps.rb +0 -19
  315. data/examples/i18n/uk/features/support/env.rb +0 -10
  316. data/examples/i18n/uk/features/support/world.rb +0 -8
  317. data/examples/i18n/uk/lib/calculator.rb +0 -25
  318. data/examples/i18n/uz/Rakefile +0 -6
  319. data/examples/i18n/uz/features/addition.feature +0 -10
  320. data/examples/i18n/uz/features/consecutive_calculations.feature +0 -17
  321. data/examples/i18n/uz/features/division.feature +0 -17
  322. data/examples/i18n/uz/features/step_definitions/calculator_steps.rb +0 -19
  323. data/examples/i18n/uz/features/support/env.rb +0 -10
  324. data/examples/i18n/uz/features/support/world.rb +0 -8
  325. data/examples/i18n/uz/lib/calculator.rb +0 -25
  326. data/examples/i18n/zh-CN/Rakefile +0 -4
  327. data/examples/i18n/zh-CN/features/addition.feature +0 -18
  328. data/examples/i18n/zh-CN/features/step_definitions/calculator_steps.rb +0 -31
  329. data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
  330. data/examples/i18n/zh-TW/Rakefile +0 -4
  331. data/examples/i18n/zh-TW/features/addition.feature +0 -17
  332. data/examples/i18n/zh-TW/features/division.feature +0 -11
  333. data/examples/i18n/zh-TW/features/step_definitions/calculator_steps.rb +0 -29
  334. data/examples/i18n/zh-TW/lib/calculator.rb +0 -14
  335. data/examples/rspec_doubles/Rakefile +0 -4
  336. data/examples/rspec_doubles/features/mocking.feature +0 -9
  337. data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +0 -19
  338. data/examples/rspec_doubles/features/support/env.rb +0 -12
  339. data/examples/sinatra/README.textile +0 -13
  340. data/examples/sinatra/Rakefile +0 -6
  341. data/examples/sinatra/app.rb +0 -14
  342. data/examples/sinatra/features/add.feature +0 -11
  343. data/examples/sinatra/features/step_definitions/add_steps.rb +0 -15
  344. data/examples/sinatra/features/support/env.rb +0 -15
  345. data/examples/sinatra/views/add.erb +0 -7
  346. data/examples/sinatra/views/layout.erb +0 -8
  347. data/examples/tcl/README.textile +0 -11
  348. data/examples/tcl/Rakefile +0 -6
  349. data/examples/tcl/features/fibonnacci.feature +0 -17
  350. data/examples/tcl/features/step_definitions/fib_steps.rb +0 -7
  351. data/examples/tcl/features/support/env.rb +0 -7
  352. data/examples/tcl/src/fib.tcl +0 -3
  353. data/examples/test_unit/Gemfile +0 -4
  354. data/examples/test_unit/Rakefile +0 -6
  355. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -20
  356. data/examples/test_unit/features/test_unit.feature +0 -9
  357. data/examples/watir/README.textile +0 -16
  358. data/examples/watir/Rakefile +0 -12
  359. data/examples/watir/cucumber.yml +0 -1
  360. data/examples/watir/features/search.feature +0 -12
  361. data/examples/watir/features/step_definitions/search_steps.rb +0 -27
  362. data/examples/watir/features/support/env.rb +0 -39
  363. data/examples/watir/features/support/screenshots.rb +0 -47
  364. data/features/docs/api/list_step_defs_as_json.feature +0 -64
  365. data/features/docs/api/listen_for_events.feature +0 -59
  366. data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -27
  367. data/features/docs/cli/backtraces.feature +0 -36
  368. data/features/docs/cli/dry_run.feature +0 -73
  369. data/features/docs/cli/exclude_files.feature +0 -18
  370. data/features/docs/cli/execute_with_tag_filter.feature +0 -119
  371. data/features/docs/cli/fail_fast.feature +0 -48
  372. data/features/docs/cli/finding_steps.feature +0 -28
  373. data/features/docs/cli/help.feature +0 -8
  374. data/features/docs/cli/i18n.feature +0 -42
  375. data/features/docs/cli/randomize.feature +0 -140
  376. data/features/docs/cli/require.feature +0 -27
  377. data/features/docs/cli/retry_failing_tests.feature +0 -92
  378. data/features/docs/cli/run_scenarios_matching_name.feature +0 -105
  379. data/features/docs/cli/run_specific_scenarios.feature +0 -77
  380. data/features/docs/cli/showing_differences.feature +0 -43
  381. data/features/docs/cli/specifying_multiple_formatters.feature +0 -68
  382. data/features/docs/cli/strict_mode.feature +0 -70
  383. data/features/docs/defining_steps/ambiguous_steps.feature +0 -89
  384. data/features/docs/defining_steps/nested_steps.feature +0 -181
  385. data/features/docs/defining_steps/nested_steps_i18n.feature +0 -37
  386. data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -56
  387. data/features/docs/defining_steps/one_line_step_definitions.feature +0 -65
  388. data/features/docs/defining_steps/printing_messages.feature +0 -147
  389. data/features/docs/defining_steps/skip_scenario.feature +0 -31
  390. data/features/docs/defining_steps/snippets.feature +0 -56
  391. data/features/docs/defining_steps/table_diffing.feature +0 -50
  392. data/features/docs/events/gherkin_source_read_event.feature +0 -43
  393. data/features/docs/events/step_activated_event.feature +0 -36
  394. data/features/docs/events/step_definition_registered_event.feature +0 -29
  395. data/features/docs/events/test_case_finished_event.feature +0 -35
  396. data/features/docs/events/test_case_started_event.feature +0 -54
  397. data/features/docs/events/test_run_finished_event.feature +0 -40
  398. data/features/docs/events/test_run_started_event.feature +0 -41
  399. data/features/docs/events/test_step_finished_event.feature +0 -47
  400. data/features/docs/events/test_step_started_event.feature +0 -43
  401. data/features/docs/exception_in_after_hook.feature +0 -127
  402. data/features/docs/exception_in_after_step_hook.feature +0 -104
  403. data/features/docs/exception_in_around_hook.feature +0 -80
  404. data/features/docs/exception_in_before_hook.feature +0 -98
  405. data/features/docs/extending_cucumber/custom_filter.feature +0 -29
  406. data/features/docs/extending_cucumber/custom_formatter.feature +0 -94
  407. data/features/docs/formatters/api_methods.feature +0 -37
  408. data/features/docs/formatters/html_formatter.feature +0 -91
  409. data/features/docs/formatters/json_formatter.feature +0 -767
  410. data/features/docs/formatters/junit_formatter.feature +0 -455
  411. data/features/docs/formatters/pretty_formatter.feature +0 -74
  412. data/features/docs/formatters/progress_formatter.feature +0 -32
  413. data/features/docs/formatters/rerun_formatter.feature +0 -190
  414. data/features/docs/formatters/summary_formatter.feature +0 -35
  415. data/features/docs/formatters/usage_formatter.feature +0 -101
  416. data/features/docs/getting_started.feature +0 -28
  417. data/features/docs/gherkin/background.feature +0 -548
  418. data/features/docs/gherkin/doc_strings.feature +0 -76
  419. data/features/docs/gherkin/expand_option_for_outlines.feature +0 -47
  420. data/features/docs/gherkin/language_from_header.feature +0 -32
  421. data/features/docs/gherkin/outlines.feature +0 -158
  422. data/features/docs/gherkin/unicode_table.feature +0 -33
  423. data/features/docs/gherkin/using_descriptions.feature +0 -83
  424. data/features/docs/gherkin/using_star_notation.feature +0 -37
  425. data/features/docs/iso-8859-1.feature +0 -6
  426. data/features/docs/post_configuration_hook.feature +0 -33
  427. data/features/docs/profiles.feature +0 -120
  428. data/features/docs/rake_task.feature +0 -146
  429. data/features/docs/raketask.feature +0 -46
  430. data/features/docs/work_in_progress.feature +0 -157
  431. data/features/docs/writing_support_code/after_hooks.feature +0 -102
  432. data/features/docs/writing_support_code/after_step_hooks.feature +0 -55
  433. data/features/docs/writing_support_code/around_hooks.feature +0 -266
  434. data/features/docs/writing_support_code/before_hook.feature +0 -66
  435. data/features/docs/writing_support_code/hook_order.feature +0 -63
  436. data/features/docs/writing_support_code/load_path.feature +0 -17
  437. data/features/docs/writing_support_code/parameter_types.feature +0 -69
  438. data/features/docs/writing_support_code/state.feature +0 -32
  439. data/features/docs/writing_support_code/tagged_hooks.feature +0 -95
  440. data/features/docs/writing_support_code/world.feature +0 -129
  441. data/features/lib/step_definitions/aruba_steps.rb +0 -21
  442. data/features/lib/step_definitions/cli_steps.rb +0 -4
  443. data/features/lib/step_definitions/cucumber_steps.rb +0 -75
  444. data/features/lib/step_definitions/iso-8859-1_steps.rb +0 -16
  445. data/features/lib/step_definitions/json_steps.rb +0 -8
  446. data/features/lib/step_definitions/junit_steps.rb +0 -14
  447. data/features/lib/step_definitions/language_steps.rb +0 -9
  448. data/features/lib/step_definitions/profile_steps.rb +0 -16
  449. data/features/lib/step_definitions/retry_steps.rb +0 -55
  450. data/features/lib/step_definitions/ruby_steps.rb +0 -4
  451. data/features/lib/support/env.rb +0 -22
  452. data/features/lib/support/fake_wire_server.rb +0 -94
  453. data/features/lib/support/feature_factory.rb +0 -68
  454. data/features/lib/support/normalise_output.rb +0 -52
  455. data/features/lib/support/parameter_types.rb +0 -5
  456. data/gem_tasks/contributors.rake +0 -19
  457. data/gem_tasks/cov.rake +0 -6
  458. data/gem_tasks/downloads.rb +0 -8
  459. data/gem_tasks/environment.rake +0 -4
  460. data/gem_tasks/examples.rake +0 -12
  461. data/gem_tasks/fix_cr_lf.rake +0 -22
  462. data/gem_tasks/flog.rake +0 -5
  463. data/gem_tasks/rspec.rake +0 -7
  464. data/gem_tasks/sass.rake +0 -5
  465. data/gem_tasks/stats +0 -16
  466. data/gem_tasks/versions.txt +0 -74
  467. data/scripts/invite-collaborator +0 -40
  468. data/scripts/update-changelog +0 -86
  469. data/spec/cucumber/cli/configuration_spec.rb +0 -446
  470. data/spec/cucumber/cli/main_spec.rb +0 -84
  471. data/spec/cucumber/cli/options_spec.rb +0 -445
  472. data/spec/cucumber/cli/profile_loader_spec.rb +0 -66
  473. data/spec/cucumber/cli/rerun_spec.rb +0 -86
  474. data/spec/cucumber/configuration_spec.rb +0 -148
  475. data/spec/cucumber/constantize_spec.rb +0 -20
  476. data/spec/cucumber/events_spec.rb +0 -9
  477. data/spec/cucumber/file_specs_spec.rb +0 -61
  478. data/spec/cucumber/filters/activate_steps_spec.rb +0 -152
  479. data/spec/cucumber/filters/gated_receiver_spec.rb +0 -48
  480. data/spec/cucumber/filters/retry_spec.rb +0 -98
  481. data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +0 -39
  482. data/spec/cucumber/filters/tag_limits/verifier_spec.rb +0 -58
  483. data/spec/cucumber/filters/tag_limits_spec.rb +0 -60
  484. data/spec/cucumber/formatter/ansicolor_spec.rb +0 -33
  485. data/spec/cucumber/formatter/backtrace_filter_spec.rb +0 -32
  486. data/spec/cucumber/formatter/console_counts_spec.rb +0 -14
  487. data/spec/cucumber/formatter/duration_spec.rb +0 -23
  488. data/spec/cucumber/formatter/fail_fast_spec.rb +0 -88
  489. data/spec/cucumber/formatter/html_spec.rb +0 -543
  490. data/spec/cucumber/formatter/interceptor_spec.rb +0 -137
  491. data/spec/cucumber/formatter/json_spec.rb +0 -815
  492. data/spec/cucumber/formatter/junit_spec.rb +0 -251
  493. data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2175
  494. data/spec/cucumber/formatter/pretty_spec.rb +0 -907
  495. data/spec/cucumber/formatter/progress_spec.rb +0 -170
  496. data/spec/cucumber/formatter/rerun_spec.rb +0 -97
  497. data/spec/cucumber/formatter/spec_helper.rb +0 -84
  498. data/spec/cucumber/glue/proto_world_spec.rb +0 -63
  499. data/spec/cucumber/glue/registry_and_more_spec.rb +0 -213
  500. data/spec/cucumber/glue/snippet_spec.rb +0 -174
  501. data/spec/cucumber/glue/step_definition_spec.rb +0 -207
  502. data/spec/cucumber/hooks_spec.rb +0 -31
  503. data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -653
  504. data/spec/cucumber/project_initializer_spec.rb +0 -88
  505. data/spec/cucumber/rake/forked_spec.rb +0 -58
  506. data/spec/cucumber/rake/task_spec.rb +0 -86
  507. data/spec/cucumber/running_test_case_spec.rb +0 -140
  508. data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -8
  509. data/spec/cucumber/runtime/support_code_spec.rb +0 -17
  510. data/spec/cucumber/runtime_spec.rb +0 -21
  511. data/spec/cucumber/sell_cucumbers.feature +0 -19
  512. data/spec/cucumber/step_argument_spec.rb +0 -19
  513. data/spec/cucumber/step_match_search_spec.rb +0 -113
  514. data/spec/cucumber/step_match_spec.rb +0 -86
  515. data/spec/cucumber/world/pending_spec.rb +0 -48
  516. data/spec/spec_helper.rb +0 -30
  517. data/spec/support/standard_step_actions.rb +0 -19
@@ -1,548 +0,0 @@
1
- Feature: Background
2
-
3
- Often you find that several scenarios in the same feature start with
4
- a common context.
5
-
6
- Cucumber provides a mechanism for this, by providing a `Background` keyword
7
- where you can specify steps that should be run before each scenario in the
8
- feature. Typically these will be `Given` steps, but you can use any steps
9
- that you need to.
10
-
11
- **Hint:** if you find that some of the scenarios don't fit the background,
12
- consider splitting them into a separate feature.
13
-
14
- Background:
15
- Given a file named "features/passing_background.feature" with:
16
- """
17
- Feature: Passing background sample
18
-
19
- Background:
20
- Given '10' cukes
21
-
22
- Scenario: passing background
23
- Then I should have '10' cukes
24
-
25
- Scenario: another passing background
26
- Then I should have '10' cukes
27
- """
28
- And a file named "features/scenario_outline_passing_background.feature" with:
29
- """
30
- Feature: Passing background with scenario outlines sample
31
-
32
- Background:
33
- Given '10' cukes
34
-
35
- Scenario Outline: passing background
36
- Then I should have '<count>' cukes
37
- Examples:
38
- |count|
39
- | 10 |
40
-
41
- Scenario Outline: another passing background
42
- Then I should have '<count>' cukes
43
- Examples:
44
- |count|
45
- | 10 |
46
- """
47
- And a file named "features/background_tagged_before_on_outline.feature" with:
48
- """
49
- @background_tagged_before_on_outline
50
- Feature: Background tagged Before on Outline
51
-
52
- Background:
53
- Given this step passes
54
-
55
- Scenario Outline: passing background
56
- Then I should have '<count>' cukes
57
-
58
- Examples:
59
- | count |
60
- | 888 |
61
- """
62
- And a file named "features/failing_background.feature" with:
63
- """
64
- Feature: Failing background sample
65
-
66
- Background:
67
- Given this step raises an error
68
- And '10' cukes
69
-
70
- Scenario: failing background
71
- Then I should have '10' cukes
72
-
73
- Scenario: another failing background
74
- Then I should have '10' cukes
75
- """
76
- And a file named "features/scenario_outline_failing_background.feature" with:
77
- """
78
- Feature: Failing background with scenario outlines sample
79
-
80
- Background:
81
- Given this step raises an error
82
-
83
- Scenario Outline: failing background
84
- Then I should have '<count>' cukes
85
- Examples:
86
- |count|
87
- | 10 |
88
-
89
- Scenario Outline: another failing background
90
- Then I should have '<count>' cukes
91
- Examples:
92
- |count|
93
- | 10 |
94
- """
95
- And a file named "features/pending_background.feature" with:
96
- """
97
- Feature: Pending background sample
98
-
99
- Background:
100
- Given this step is pending
101
-
102
- Scenario: pending background
103
- Then I should have '10' cukes
104
-
105
- Scenario: another pending background
106
- Then I should have '10' cukes
107
- """
108
- And a file named "features/failing_background_after_success.feature" with:
109
- """
110
- Feature: Failing background after previously successful background sample
111
-
112
- Background:
113
- Given this step passes
114
- And '10' global cukes
115
-
116
- Scenario: passing background
117
- Then I should have '10' global cukes
118
-
119
- Scenario: failing background
120
- Then I should have '10' global cukes
121
- """
122
- And a file named "features/failing_background_after_success_outline.feature" with:
123
- """
124
- Feature: Failing background after previously successful background sample
125
-
126
- Background:
127
- Given this step passes
128
- And '10' global cukes
129
-
130
- Scenario Outline: passing background
131
- Then I should have '<count>' global cukes
132
-
133
- Examples:
134
- | count |
135
- | 10 |
136
-
137
- Scenario Outline: failing background
138
- Then I should have '<count>' global cukes
139
-
140
- Examples:
141
- | count |
142
- | 10 |
143
-
144
- """
145
- And a file named "features/multiline_args_background.feature" with:
146
- """
147
- Feature: Passing background with multiline args
148
-
149
- Background:
150
- Given table
151
- |a|b|
152
- |c|d|
153
- And multiline string
154
- \"\"\"
155
- I'm a cucumber and I'm okay.
156
- I sleep all night and I test all day
157
- \"\"\"
158
-
159
- Scenario: passing background
160
- Then the table should be
161
- |a|b|
162
- |c|d|
163
- Then the multiline string should be
164
- \"\"\"
165
- I'm a cucumber and I'm okay.
166
- I sleep all night and I test all day
167
- \"\"\"
168
-
169
- Scenario: another passing background
170
- Then the table should be
171
- |a|b|
172
- |c|d|
173
- Then the multiline string should be
174
- \"\"\"
175
- I'm a cucumber and I'm okay.
176
- I sleep all night and I test all day
177
- \"\"\"
178
- """
179
- And the standard step definitions
180
- And a file named "features/step_definitions/cuke_steps.rb" with:
181
- """
182
- Given /^'(.+)' cukes$/ do |cukes| x=1
183
- raise "We already have #{@cukes} cukes!" if @cukes
184
- @cukes = cukes
185
- end
186
-
187
- Given /^'(.+)' global cukes$/ do |cukes| x=1
188
- $scenario_runs ||= 0
189
- raise 'FAIL' if $scenario_runs >= 1
190
- $cukes = cukes
191
- $scenario_runs += 1
192
- end
193
-
194
- Then /^I should have '(.+)' global cukes$/ do |cukes| x=1
195
- expect($cukes).to eq cukes
196
- end
197
-
198
- Then /^I should have '(.+)' cukes$/ do |cukes| x=1
199
- expect(@cukes).to eq cukes
200
- end
201
-
202
- Before('@background_tagged_before_on_outline') do
203
- @cukes = '888'
204
- end
205
-
206
- After('@background_tagged_before_on_outline') do
207
- expect(@cukes).to eq '888'
208
- end
209
- """
210
-
211
- Scenario: run a specific scenario with a background
212
- When I run `cucumber -q features/passing_background.feature:9`
213
- Then it should pass with exactly:
214
- """
215
- Feature: Passing background sample
216
-
217
- Background:
218
- Given '10' cukes
219
-
220
- Scenario: another passing background
221
- Then I should have '10' cukes
222
-
223
- 1 scenario (1 passed)
224
- 2 steps (2 passed)
225
-
226
- """
227
-
228
- Scenario: run a feature with a background that passes
229
- When I run `cucumber -q features/passing_background.feature`
230
- Then it should pass with exactly:
231
- """
232
- Feature: Passing background sample
233
-
234
- Background:
235
- Given '10' cukes
236
-
237
- Scenario: passing background
238
- Then I should have '10' cukes
239
-
240
- Scenario: another passing background
241
- Then I should have '10' cukes
242
-
243
- 2 scenarios (2 passed)
244
- 4 steps (4 passed)
245
-
246
- """
247
-
248
- Scenario: run a feature with scenario outlines that has a background that passes
249
- When I run `cucumber -q features/scenario_outline_passing_background.feature`
250
- Then it should pass with exactly:
251
- """
252
- Feature: Passing background with scenario outlines sample
253
-
254
- Background:
255
- Given '10' cukes
256
-
257
- Scenario Outline: passing background
258
- Then I should have '<count>' cukes
259
-
260
- Examples:
261
- | count |
262
- | 10 |
263
-
264
- Scenario Outline: another passing background
265
- Then I should have '<count>' cukes
266
-
267
- Examples:
268
- | count |
269
- | 10 |
270
-
271
- 2 scenarios (2 passed)
272
- 4 steps (4 passed)
273
-
274
- """
275
-
276
- Scenario: run a feature with scenario outlines that has a background that passes
277
- When I run `cucumber -q features/background_tagged_before_on_outline.feature`
278
- Then it should pass with exactly:
279
- """
280
- @background_tagged_before_on_outline
281
- Feature: Background tagged Before on Outline
282
-
283
- Background:
284
- Given this step passes
285
-
286
- Scenario Outline: passing background
287
- Then I should have '<count>' cukes
288
-
289
- Examples:
290
- | count |
291
- | 888 |
292
-
293
- 1 scenario (1 passed)
294
- 2 steps (2 passed)
295
-
296
- """
297
-
298
- @spawn @todo-windows
299
- Scenario: run a feature with a background that fails
300
- When I run `cucumber -q features/failing_background.feature`
301
- Then it should fail with exactly:
302
- """
303
- Feature: Failing background sample
304
-
305
- Background:
306
- Given this step raises an error
307
- error (RuntimeError)
308
- ./features/step_definitions/steps.rb:2:in `/^this step raises an error$/'
309
- features/failing_background.feature:4:in `Given this step raises an error'
310
- And '10' cukes
311
-
312
- Scenario: failing background
313
- Then I should have '10' cukes
314
-
315
- Scenario: another failing background
316
- Then I should have '10' cukes
317
-
318
- Failing Scenarios:
319
- cucumber features/failing_background.feature:7
320
- cucumber features/failing_background.feature:10
321
-
322
- 2 scenarios (2 failed)
323
- 6 steps (2 failed, 4 skipped)
324
-
325
- """
326
-
327
- @spawn @todo-windows
328
- Scenario: run a feature with scenario outlines that has a background that fails
329
- When I run `cucumber -q features/scenario_outline_failing_background.feature`
330
- Then it should fail with exactly:
331
- """
332
- Feature: Failing background with scenario outlines sample
333
-
334
- Background:
335
- Given this step raises an error
336
- error (RuntimeError)
337
- ./features/step_definitions/steps.rb:2:in `/^this step raises an error$/'
338
- features/scenario_outline_failing_background.feature:4:in `Given this step raises an error'
339
-
340
- Scenario Outline: failing background
341
- Then I should have '<count>' cukes
342
-
343
- Examples:
344
- | count |
345
- | 10 |
346
-
347
- Scenario Outline: another failing background
348
- Then I should have '<count>' cukes
349
-
350
- Examples:
351
- | count |
352
- | 10 |
353
-
354
- Failing Scenarios:
355
- cucumber features/scenario_outline_failing_background.feature:10
356
- cucumber features/scenario_outline_failing_background.feature:16
357
-
358
- 2 scenarios (2 failed)
359
- 4 steps (2 failed, 2 skipped)
360
-
361
- """
362
-
363
- Scenario: run a feature with a background that is pending
364
- When I run `cucumber -q features/pending_background.feature`
365
- Then it should pass with exactly:
366
- """
367
- Feature: Pending background sample
368
-
369
- Background:
370
- Given this step is pending
371
- TODO (Cucumber::Pending)
372
- ./features/step_definitions/steps.rb:3:in `/^this step is pending$/'
373
- features/pending_background.feature:4:in `Given this step is pending'
374
-
375
- Scenario: pending background
376
- Then I should have '10' cukes
377
-
378
- Scenario: another pending background
379
- Then I should have '10' cukes
380
-
381
- 2 scenarios (2 pending)
382
- 4 steps (2 skipped, 2 pending)
383
-
384
- """
385
-
386
- @spawn @todo-windows
387
- Scenario: background passes with first scenario but fails with second
388
- When I run `cucumber -q features/failing_background_after_success.feature`
389
- Then it should fail with exactly:
390
- """
391
- Feature: Failing background after previously successful background sample
392
-
393
- Background:
394
- Given this step passes
395
- And '10' global cukes
396
-
397
- Scenario: passing background
398
- Then I should have '10' global cukes
399
-
400
- Scenario: failing background
401
- And '10' global cukes
402
- FAIL (RuntimeError)
403
- ./features/step_definitions/cuke_steps.rb:8:in `/^'(.+)' global cukes$/'
404
- features/failing_background_after_success.feature:5:in `And '10' global cukes'
405
- Then I should have '10' global cukes
406
-
407
- Failing Scenarios:
408
- cucumber features/failing_background_after_success.feature:10
409
-
410
- 2 scenarios (1 failed, 1 passed)
411
- 6 steps (1 failed, 1 skipped, 4 passed)
412
-
413
- """
414
-
415
- @spawn @todo-windows
416
- Scenario: background passes with first outline scenario but fails with second
417
- When I run `cucumber -q features/failing_background_after_success_outline.feature`
418
- Then it should fail with exactly:
419
- """
420
- Feature: Failing background after previously successful background sample
421
-
422
- Background:
423
- Given this step passes
424
- And '10' global cukes
425
-
426
- Scenario Outline: passing background
427
- Then I should have '<count>' global cukes
428
-
429
- Examples:
430
- | count |
431
- | 10 |
432
-
433
- Scenario Outline: failing background
434
- Then I should have '<count>' global cukes
435
-
436
- Examples:
437
- | count |
438
- | 10 |
439
- FAIL (RuntimeError)
440
- ./features/step_definitions/cuke_steps.rb:8:in `/^'(.+)' global cukes$/'
441
- features/failing_background_after_success_outline.feature:5:in `And '10' global cukes'
442
-
443
- Failing Scenarios:
444
- cucumber features/failing_background_after_success_outline.feature:19
445
-
446
- 2 scenarios (1 failed, 1 passed)
447
- 6 steps (1 failed, 1 skipped, 4 passed)
448
-
449
- """
450
-
451
- @spawn @todo-windows
452
- Scenario: background passes with first outline scenario but fails with second (--expand)
453
- When I run `cucumber -x -q features/failing_background_after_success_outline.feature`
454
- Then it should fail with exactly:
455
- """
456
- Feature: Failing background after previously successful background sample
457
-
458
- Background:
459
- Given this step passes
460
- And '10' global cukes
461
-
462
- Scenario Outline: passing background
463
- Then I should have '<count>' global cukes
464
-
465
- Examples:
466
-
467
- Scenario: | 10 |
468
- Then I should have '10' global cukes
469
-
470
- Scenario Outline: failing background
471
- Then I should have '<count>' global cukes
472
-
473
- Examples:
474
-
475
- Scenario: | 10 |
476
- And '10' global cukes
477
- FAIL (RuntimeError)
478
- ./features/step_definitions/cuke_steps.rb:8:in `/^'(.+)' global cukes$/'
479
- features/failing_background_after_success_outline.feature:5:in `And '10' global cukes'
480
- Then I should have '10' global cukes
481
-
482
- Failing Scenarios:
483
- cucumber features/failing_background_after_success_outline.feature:19
484
-
485
- 2 scenarios (1 failed, 1 passed)
486
- 6 steps (1 failed, 1 skipped, 4 passed)
487
-
488
- """
489
-
490
- Scenario: background with multline args
491
- Given a file named "features/step_definitions/steps.rb" with:
492
- """
493
- Given /^table$/ do |table| x=1
494
- @table = table
495
- end
496
-
497
- Given /^multiline string$/ do |string| x=1
498
- @multiline = string
499
- end
500
-
501
- Then /^the table should be$/ do |table| x=1
502
- expect(@table.raw).to eq table.raw
503
- end
504
-
505
- Then /^the multiline string should be$/ do |string| x=1
506
- expect(@multiline).to eq string
507
- end
508
- """
509
- When I run `cucumber -q features/multiline_args_background.feature`
510
- Then it should pass with exactly:
511
- """
512
- Feature: Passing background with multiline args
513
-
514
- Background:
515
- Given table
516
- | a | b |
517
- | c | d |
518
- And multiline string
519
- \"\"\"
520
- I'm a cucumber and I'm okay.
521
- I sleep all night and I test all day
522
- \"\"\"
523
-
524
- Scenario: passing background
525
- Then the table should be
526
- | a | b |
527
- | c | d |
528
- Then the multiline string should be
529
- \"\"\"
530
- I'm a cucumber and I'm okay.
531
- I sleep all night and I test all day
532
- \"\"\"
533
-
534
- Scenario: another passing background
535
- Then the table should be
536
- | a | b |
537
- | c | d |
538
- Then the multiline string should be
539
- \"\"\"
540
- I'm a cucumber and I'm okay.
541
- I sleep all night and I test all day
542
- \"\"\"
543
-
544
- 2 scenarios (2 passed)
545
- 8 steps (8 passed)
546
-
547
- """
548
-