cucumber 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -3
  3. data/CONTRIBUTING.md +2 -4
  4. data/README.md +6 -5
  5. data/lib/cucumber/cli/options.rb +3 -1
  6. data/lib/cucumber/errors.rb +1 -1
  7. data/lib/cucumber/events/test_step_finished.rb +0 -2
  8. data/lib/cucumber/events/test_step_started.rb +0 -2
  9. data/lib/cucumber/events.rb +0 -1
  10. data/lib/cucumber/filters/quit.rb +0 -1
  11. data/lib/cucumber/formatter/html.rb +1 -1
  12. data/lib/cucumber/formatter/html_builder.rb +1 -1
  13. data/lib/cucumber/formatter/ignore_missing_messages.rb +0 -1
  14. data/lib/cucumber/formatter/json.rb +1 -1
  15. data/lib/cucumber/formatter/json_pretty.rb +0 -1
  16. data/lib/cucumber/formatter/junit.rb +6 -2
  17. data/lib/cucumber/formatter/rerun.rb +1 -1
  18. data/lib/cucumber/formatter/summary.rb +0 -1
  19. data/lib/cucumber/glue/dsl.rb +6 -2
  20. data/lib/cucumber/glue/proto_world.rb +2 -0
  21. data/lib/cucumber/glue/step_definition.rb +1 -1
  22. data/lib/cucumber/glue/world_factory.rb +1 -1
  23. data/lib/cucumber/hooks.rb +12 -0
  24. data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +0 -1
  25. data/lib/cucumber/multiline_argument/data_table.rb +6 -10
  26. data/lib/cucumber/multiline_argument.rb +1 -1
  27. data/lib/cucumber/step_definitions.rb +1 -1
  28. data/lib/cucumber/step_match.rb +4 -1
  29. data/lib/cucumber/step_match_search.rb +1 -1
  30. data/lib/cucumber/version +1 -1
  31. metadata +32 -571
  32. data/.coveralls.yml +0 -1
  33. data/.cucumberproignore +0 -6
  34. data/.gitattributes +0 -32
  35. data/.github/ISSUE_TEMPLATE.md +0 -48
  36. data/.github/PULL_REQUEST_TEMPLATE.md +0 -40
  37. data/.rspec +0 -1
  38. data/.rubocop.yml +0 -13
  39. data/.rubocop_todo.yml +0 -991
  40. data/.ruby-gemset +0 -1
  41. data/.travis.yml +0 -69
  42. data/.yardopts +0 -1
  43. data/Gemfile +0 -28
  44. data/Rakefile +0 -32
  45. data/appveyor.yml +0 -27
  46. data/cucumber.gemspec +0 -52
  47. data/cucumber.yml +0 -19
  48. data/examples/i18n/README.textile +0 -3
  49. data/examples/i18n/Rakefile +0 -33
  50. data/examples/i18n/ar/Rakefile +0 -6
  51. data/examples/i18n/ar/features/addition.feature +0 -17
  52. data/examples/i18n/ar/features/step_definitions/calculator_steps.rb +0 -29
  53. data/examples/i18n/ar/lib/calculator.rb +0 -11
  54. data/examples/i18n/bg/Rakefile +0 -6
  55. data/examples/i18n/bg/features/addition.feature +0 -12
  56. data/examples/i18n/bg/features/consecutive_calculations.feature +0 -19
  57. data/examples/i18n/bg/features/division.feature +0 -17
  58. data/examples/i18n/bg/features/step_definitions/calculator_steps.rb +0 -24
  59. data/examples/i18n/bg/features/support/env.rb +0 -10
  60. data/examples/i18n/bg/features/support/world.rb +0 -8
  61. data/examples/i18n/bg/lib/calculator.rb +0 -25
  62. data/examples/i18n/ca/Rakefile +0 -6
  63. data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -26
  64. data/examples/i18n/ca/features/suma.feature +0 -17
  65. data/examples/i18n/ca/lib/calculadora.rb +0 -16
  66. data/examples/i18n/cs/Rakefile +0 -6
  67. data/examples/i18n/cs/features/addition.feature +0 -17
  68. data/examples/i18n/cs/features/division.feature +0 -11
  69. data/examples/i18n/cs/features/step_definitions/calculator_steps.rb +0 -29
  70. data/examples/i18n/cs/lib/calculator.rb +0 -14
  71. data/examples/i18n/da/Rakefile +0 -6
  72. data/examples/i18n/da/features/sammenlaegning.feature +0 -18
  73. data/examples/i18n/da/features/step_definitions/lommeregner_steps.rb +0 -29
  74. data/examples/i18n/da/lib/lommeregner.rb +0 -11
  75. data/examples/i18n/de/Rakefile +0 -6
  76. data/examples/i18n/de/features/addition.feature +0 -17
  77. data/examples/i18n/de/features/division.feature +0 -10
  78. data/examples/i18n/de/features/step_definitions/calculator_steps.rb +0 -29
  79. data/examples/i18n/de/lib/calculator.rb +0 -14
  80. data/examples/i18n/el/Rakefile +0 -6
  81. data/examples/i18n/el/features/addition.feature +0 -17
  82. data/examples/i18n/el/features/division.feature +0 -10
  83. data/examples/i18n/el/features/step_definitions/calculator_steps.rb +0 -29
  84. data/examples/i18n/el/lib/calculator.rb +0 -14
  85. data/examples/i18n/en/Rakefile +0 -6
  86. data/examples/i18n/en/features/addition.feature +0 -17
  87. data/examples/i18n/en/features/division.feature +0 -10
  88. data/examples/i18n/en/features/step_definitions/calculator_steps.rb +0 -29
  89. data/examples/i18n/en/lib/calculator.rb +0 -14
  90. data/examples/i18n/en-lol/Rakefile +0 -4
  91. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +0 -16
  92. data/examples/i18n/en-lol/features/stuffing.feature +0 -8
  93. data/examples/i18n/en-lol/features/support/env.rb +0 -11
  94. data/examples/i18n/en-lol/lib/basket.rb +0 -12
  95. data/examples/i18n/en-lol/lib/belly.rb +0 -11
  96. data/examples/i18n/eo/Rakefile +0 -6
  97. data/examples/i18n/eo/features/adicio.feature +0 -17
  98. data/examples/i18n/eo/features/divido.feature +0 -10
  99. data/examples/i18n/eo/features/step_definitions/calculator_steps.rb +0 -29
  100. data/examples/i18n/eo/lib/calculator.rb +0 -14
  101. data/examples/i18n/es/Rakefile +0 -6
  102. data/examples/i18n/es/features/adicion.feature +0 -17
  103. data/examples/i18n/es/features/step_definitions/calculador_steps.rb +0 -26
  104. data/examples/i18n/es/lib/calculador.rb +0 -14
  105. data/examples/i18n/et/Rakefile +0 -6
  106. data/examples/i18n/et/features/jagamine.feature +0 -10
  107. data/examples/i18n/et/features/liitmine.feature +0 -17
  108. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -29
  109. data/examples/i18n/et/lib/kalkulaator.rb +0 -14
  110. data/examples/i18n/fi/Rakefile +0 -6
  111. data/examples/i18n/fi/features/jakolasku.feature +0 -10
  112. data/examples/i18n/fi/features/step_definitions/laskin_steps.rb +0 -29
  113. data/examples/i18n/fi/features/yhteenlasku.feature +0 -17
  114. data/examples/i18n/fi/lib/laskin.rb +0 -14
  115. data/examples/i18n/fr/Rakefile +0 -8
  116. data/examples/i18n/fr/features/addition.feature +0 -18
  117. data/examples/i18n/fr/features/addition2.feature +0 -17
  118. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -32
  119. data/examples/i18n/fr/features/support/env.rb +0 -10
  120. data/examples/i18n/fr/lib/calculatrice.rb +0 -10
  121. data/examples/i18n/he/Rakefile +0 -6
  122. data/examples/i18n/he/features/addition.feature +0 -17
  123. data/examples/i18n/he/features/division.feature +0 -10
  124. data/examples/i18n/he/features/step_definitions/calculator_steps.rb +0 -29
  125. data/examples/i18n/he/lib/calculator.rb +0 -15
  126. data/examples/i18n/hi/Rakefile +0 -6
  127. data/examples/i18n/hi/features/addition.feature +0 -16
  128. data/examples/i18n/hi/features/division.feature +0 -10
  129. data/examples/i18n/hi/features/step_definitions/calculator_steps.rb +0 -29
  130. data/examples/i18n/hi/lib/calculator.rb +0 -15
  131. data/examples/i18n/ht/Rakefile +0 -6
  132. data/examples/i18n/ht/features/adisyon.feature +0 -17
  133. data/examples/i18n/ht/features/divizyon.feature +0 -10
  134. data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +0 -29
  135. data/examples/i18n/ht/lib/kalkilatris.rb +0 -14
  136. data/examples/i18n/hu/Rakefile +0 -6
  137. data/examples/i18n/hu/features/osszeadas.feature +0 -17
  138. data/examples/i18n/hu/features/osztas.feature +0 -10
  139. data/examples/i18n/hu/features/step_definitions/calculator_steps.rb +0 -30
  140. data/examples/i18n/hu/lib/calculator.rb +0 -14
  141. data/examples/i18n/id/Rakefile +0 -6
  142. data/examples/i18n/id/features/addition.feature +0 -17
  143. data/examples/i18n/id/features/division.feature +0 -10
  144. data/examples/i18n/id/features/step_definitions/calculator_steps.rb +0 -29
  145. data/examples/i18n/id/lib/calculator.rb +0 -14
  146. data/examples/i18n/it/Rakefile +0 -6
  147. data/examples/i18n/it/features/somma.feature +0 -11
  148. data/examples/i18n/it/features/step_definitions/calcolatrice_steps.rb +0 -29
  149. data/examples/i18n/it/lib/calcolatrice.rb +0 -11
  150. data/examples/i18n/ja/Rakefile +0 -6
  151. data/examples/i18n/ja/features/addition.feature +0 -17
  152. data/examples/i18n/ja/features/division.feature +0 -10
  153. data/examples/i18n/ja/features/step_definitions/calculator_steps.rb +0 -19
  154. data/examples/i18n/ja/features/support/env.rb +0 -10
  155. data/examples/i18n/ja/lib/calculator.rb +0 -14
  156. data/examples/i18n/ko/Rakefile +0 -6
  157. data/examples/i18n/ko/features/addition.feature +0 -17
  158. data/examples/i18n/ko/features/division.feature +0 -11
  159. data/examples/i18n/ko/features/step_definitions/calculator_steps.rb +0 -29
  160. data/examples/i18n/ko/lib/calculator.rb +0 -14
  161. data/examples/i18n/lt/Rakefile +0 -6
  162. data/examples/i18n/lt/features/addition.feature +0 -17
  163. data/examples/i18n/lt/features/division.feature +0 -10
  164. data/examples/i18n/lt/features/step_definitions/calculator_steps.rb +0 -29
  165. data/examples/i18n/lt/lib/calculator.rb +0 -14
  166. data/examples/i18n/lv/Rakefile +0 -6
  167. data/examples/i18n/lv/features/addition.feature +0 -17
  168. data/examples/i18n/lv/features/division.feature +0 -10
  169. data/examples/i18n/lv/features/step_definitions/calculator_steps.rb +0 -29
  170. data/examples/i18n/lv/lib/calculator.rb +0 -14
  171. data/examples/i18n/no/Rakefile +0 -6
  172. data/examples/i18n/no/features/step_definitions/kalkulator_steps.rb +0 -17
  173. data/examples/i18n/no/features/summering.feature +0 -19
  174. data/examples/i18n/no/features/support/env.rb +0 -11
  175. data/examples/i18n/no/lib/kalkulator.rb +0 -11
  176. data/examples/i18n/pl/Rakefile +0 -6
  177. data/examples/i18n/pl/features/addition.feature +0 -17
  178. data/examples/i18n/pl/features/division.feature +0 -10
  179. data/examples/i18n/pl/features/step_definitions/calculator_steps.rb +0 -29
  180. data/examples/i18n/pl/features/support/env.rb +0 -10
  181. data/examples/i18n/pl/lib/calculator.rb +0 -14
  182. data/examples/i18n/pt/Rakefile +0 -6
  183. data/examples/i18n/pt/features/adicao.feature +0 -11
  184. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -20
  185. data/examples/i18n/pt/features/support/env.rb +0 -10
  186. data/examples/i18n/pt/lib/calculadora.rb +0 -10
  187. data/examples/i18n/ro/Rakefile +0 -6
  188. data/examples/i18n/ro/features/adunare.feature +0 -12
  189. data/examples/i18n/ro/features/step_definitions/calculator_steps.rb +0 -26
  190. data/examples/i18n/ro/lib/calculator.rb +0 -11
  191. data/examples/i18n/ru/Rakefile +0 -6
  192. data/examples/i18n/ru/features/addition.feature +0 -11
  193. data/examples/i18n/ru/features/consecutive_calculations.feature +0 -17
  194. data/examples/i18n/ru/features/division.feature +0 -16
  195. data/examples/i18n/ru/features/step_definitions/calculator_steps.rb +0 -19
  196. data/examples/i18n/ru/features/support/env.rb +0 -10
  197. data/examples/i18n/ru/features/support/world.rb +0 -8
  198. data/examples/i18n/ru/lib/calculator.rb +0 -25
  199. data/examples/i18n/sk/Rakefile +0 -6
  200. data/examples/i18n/sk/features/addition.feature +0 -17
  201. data/examples/i18n/sk/features/division.feature +0 -10
  202. data/examples/i18n/sk/features/step_definitions/calculator_steps.rb +0 -29
  203. data/examples/i18n/sk/lib/calculator.rb +0 -14
  204. data/examples/i18n/sr-Cyrl/Rakefile +0 -6
  205. data/examples/i18n/sr-Cyrl/features/sabiranje.feature +0 -18
  206. data/examples/i18n/sr-Cyrl/features/step_definitions/calculator_steps.rb +0 -20
  207. data/examples/i18n/sr-Cyrl/features/support/env.rb +0 -10
  208. data/examples/i18n/sr-Cyrl/lib/calculator.rb +0 -12
  209. data/examples/i18n/sr-Latn/Rakefile +0 -6
  210. data/examples/i18n/sr-Latn/features/sabiranje.feature +0 -18
  211. data/examples/i18n/sr-Latn/features/step_definitions/calculator_steps.rb +0 -29
  212. data/examples/i18n/sr-Latn/lib/calculator.rb +0 -12
  213. data/examples/i18n/sv/Rakefile +0 -6
  214. data/examples/i18n/sv/features/step_definitions/kalkulator_steps.rb +0 -29
  215. data/examples/i18n/sv/features/summering.feature +0 -18
  216. data/examples/i18n/sv/lib/kalkulator.rb +0 -11
  217. data/examples/i18n/tr/Rakefile +0 -6
  218. data/examples/i18n/tr/features/bolme.feature +0 -10
  219. data/examples/i18n/tr/features/step_definitions/hesap_makinesi_adimlari.rb +0 -29
  220. data/examples/i18n/tr/features/toplama.feature +0 -18
  221. data/examples/i18n/tr/lib/hesap_makinesi.rb +0 -15
  222. data/examples/i18n/uk/Rakefile +0 -6
  223. data/examples/i18n/uk/features/addition.feature +0 -11
  224. data/examples/i18n/uk/features/consecutive_calculations.feature +0 -17
  225. data/examples/i18n/uk/features/division.feature +0 -16
  226. data/examples/i18n/uk/features/step_definitions/calculator_steps.rb +0 -19
  227. data/examples/i18n/uk/features/support/env.rb +0 -10
  228. data/examples/i18n/uk/features/support/world.rb +0 -8
  229. data/examples/i18n/uk/lib/calculator.rb +0 -25
  230. data/examples/i18n/uz/Rakefile +0 -6
  231. data/examples/i18n/uz/features/addition.feature +0 -10
  232. data/examples/i18n/uz/features/consecutive_calculations.feature +0 -17
  233. data/examples/i18n/uz/features/division.feature +0 -17
  234. data/examples/i18n/uz/features/step_definitions/calculator_steps.rb +0 -19
  235. data/examples/i18n/uz/features/support/env.rb +0 -10
  236. data/examples/i18n/uz/features/support/world.rb +0 -8
  237. data/examples/i18n/uz/lib/calculator.rb +0 -25
  238. data/examples/i18n/zh-CN/Rakefile +0 -4
  239. data/examples/i18n/zh-CN/features/addition.feature +0 -18
  240. data/examples/i18n/zh-CN/features/step_definitions/calculator_steps.rb +0 -31
  241. data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
  242. data/examples/i18n/zh-TW/Rakefile +0 -4
  243. data/examples/i18n/zh-TW/features/addition.feature +0 -17
  244. data/examples/i18n/zh-TW/features/division.feature +0 -11
  245. data/examples/i18n/zh-TW/features/step_definitions/calculator_steps.rb +0 -29
  246. data/examples/i18n/zh-TW/lib/calculator.rb +0 -14
  247. data/examples/rspec_doubles/Rakefile +0 -4
  248. data/examples/rspec_doubles/features/mocking.feature +0 -9
  249. data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +0 -19
  250. data/examples/rspec_doubles/features/support/env.rb +0 -12
  251. data/examples/sinatra/README.textile +0 -13
  252. data/examples/sinatra/Rakefile +0 -6
  253. data/examples/sinatra/app.rb +0 -14
  254. data/examples/sinatra/features/add.feature +0 -11
  255. data/examples/sinatra/features/step_definitions/add_steps.rb +0 -15
  256. data/examples/sinatra/features/support/env.rb +0 -15
  257. data/examples/sinatra/views/add.erb +0 -7
  258. data/examples/sinatra/views/layout.erb +0 -8
  259. data/examples/tcl/README.textile +0 -11
  260. data/examples/tcl/Rakefile +0 -6
  261. data/examples/tcl/features/fibonnacci.feature +0 -17
  262. data/examples/tcl/features/step_definitions/fib_steps.rb +0 -7
  263. data/examples/tcl/features/support/env.rb +0 -7
  264. data/examples/tcl/src/fib.tcl +0 -3
  265. data/examples/test_unit/Gemfile +0 -4
  266. data/examples/test_unit/Rakefile +0 -6
  267. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -20
  268. data/examples/test_unit/features/test_unit.feature +0 -9
  269. data/examples/watir/README.textile +0 -16
  270. data/examples/watir/Rakefile +0 -12
  271. data/examples/watir/cucumber.yml +0 -1
  272. data/examples/watir/features/search.feature +0 -12
  273. data/examples/watir/features/step_definitions/search_steps.rb +0 -27
  274. data/examples/watir/features/support/env.rb +0 -39
  275. data/examples/watir/features/support/screenshots.rb +0 -47
  276. data/features/docs/api/list_step_defs_as_json.feature +0 -64
  277. data/features/docs/api/listen_for_events.feature +0 -59
  278. data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -27
  279. data/features/docs/cli/backtraces.feature +0 -36
  280. data/features/docs/cli/dry_run.feature +0 -73
  281. data/features/docs/cli/exclude_files.feature +0 -18
  282. data/features/docs/cli/execute_with_tag_filter.feature +0 -119
  283. data/features/docs/cli/fail_fast.feature +0 -48
  284. data/features/docs/cli/finding_steps.feature +0 -28
  285. data/features/docs/cli/help.feature +0 -8
  286. data/features/docs/cli/i18n.feature +0 -42
  287. data/features/docs/cli/randomize.feature +0 -140
  288. data/features/docs/cli/require.feature +0 -27
  289. data/features/docs/cli/retry_failing_tests.feature +0 -92
  290. data/features/docs/cli/run_scenarios_matching_name.feature +0 -105
  291. data/features/docs/cli/run_specific_scenarios.feature +0 -77
  292. data/features/docs/cli/showing_differences.feature +0 -43
  293. data/features/docs/cli/specifying_multiple_formatters.feature +0 -68
  294. data/features/docs/cli/strict_mode.feature +0 -70
  295. data/features/docs/defining_steps/ambiguous_steps.feature +0 -89
  296. data/features/docs/defining_steps/nested_steps.feature +0 -181
  297. data/features/docs/defining_steps/nested_steps_i18n.feature +0 -37
  298. data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -56
  299. data/features/docs/defining_steps/one_line_step_definitions.feature +0 -65
  300. data/features/docs/defining_steps/printing_messages.feature +0 -147
  301. data/features/docs/defining_steps/skip_scenario.feature +0 -31
  302. data/features/docs/defining_steps/snippets.feature +0 -56
  303. data/features/docs/defining_steps/table_diffing.feature +0 -50
  304. data/features/docs/events/gherkin_source_read_event.feature +0 -43
  305. data/features/docs/events/step_activated_event.feature +0 -36
  306. data/features/docs/events/step_definition_registered_event.feature +0 -29
  307. data/features/docs/events/test_case_finished_event.feature +0 -35
  308. data/features/docs/events/test_case_started_event.feature +0 -54
  309. data/features/docs/events/test_run_finished_event.feature +0 -40
  310. data/features/docs/events/test_run_started_event.feature +0 -41
  311. data/features/docs/events/test_step_finished_event.feature +0 -47
  312. data/features/docs/events/test_step_started_event.feature +0 -43
  313. data/features/docs/exception_in_after_hook.feature +0 -127
  314. data/features/docs/exception_in_after_step_hook.feature +0 -104
  315. data/features/docs/exception_in_around_hook.feature +0 -80
  316. data/features/docs/exception_in_before_hook.feature +0 -98
  317. data/features/docs/extending_cucumber/custom_filter.feature +0 -29
  318. data/features/docs/extending_cucumber/custom_formatter.feature +0 -94
  319. data/features/docs/formatters/api_methods.feature +0 -37
  320. data/features/docs/formatters/html_formatter.feature +0 -91
  321. data/features/docs/formatters/json_formatter.feature +0 -767
  322. data/features/docs/formatters/junit_formatter.feature +0 -455
  323. data/features/docs/formatters/pretty_formatter.feature +0 -74
  324. data/features/docs/formatters/progress_formatter.feature +0 -32
  325. data/features/docs/formatters/rerun_formatter.feature +0 -190
  326. data/features/docs/formatters/summary_formatter.feature +0 -35
  327. data/features/docs/formatters/usage_formatter.feature +0 -101
  328. data/features/docs/getting_started.feature +0 -28
  329. data/features/docs/gherkin/background.feature +0 -548
  330. data/features/docs/gherkin/doc_strings.feature +0 -76
  331. data/features/docs/gherkin/expand_option_for_outlines.feature +0 -47
  332. data/features/docs/gherkin/language_from_header.feature +0 -32
  333. data/features/docs/gherkin/outlines.feature +0 -158
  334. data/features/docs/gherkin/unicode_table.feature +0 -33
  335. data/features/docs/gherkin/using_descriptions.feature +0 -83
  336. data/features/docs/gherkin/using_star_notation.feature +0 -37
  337. data/features/docs/iso-8859-1.feature +0 -6
  338. data/features/docs/post_configuration_hook.feature +0 -33
  339. data/features/docs/profiles.feature +0 -120
  340. data/features/docs/rake_task.feature +0 -146
  341. data/features/docs/raketask.feature +0 -46
  342. data/features/docs/work_in_progress.feature +0 -157
  343. data/features/docs/writing_support_code/after_hooks.feature +0 -102
  344. data/features/docs/writing_support_code/after_step_hooks.feature +0 -55
  345. data/features/docs/writing_support_code/around_hooks.feature +0 -266
  346. data/features/docs/writing_support_code/before_hook.feature +0 -66
  347. data/features/docs/writing_support_code/hook_order.feature +0 -63
  348. data/features/docs/writing_support_code/load_path.feature +0 -17
  349. data/features/docs/writing_support_code/parameter_types.feature +0 -53
  350. data/features/docs/writing_support_code/state.feature +0 -32
  351. data/features/docs/writing_support_code/tagged_hooks.feature +0 -95
  352. data/features/docs/writing_support_code/world.feature +0 -129
  353. data/features/lib/step_definitions/aruba_steps.rb +0 -21
  354. data/features/lib/step_definitions/cli_steps.rb +0 -4
  355. data/features/lib/step_definitions/cucumber_steps.rb +0 -75
  356. data/features/lib/step_definitions/iso-8859-1_steps.rb +0 -16
  357. data/features/lib/step_definitions/json_steps.rb +0 -8
  358. data/features/lib/step_definitions/junit_steps.rb +0 -14
  359. data/features/lib/step_definitions/language_steps.rb +0 -9
  360. data/features/lib/step_definitions/profile_steps.rb +0 -16
  361. data/features/lib/step_definitions/retry_steps.rb +0 -55
  362. data/features/lib/step_definitions/ruby_steps.rb +0 -4
  363. data/features/lib/support/env.rb +0 -22
  364. data/features/lib/support/fake_wire_server.rb +0 -94
  365. data/features/lib/support/feature_factory.rb +0 -68
  366. data/features/lib/support/normalise_output.rb +0 -52
  367. data/features/lib/support/parameter_types.rb +0 -5
  368. data/gem_tasks/contributors.rake +0 -19
  369. data/gem_tasks/cov.rake +0 -6
  370. data/gem_tasks/downloads.rb +0 -8
  371. data/gem_tasks/environment.rake +0 -4
  372. data/gem_tasks/examples.rake +0 -12
  373. data/gem_tasks/fix_cr_lf.rake +0 -22
  374. data/gem_tasks/flog.rake +0 -5
  375. data/gem_tasks/rspec.rake +0 -7
  376. data/gem_tasks/sass.rake +0 -5
  377. data/gem_tasks/stats +0 -16
  378. data/gem_tasks/versions.txt +0 -74
  379. data/scripts/invite-collaborator +0 -40
  380. data/scripts/update-changelog +0 -86
  381. data/spec/cucumber/cli/configuration_spec.rb +0 -446
  382. data/spec/cucumber/cli/main_spec.rb +0 -84
  383. data/spec/cucumber/cli/options_spec.rb +0 -445
  384. data/spec/cucumber/cli/profile_loader_spec.rb +0 -66
  385. data/spec/cucumber/cli/rerun_spec.rb +0 -86
  386. data/spec/cucumber/configuration_spec.rb +0 -148
  387. data/spec/cucumber/constantize_spec.rb +0 -20
  388. data/spec/cucumber/events_spec.rb +0 -9
  389. data/spec/cucumber/file_specs_spec.rb +0 -61
  390. data/spec/cucumber/filters/activate_steps_spec.rb +0 -152
  391. data/spec/cucumber/filters/gated_receiver_spec.rb +0 -48
  392. data/spec/cucumber/filters/retry_spec.rb +0 -98
  393. data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +0 -39
  394. data/spec/cucumber/filters/tag_limits/verifier_spec.rb +0 -58
  395. data/spec/cucumber/filters/tag_limits_spec.rb +0 -60
  396. data/spec/cucumber/formatter/ansicolor_spec.rb +0 -33
  397. data/spec/cucumber/formatter/backtrace_filter_spec.rb +0 -32
  398. data/spec/cucumber/formatter/console_counts_spec.rb +0 -14
  399. data/spec/cucumber/formatter/duration_spec.rb +0 -23
  400. data/spec/cucumber/formatter/fail_fast_spec.rb +0 -88
  401. data/spec/cucumber/formatter/html_spec.rb +0 -543
  402. data/spec/cucumber/formatter/interceptor_spec.rb +0 -137
  403. data/spec/cucumber/formatter/json_spec.rb +0 -815
  404. data/spec/cucumber/formatter/junit_spec.rb +0 -251
  405. data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2175
  406. data/spec/cucumber/formatter/pretty_spec.rb +0 -907
  407. data/spec/cucumber/formatter/progress_spec.rb +0 -170
  408. data/spec/cucumber/formatter/rerun_spec.rb +0 -97
  409. data/spec/cucumber/formatter/spec_helper.rb +0 -84
  410. data/spec/cucumber/glue/proto_world_spec.rb +0 -63
  411. data/spec/cucumber/glue/registry_and_more_spec.rb +0 -213
  412. data/spec/cucumber/glue/snippet_spec.rb +0 -174
  413. data/spec/cucumber/glue/step_definition_spec.rb +0 -207
  414. data/spec/cucumber/hooks_spec.rb +0 -31
  415. data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -653
  416. data/spec/cucumber/project_initializer_spec.rb +0 -88
  417. data/spec/cucumber/rake/forked_spec.rb +0 -58
  418. data/spec/cucumber/rake/task_spec.rb +0 -86
  419. data/spec/cucumber/running_test_case_spec.rb +0 -140
  420. data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -8
  421. data/spec/cucumber/runtime/support_code_spec.rb +0 -17
  422. data/spec/cucumber/runtime_spec.rb +0 -21
  423. data/spec/cucumber/sell_cucumbers.feature +0 -19
  424. data/spec/cucumber/step_argument_spec.rb +0 -19
  425. data/spec/cucumber/step_match_search_spec.rb +0 -113
  426. data/spec/cucumber/step_match_spec.rb +0 -86
  427. data/spec/cucumber/world/pending_spec.rb +0 -48
  428. data/spec/spec_helper.rb +0 -30
  429. data/spec/support/standard_step_actions.rb +0 -19
@@ -1,25 +0,0 @@
1
- # encoding: utf-8
2
-
3
- class Calculator
4
- def initialize
5
- @stack = []
6
- end
7
-
8
- def push(arg)
9
- @stack.push arg
10
- end
11
-
12
- def result
13
- @stack.last
14
- end
15
-
16
- def +
17
- @stack.push @stack.pop + @stack.pop
18
- end
19
-
20
- def /
21
- divisor, dividend = [@stack.pop, @stack.pop]
22
- # Hm, @stack.pop(2) doesn't work
23
- @stack.push dividend / divisor
24
- end
25
- end
@@ -1,4 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new
@@ -1,18 +0,0 @@
1
- # language: zh-CN
2
- 功能:加法
3
- 为了避免一些愚蠢的错误
4
- 作为一个数学白痴
5
- 我希望有人告诉我数字相加的结果
6
-
7
- 场景: 两个数相加
8
- 假如我已经在计算器里输入6
9
- 而且我已经在计算器里输入7
10
- 当我按相加按钮
11
- 那么我应该在屏幕上看到的结果是13
12
-
13
- 场景: 三个数相加
14
- 假如我已经在计算器里输入6
15
- 而且我已经在计算器里输入7
16
- 而且我已经在计算器里输入1
17
- 当我按相加按钮
18
- 那么我应该在屏幕上看到的结果是14
@@ -1,31 +0,0 @@
1
- # encoding: utf-8
2
- begin
3
- require 'rspec/expectations'
4
- rescue LoadError
5
- require 'spec/expectations'
6
- end
7
-
8
- require 'cucumber/formatter/unicode'
9
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
10
- require 'calculator'
11
-
12
- Before do
13
- @calc = Calculator.new
14
- end
15
-
16
- After do
17
- end
18
-
19
- Given(/在计算器上输入(\d+)/) do |n|
20
- @calc.push n.to_i
21
- end
22
-
23
- When(/按(.*)键/) do |op|
24
- if op == '加号'
25
- @result = @calc.send 'add'
26
- end
27
- end
28
-
29
- Then(/屏幕上显示的结果应该是是(.*)/) do |result|
30
- @result.should == result.to_f
31
- end
@@ -1,10 +0,0 @@
1
- class Calculator
2
- def push(n)
3
- @args ||= []
4
- @args << n
5
- end
6
-
7
- def add
8
- @args.inject(0){|n,sum| sum + n}
9
- end
10
- end
@@ -1,4 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new
@@ -1,17 +0,0 @@
1
- # language: zh-TW
2
- 功能: 加法
3
- 為了避免愚蠢的錯誤
4
- 作為一個數學白痴
5
- 我希望有人能告訴我兩個數相加的結果
6
-
7
- 場景大綱: 將兩個數相加
8
- 假設我已經在計算機上輸入 <數值_1>
9
- 而且我已經在計算機上輸入 <數值_2>
10
- 當我按下 <按鈕>
11
- 那麼螢幕上應該顯示 <結果>
12
-
13
- 例子:
14
- | 數值_1 | 數值_2 | 按鈕 | 結果 |
15
- | 20 | 30 | add | 50 |
16
- | 2 | 5 | add | 7 |
17
- | 0 | 40 | add | 40 |
@@ -1,11 +0,0 @@
1
- # language: zh-TW
2
- 功能: 除法
3
- 為了避免愚蠢的錯誤
4
- 收銀機必須要能夠計算除法
5
- 而且必需能顯示非整數的結果
6
-
7
- 場景: 將兩個數相除
8
- 假設我已經在計算機上輸入 3
9
- 而且我已經在計算機上輸入 2
10
- 當我按下 divide
11
- 那麼螢幕上應該顯示 1.5
@@ -1,29 +0,0 @@
1
- # encoding: utf-8
2
- begin
3
- require 'rspec/expectations'
4
- rescue LoadError
5
- require 'spec/expectations'
6
- end
7
-
8
- require 'cucumber/formatter/unicode'
9
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
10
- require 'calculator'
11
-
12
- Before do
13
- @calc = Calculator.new
14
- end
15
-
16
- After do
17
- end
18
-
19
- Given(/我已經在計算機上輸入 (\d+)/) do |n|
20
- @calc.push n.to_i
21
- end
22
-
23
- When(/我按下 (\w+)/) do |op|
24
- @result = @calc.send op
25
- end
26
-
27
- Then(/螢幕上應該顯示 (.*)/) do |result|
28
- @result.should == result.to_f
29
- end
@@ -1,14 +0,0 @@
1
- class Calculator
2
- def push(n)
3
- @args ||= []
4
- @args << n
5
- end
6
-
7
- def add
8
- @args.inject(0){|n,sum| sum + n}
9
- end
10
-
11
- def divide
12
- @args[0].to_f / @args[1].to_f
13
- end
14
- end
@@ -1,4 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new
@@ -1,9 +0,0 @@
1
- Feature: Mocking
2
- In order to test external stuff
3
- I want to mock
4
-
5
- Scenario: Mock a transmogrifier
6
- Given I have a cardboard box
7
- # Comment out the next line to see a failure
8
- When I poke it all is good
9
-
@@ -1,19 +0,0 @@
1
- class CardboardBox
2
- def initialize(transmogrifier)
3
- @transmogrifier = transmogrifier
4
- end
5
-
6
- def poke
7
- @transmogrifier.transmogrify
8
- end
9
- end
10
-
11
- Given(/^I have a cardboard box$/) do
12
- transmogrifier = double('transmogrifier')
13
- transmogrifier.should_receive(:transmogrify)
14
- @box = CardboardBox.new(transmogrifier)
15
- end
16
-
17
- When(/^I poke it all is good$/) do
18
- @box.poke
19
- end
@@ -1,12 +0,0 @@
1
- # If you want to use a different mock framework than
2
- # RSpec-Mocks - just set configure that accordingly
3
- #
4
- # require 'rspec/core'
5
- # RSpec.configure do |c|
6
- # c.mock_framework = :rspec
7
- # c.mock_framework = :mocha
8
- # c.mock_framework = :rr
9
- # c.mock_framework = :flexmock
10
- # end
11
-
12
- require 'cucumber/rspec/doubles'
@@ -1,13 +0,0 @@
1
- h1. Sinatra and Cucumber
2
-
3
- This example will work with:
4
-
5
- * sinatra 0.9.4
6
- * rack-test 0.3.0
7
-
8
- As of this writing, the latest released webrat gem isn't compatible with these gems, so you need this:
9
-
10
- * aslakhellesoy-webrat 0.4.4.1
11
-
12
- That webrat gem is built from sr's ps2 branch: http://github.com/brynary/webrat/network
13
-
@@ -1,6 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = %w{--format pretty}
6
- end
@@ -1,14 +0,0 @@
1
- begin
2
- require 'sinatra'
3
- rescue LoadError
4
- require 'rubygems'
5
- require 'sinatra'
6
- end
7
-
8
- get '/add' do
9
- erb :add
10
- end
11
-
12
- post '/add' do
13
- "Answer: #{params[:first].to_i + params[:second].to_i}"
14
- end
@@ -1,11 +0,0 @@
1
- Feature: Addition
2
- In order to avoid silly mistakes
3
- As a math idiot
4
- I want to be told the sum of two numbers
5
-
6
- Scenario: Add two numbers
7
- Given I visit the calculator page
8
- And I fill in '50' for 'first'
9
- And I fill in '70' for 'Second'
10
- When I press 'Add'
11
- Then I should see 'Answer: 120'
@@ -1,15 +0,0 @@
1
- Given(/^I visit the calculator page$/) do
2
- visit '/add'
3
- end
4
-
5
- Given(/^I fill in '(.*)' for '(.*)'$/) do |value, field|
6
- fill_in(field, :with => value)
7
- end
8
-
9
- When(/^I press '(.*)'$/) do |name|
10
- click_button(name)
11
- end
12
-
13
- Then(/^I should see '(.*)'$/) do |text|
14
- body.should match(/#{text}/m)
15
- end
@@ -1,15 +0,0 @@
1
- # See http://wiki.github.com/cucumber/cucumber/sinatra
2
- # for more details about Sinatra with Cucumber
3
-
4
- require File.dirname(__FILE__) + '/../../app'
5
-
6
- begin
7
- require 'rspec/expectations'
8
- rescue LoadError
9
- require 'spec/expectations'
10
- end
11
-
12
- require 'rack/test'
13
- require 'capybara/cucumber'
14
-
15
- Capybara.app = Sinatra::Application
@@ -1,7 +0,0 @@
1
- <form method="post" action="/add">
2
- <label for="first">First</label>
3
- <input id="first" name="first" type="text"/>
4
- <label for="second">Second</label>
5
- <input id="second" name="second" type="text"/>
6
- <input type="submit" value="Add"/>
7
- </form>
@@ -1,8 +0,0 @@
1
- <html>
2
- <head>
3
- <title>Addition</title>
4
- </head>
5
- <body>
6
- <%= yield %>
7
- </body>
8
- </html>
@@ -1,11 +0,0 @@
1
- h1. Cucumber goes Tcl
2
-
3
- h2. Prerequisites
4
-
5
- Install the ruby-tcl bindings:
6
-
7
- [sudo] gem install tcl
8
-
9
- h2. Run the example:
10
-
11
- rake cucumber
@@ -1,6 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = %w{--format pretty}
6
- end
@@ -1,17 +0,0 @@
1
- Feature: Fibonacci
2
- In order to calculate super fast fibonacci series
3
- As a Tcl hacker
4
- I want to use Tcl for that
5
-
6
- Scenario Outline: Series
7
- When I ask Tcl to calculate fibonacci for <n>
8
- Then it should give me <result>
9
- Examples:
10
- | n | result |
11
- | 1 | 1 |
12
- | 2 | 1 |
13
- | 3 | 2 |
14
- | 4 | 3 |
15
- | 5 | 5 |
16
- | 6 | 8 |
17
-
@@ -1,7 +0,0 @@
1
- When(/^I ask Tcl to calculate fibonacci for (\d+)$/) do |n|
2
- @fib_result = @fib.eval("fib #{n}").to_i
3
- end
4
-
5
- Then(/^it should give me (\d+)$/) do |expected|
6
- expect(@fib_result).to eq expected.to_i
7
- end
@@ -1,7 +0,0 @@
1
- require 'rubygems'
2
- require 'tcl'
3
-
4
- Before do
5
- file_name = File.dirname(__FILE__) + '/../../src/fib.tcl'
6
- @fib = Tcl::Interp.load_from_file(file_name)
7
- end
@@ -1,3 +0,0 @@
1
- proc fib {n} {
2
- return [expr {$n<2 ? $n : [fib [expr $n-1]] + [fib [expr $n-2]]}]
3
- }
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'test-unit'
4
- gem 'cucumber', path: '../..'
@@ -1,6 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = %w{--format pretty}
6
- end
@@ -1,20 +0,0 @@
1
- Given(/^(\w+) = (\w+)$/) do |var, value|
2
- instance_variable_set("@#{var}", value)
3
- end
4
-
5
- begin
6
- require 'rubygems'
7
- require 'matchy'
8
- Then(/^I can assert that (\w+) == (\w+)$/) do |var_a, var_b|
9
- a = instance_variable_get("@#{var_a}")
10
- b = instance_variable_get("@#{var_b}")
11
- a.should == b
12
- end
13
- rescue LoadError
14
- STDERR.puts '***** You should install matchy *****'
15
- Then(/^I can assert that (\w+) == (\w+)$/) do |var_a, var_b|
16
- a = instance_variable_get("@#{var_a}")
17
- b = instance_variable_get("@#{var_b}")
18
- assert_equal(a, b)
19
- end
20
- end
@@ -1,9 +0,0 @@
1
- Feature: Test::Unit
2
- In order to please people who like Test::Unit
3
- As a Cucumber user
4
- I want to be able to use assert* in my step definitions
5
-
6
- Scenario: assert_equal
7
- Given x = 5
8
- And y = 5
9
- Then I can assert that x == y
@@ -1,16 +0,0 @@
1
- Here you'll find examples for Watir, FireWatir, SafariWatir and Celerity.
2
- All of these browser libraries have the same API, so the example code will
3
- work with all of them.
4
-
5
- Just run with:
6
-
7
- rake cucumber
8
-
9
- This will use Watir/IE if you're on Windows, and SafariWatir/Safari if you're on OS X.
10
- You can force the use of Firefox on any platform like this:
11
-
12
- rake features FIREFOX=true
13
-
14
- And finally, you can use Celerity by running in JRuby:
15
-
16
- jruby -S rake cucumber
@@ -1,12 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new do |t|
5
- t.cucumber_opts = %w{--format pretty}
6
- end
7
-
8
- Cucumber::Rake::Task.new(:cucumber_screenshot) do |t|
9
- t.cucumber_opts = %w{--format html --out report.html}
10
- end
11
-
12
- task :default => :cucumber
@@ -1 +0,0 @@
1
- default: --format html --out report.html --format pretty
@@ -1,12 +0,0 @@
1
- Feature: Search
2
- In order to learn more
3
- As an information seeker
4
- I want to find more information
5
-
6
- Scenario: Find what I'm looking for
7
- Given I am on the Google search page
8
- When I search for "cucumber github"
9
- Then I should see
10
- """
11
- GitHub
12
- """
@@ -1,27 +0,0 @@
1
- # Full Watir API: http://wtr.rubyforge.org/rdoc/
2
- # Full RSpec API: http://rspec.rubyforge.org/
3
-
4
- Given 'I am on the Google search page' do
5
- @browser.goto 'http://www.google.com/'
6
- end
7
-
8
- When(/I search for "(.*)"/) do |query|
9
- @browser.text_field(:name, 'q').set(query)
10
- @browser.button(:name, 'btnG').click
11
- end
12
-
13
- Then(/I should see/) do |text|
14
- @browser.text.should =~ /#{text}/m
15
- end
16
-
17
- # To avoid step definitions that are tightly coupled to your user interface,
18
- # consider creating classes for your pages - such as this:
19
- # http://github.com/cucumber/cucumber/tree/v0.1.15/examples/watir/features/step_definitons/search_steps.rb
20
- #
21
- # You may keep the page classes along your steps, or even better, put them in
22
- # separate files, e.g. support/pages/google_search.rb
23
- #
24
- # This technique is called "Page Objects", and you can read more about it here:
25
- # http://github.com/marekj/watirloo/tree/master
26
- # We're not using this technique here, since we want to illustrate the
27
- # basics only.
@@ -1,39 +0,0 @@
1
- begin
2
- require 'rspec/expectations'
3
- rescue LoadError
4
- require 'spec/expectations'
5
- end
6
-
7
- browser = nil
8
-
9
- if ENV['FIREFOX']
10
- require 'watir-webdriver'
11
- Browser = Watir::Browser
12
- browser = Browser.new :ff
13
- else
14
- case RUBY_PLATFORM
15
- when /darwin/
16
- require 'safariwatir'
17
- Browser = Watir::Safari
18
- when /win32|mingw/
19
- require 'watir'
20
- Browser = Watir::IE
21
- when /java/
22
- require 'celerity'
23
- Browser = Celerity::Browser
24
- else
25
- raise "This platform is not supported (#{RUBY_PLATFORM})"
26
- end
27
-
28
- # "before all"
29
- browser = Browser.new
30
- end
31
-
32
- Before do
33
- @browser = browser
34
- end
35
-
36
- # "after all"
37
- at_exit do
38
- browser.close
39
- end
@@ -1,47 +0,0 @@
1
- # This is an example of how you can set up screenshots for your
2
- # browser testing. Just run cucumber with --format html --out report.html
3
- #
4
- # The code below will work on OS X or Windows (with IE Watir only).
5
- # Adding support for other platforms should be easy - as long as there is a
6
- # ruby library or command line tool to take pictures.
7
- #
8
- module Screenshots
9
- if Cucumber::OS_X
10
- def embed_screenshot(id)
11
- `screencapture -t png #{id}.png`
12
- embed("#{id}.png", 'image/png')
13
- end
14
- elsif Cucumber::WINDOWS
15
- # http://wtr.rubyforge.org/rdoc/classes/Watir/ScreenCapture.html
16
- require 'watir/screen_capture'
17
- include Watir::ScreenCapture
18
- def embed_screenshot(id)
19
- screen_capture("#{id}.jpg", true)
20
- embed("#{id}.jpg", 'image/jpeg')
21
- end
22
- else
23
- # Other platforms...
24
- def embed_screenshot(_id)
25
- STDERR.puts 'Sorry - no screenshots on your platform yet.'
26
- end
27
- end
28
- end
29
- World(Screenshots)
30
-
31
- After do
32
- embed_screenshot("screenshot-#{Time.new.to_i}")
33
- end
34
-
35
- # Other variants:
36
- #
37
- # Only take screenshot on failures
38
- #
39
- # After do |scenario|
40
- # embed_screenshot("screenshot-#{Time.new.to_i}") if scenario.failed?
41
- # end
42
- #
43
- # Only take screenshot for scenarios or features tagged @screenshot
44
- #
45
- # After(@screenshot) do
46
- # embed_screenshot("screenshot-#{Time.new.to_i}")
47
- # end
@@ -1,64 +0,0 @@
1
- @spawn
2
- Feature: List step defs as json
3
-
4
- In order to build tools on top of Cucumber
5
- As a tool developer
6
- I want to be able to query a features directory for all the step definitions it contains
7
-
8
- Background:
9
- Given a directory named "features"
10
-
11
- @todo-windows
12
- Scenario: Two Ruby step definitions, in the same file
13
- Given a file named "features/step_definitions/steps.rb" with:
14
- """
15
- Given(/foo/i) { }
16
- Given(/b.r/xm) { }
17
- """
18
- When I run the following Ruby code:
19
- """
20
- require 'cucumber'
21
- puts Cucumber::StepDefinitions.new.to_json
22
-
23
- """
24
- Then it should pass with JSON:
25
- """
26
- [
27
- {
28
- "source": {"expression": "foo", "type": "regular expression"},
29
- "regexp": {"source": "foo", "flags": "i"}
30
- },
31
- {
32
- "source": {"expression": "b.r", "type": "regular expression"},
33
- "regexp": {"source": "b.r", "flags": "mx"}
34
- }
35
- ]
36
- """
37
-
38
- @todo-windows
39
- Scenario: Non-default directory structure
40
- Given a file named "my_weird/place/steps.rb" with:
41
- """
42
- Given(/foo/) { }
43
- Given(/b.r/x) { }
44
- """
45
- When I run the following Ruby code:
46
- """
47
- require 'cucumber'
48
- puts Cucumber::StepDefinitions.new(:autoload_code_paths => ['my_weird']).to_json
49
-
50
- """
51
- Then it should pass with JSON:
52
- """
53
- [
54
- {
55
- "source": {"expression": "foo", "type": "regular expression"},
56
- "regexp": {"source": "foo", "flags": ""}
57
- },
58
- {
59
- "source": {"expression": "b.r", "type": "regular expression"},
60
- "regexp": {"source": "b.r", "flags": "x"}
61
- }
62
- ]
63
-
64
- """