cucumber 1.3.10 → 2.0.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 (465) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.rspec +1 -1
  4. data/.travis.yml +4 -3
  5. data/CONTRIBUTING.md +9 -0
  6. data/Gemfile +9 -2
  7. data/History.md +212 -22
  8. data/LICENSE +2 -2
  9. data/README.md +4 -4
  10. data/Rakefile +10 -1
  11. data/bin/cucumber +1 -5
  12. data/cucumber.gemspec +10 -13
  13. data/cucumber.yml +14 -24
  14. data/examples/{ramaze → i18n/el}/Rakefile +1 -1
  15. data/examples/i18n/el/features/addition.feature +17 -0
  16. data/examples/i18n/el/features/division.feature +10 -0
  17. data/examples/i18n/el/features/step_definitions/calculator_steps.rb +24 -0
  18. data/examples/i18n/el/lib/calculator.rb +14 -0
  19. data/examples/i18n/fr/Rakefile +3 -1
  20. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +2 -2
  21. data/examples/i18n/ht/Rakefile +6 -0
  22. data/examples/i18n/ht/features/adisyon.feature +17 -0
  23. data/examples/i18n/ht/features/divizyon.feature +10 -0
  24. data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +25 -0
  25. data/examples/i18n/ht/lib/kalkilatris.rb +14 -0
  26. data/examples/i18n/zh-CN/features/{step_definitons → step_definitions}/calculator_steps.rb +4 -4
  27. data/examples/tcl/features/step_definitions/fib_steps.rb +1 -1
  28. data/{legacy_features → features/docs}/api/list_step_defs_as_json.feature +14 -14
  29. data/{legacy_features → features/docs}/api/run_cli_main_with_existing_runtime.feature +5 -10
  30. data/features/{backtraces.feature → docs/cli/backtraces.feature} +2 -2
  31. data/features/docs/cli/dry_run.feature +73 -0
  32. data/features/docs/cli/exclude_files.feature +18 -0
  33. data/features/docs/cli/execute_with_tag_filter.feature +117 -0
  34. data/features/docs/cli/randomize.feature +46 -0
  35. data/features/docs/cli/require.feature +27 -0
  36. data/features/docs/cli/run_scenarios_matching_name.feature +104 -0
  37. data/features/docs/cli/run_specific_scenarios.feature +75 -0
  38. data/features/docs/cli/showing_differences.feature +43 -0
  39. data/features/docs/cli/specifying_multiple_formatters.feature +44 -0
  40. data/features/docs/cli/strict_mode.feature +64 -0
  41. data/features/{nested_steps.feature → docs/defining_steps/nested_steps.feature} +52 -6
  42. data/features/{nested_steps_i18n.feature → docs/defining_steps/nested_steps_i18n.feature} +0 -2
  43. data/features/{step_definitions.feature → docs/defining_steps/one_line_step_definitions.feature} +3 -3
  44. data/features/docs/defining_steps/printing_messages.feature +148 -0
  45. data/features/docs/defining_steps/skip_scenario.feature +62 -0
  46. data/features/docs/defining_steps/snippets.feature +56 -0
  47. data/{legacy_features → features/docs/defining_steps}/table_diffing.feature +21 -16
  48. data/features/{transforms.feature → docs/defining_steps/transforms.feature} +2 -2
  49. data/{legacy_features/exception_in_after_block.feature → features/docs/exception_in_after_hook.feature} +25 -26
  50. data/{legacy_features/exception_in_after_step_block.feature → features/docs/exception_in_after_step_hook.feature} +22 -24
  51. data/features/docs/exception_in_around_hook.feature +80 -0
  52. data/{legacy_features/exception_in_before_block.feature → features/docs/exception_in_before_hook.feature} +18 -20
  53. data/features/docs/extending_cucumber/custom_filter.feature +29 -0
  54. data/features/docs/extending_cucumber/custom_formatter.feature +94 -0
  55. data/features/docs/formatters/debug_formatter.feature +47 -0
  56. data/features/{formatter_step_file_colon_line.feature → docs/formatters/formatter_step_file_colon_line.feature} +2 -4
  57. data/features/{html_formatter.feature → docs/formatters/html_formatter.feature} +10 -14
  58. data/features/docs/formatters/json_formatter.feature +760 -0
  59. data/features/docs/formatters/junit_formatter.feature +316 -0
  60. data/features/docs/formatters/pretty_formatter.feature +73 -0
  61. data/features/{progress_formatter.feature → docs/formatters/progress_formatter.feature} +1 -1
  62. data/features/docs/formatters/rerun_formatter.feature +136 -0
  63. data/features/docs/formatters/usage_formatter.feature +102 -0
  64. data/features/docs/getting_started.feature +27 -0
  65. data/features/{background.feature → docs/gherkin/background.feature} +149 -91
  66. data/features/{doc_strings.feature → docs/gherkin/doc_strings.feature} +1 -0
  67. data/features/docs/gherkin/expand_option_for_outlines.feature +46 -0
  68. data/features/docs/gherkin/language_from_header.feature +32 -0
  69. data/features/docs/gherkin/outlines.feature +158 -0
  70. data/features/docs/gherkin/unicode_table.feature +32 -0
  71. data/features/docs/gherkin/using_descriptions.feature +88 -0
  72. data/features/docs/gherkin/using_star_notation.feature +37 -0
  73. data/{legacy_features → features/docs}/post_configuration_hook.feature +17 -18
  74. data/{legacy_features → features/docs}/profiles.feature +30 -36
  75. data/{legacy_features → features/docs}/rake_task.feature +30 -41
  76. data/features/{raketask.feature → docs/raketask.feature} +6 -13
  77. data/{legacy_features/wire_protocol_erb.feature → features/docs/wire_protocol/erb_configuration.feature} +7 -8
  78. data/features/docs/wire_protocol/handle_unexpected_response.feature +30 -0
  79. data/features/docs/wire_protocol/invoke_message.feature +216 -0
  80. data/features/docs/wire_protocol/readme.md +26 -0
  81. data/features/docs/wire_protocol/snippets_message.feature +51 -0
  82. data/features/docs/wire_protocol/step_matches_message.feature +81 -0
  83. data/{legacy_features/wire_protocol_table_diffing.feature → features/docs/wire_protocol/table_diffing.feature} +19 -12
  84. data/{legacy_features/wire_protocol_tags.feature → features/docs/wire_protocol/tags.feature} +7 -7
  85. data/{legacy_features/wire_protocol_timeouts.feature → features/docs/wire_protocol/timeouts.feature} +7 -6
  86. data/{legacy_features → features/docs}/work_in_progress.feature +52 -54
  87. data/features/docs/writing_support_code/after_hooks.feature +80 -0
  88. data/{legacy_features → features/docs/writing_support_code}/around_hooks.feature +56 -28
  89. data/features/docs/writing_support_code/before_hook.feature +65 -0
  90. data/features/docs/writing_support_code/hook_order.feature +61 -0
  91. data/features/{load_path.feature → docs/writing_support_code/load_path.feature} +3 -0
  92. data/features/docs/writing_support_code/state.feature +32 -0
  93. data/features/docs/writing_support_code/tagged_hooks.feature +95 -0
  94. data/features/lib/step_definitions/aruba_steps.rb +22 -0
  95. data/features/lib/step_definitions/cucumber_steps.rb +50 -0
  96. data/features/{step_definitions → lib/step_definitions}/iso-8859-1_steps.rb +3 -15
  97. data/features/lib/step_definitions/json_steps.rb +7 -0
  98. data/features/lib/step_definitions/junit_steps.rb +13 -0
  99. data/features/lib/step_definitions/language_steps.rb +4 -5
  100. data/features/lib/step_definitions/profile_steps.rb +15 -0
  101. data/features/lib/step_definitions/ruby_steps.rb +3 -0
  102. data/features/lib/step_definitions/wire_steps.rb +58 -0
  103. data/features/lib/support/env.rb +21 -0
  104. data/{legacy_features → features/lib}/support/fake_wire_server.rb +10 -7
  105. data/features/{support → lib/support}/feature_factory.rb +1 -1
  106. data/features/lib/support/normalise_output.rb +33 -0
  107. data/gem_tasks/cov.rake +5 -0
  108. data/gem_tasks/cucumber.rake +3 -8
  109. data/gem_tasks/rspec.rake +0 -2
  110. data/lib/cucumber/ast.rb +8 -25
  111. data/lib/cucumber/cli/configuration.rb +33 -37
  112. data/lib/cucumber/cli/main.rb +14 -27
  113. data/lib/cucumber/cli/options.rb +22 -60
  114. data/lib/cucumber/cli/profile_loader.rb +1 -1
  115. data/lib/cucumber/configuration.rb +4 -0
  116. data/lib/cucumber/constantize.rb +7 -6
  117. data/lib/cucumber/core_ext/instance_exec.rb +7 -38
  118. data/lib/cucumber/core_ext/proc.rb +1 -1
  119. data/lib/cucumber/encoding.rb +5 -0
  120. data/lib/cucumber/errors.rb +21 -10
  121. data/lib/cucumber/file_specs.rb +37 -0
  122. data/lib/cucumber/filters/activate_steps.rb +33 -0
  123. data/lib/cucumber/filters/apply_after_hooks.rb +9 -0
  124. data/lib/cucumber/filters/apply_after_step_hooks.rb +12 -0
  125. data/lib/cucumber/filters/apply_around_hooks.rb +12 -0
  126. data/lib/cucumber/filters/apply_before_hooks.rb +9 -0
  127. data/lib/cucumber/filters/gated_receiver.rb +25 -0
  128. data/lib/cucumber/filters/prepare_world.rb +45 -0
  129. data/lib/cucumber/filters/quit.rb +28 -0
  130. data/lib/cucumber/filters/randomizer.rb +40 -0
  131. data/lib/cucumber/filters/tag_limits/test_case_index.rb +31 -0
  132. data/lib/cucumber/filters/tag_limits/verifier.rb +59 -0
  133. data/lib/cucumber/filters/tag_limits.rb +45 -0
  134. data/lib/cucumber/filters.rb +9 -0
  135. data/lib/cucumber/formatter/ansicolor.rb +0 -8
  136. data/lib/cucumber/formatter/console.rb +66 -36
  137. data/lib/cucumber/formatter/debug.rb +10 -8
  138. data/lib/cucumber/formatter/fanout.rb +27 -0
  139. data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +122 -12
  140. data/lib/cucumber/formatter/html.rb +67 -18
  141. data/lib/cucumber/formatter/ignore_missing_messages.rb +20 -0
  142. data/lib/cucumber/formatter/interceptor.rb +17 -3
  143. data/lib/cucumber/formatter/json.rb +1 -1
  144. data/lib/cucumber/formatter/junit.rb +105 -5
  145. data/lib/cucumber/formatter/legacy_api/adapter.rb +1060 -0
  146. data/lib/cucumber/formatter/legacy_api/ast.rb +376 -0
  147. data/lib/cucumber/formatter/legacy_api/results.rb +51 -0
  148. data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +30 -0
  149. data/lib/cucumber/formatter/pretty.rb +16 -8
  150. data/lib/cucumber/formatter/progress.rb +10 -0
  151. data/lib/cucumber/formatter/rerun.rb +14 -71
  152. data/lib/cucumber/formatter/unicode.rb +8 -21
  153. data/lib/cucumber/formatter/usage.rb +7 -1
  154. data/lib/cucumber/hooks.rb +97 -0
  155. data/lib/cucumber/language_support/language_methods.rb +0 -54
  156. data/lib/cucumber/{ast/table.rb → multiline_argument/data_table.rb} +77 -84
  157. data/lib/cucumber/multiline_argument/doc_string.rb +10 -0
  158. data/lib/cucumber/multiline_argument.rb +74 -0
  159. data/lib/cucumber/platform.rb +21 -20
  160. data/lib/cucumber/project_initializer.rb +43 -0
  161. data/lib/cucumber/rake/task.rb +3 -54
  162. data/lib/cucumber/rb_support/rb_hook.rb +2 -2
  163. data/lib/cucumber/rb_support/rb_language.rb +4 -34
  164. data/lib/cucumber/rb_support/rb_step_definition.rb +11 -2
  165. data/lib/cucumber/rb_support/rb_transform.rb +3 -1
  166. data/lib/cucumber/rb_support/rb_world.rb +13 -20
  167. data/lib/cucumber/rb_support/snippet.rb +61 -20
  168. data/lib/cucumber/rspec/doubles.rb +9 -6
  169. data/lib/cucumber/running_test_case.rb +115 -0
  170. data/lib/cucumber/runtime/after_hooks.rb +24 -0
  171. data/lib/cucumber/runtime/before_hooks.rb +23 -0
  172. data/lib/cucumber/runtime/for_programming_languages.rb +14 -10
  173. data/lib/cucumber/runtime/step_hooks.rb +22 -0
  174. data/lib/cucumber/runtime/support_code.rb +78 -21
  175. data/lib/cucumber/runtime/user_interface.rb +4 -0
  176. data/lib/cucumber/runtime.rb +153 -98
  177. data/lib/cucumber/step_match.rb +27 -3
  178. data/lib/cucumber/term/ansicolor.rb +1 -9
  179. data/lib/cucumber/wire_support/wire_language.rb +23 -9
  180. data/lib/cucumber/wire_support/wire_packet.rb +1 -1
  181. data/lib/cucumber/wire_support/wire_protocol/requests.rb +13 -5
  182. data/lib/cucumber/wire_support/wire_step_definition.rb +1 -8
  183. data/lib/cucumber.rb +8 -6
  184. data/spec/cucumber/cli/configuration_spec.rb +165 -134
  185. data/spec/cucumber/cli/main_spec.rb +36 -99
  186. data/spec/cucumber/cli/options_spec.rb +238 -272
  187. data/spec/cucumber/cli/profile_loader_spec.rb +18 -7
  188. data/spec/cucumber/configuration_spec.rb +3 -3
  189. data/spec/cucumber/constantize_spec.rb +2 -1
  190. data/spec/cucumber/core_ext/instance_exec_spec.rb +4 -0
  191. data/spec/cucumber/core_ext/proc_spec.rb +32 -43
  192. data/spec/cucumber/file_specs_spec.rb +60 -0
  193. data/spec/cucumber/filters/activate_steps_spec.rb +57 -0
  194. data/spec/cucumber/filters/gated_receiver_spec.rb +47 -0
  195. data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +38 -0
  196. data/spec/cucumber/filters/tag_limits/verifier_spec.rb +57 -0
  197. data/spec/cucumber/filters/tag_limits_spec.rb +59 -0
  198. data/spec/cucumber/formatter/ansicolor_spec.rb +11 -10
  199. data/spec/cucumber/formatter/debug_spec.rb +64 -0
  200. data/spec/cucumber/formatter/duration_spec.rb +6 -6
  201. data/spec/cucumber/formatter/html_spec.rb +233 -39
  202. data/spec/cucumber/formatter/interceptor_spec.rb +38 -31
  203. data/spec/cucumber/formatter/junit_spec.rb +213 -151
  204. data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +2090 -0
  205. data/spec/cucumber/formatter/pretty_spec.rb +481 -49
  206. data/spec/cucumber/formatter/progress_spec.rb +63 -16
  207. data/spec/cucumber/formatter/rerun_spec.rb +107 -0
  208. data/spec/cucumber/formatter/spec_helper.rb +32 -17
  209. data/spec/cucumber/hooks_spec.rb +30 -0
  210. data/spec/cucumber/{ast/table_spec.rb → multiline_argument/data_table_spec.rb} +128 -208
  211. data/spec/cucumber/project_initializer_spec.rb +87 -0
  212. data/spec/cucumber/rake/forked_spec.rb +13 -22
  213. data/spec/cucumber/rb_support/rb_language_spec.rb +78 -69
  214. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +90 -44
  215. data/spec/cucumber/rb_support/rb_transform_spec.rb +24 -3
  216. data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +6 -4
  217. data/spec/cucumber/rb_support/snippet_spec.rb +47 -38
  218. data/spec/cucumber/running_test_case_spec.rb +83 -0
  219. data/spec/cucumber/runtime/for_programming_languages_spec.rb +18 -13
  220. data/spec/cucumber/runtime/support_code_spec.rb +29 -29
  221. data/spec/cucumber/runtime_spec.rb +35 -34
  222. data/spec/cucumber/step_match_spec.rb +30 -20
  223. data/spec/cucumber/wire_support/configuration_spec.rb +8 -5
  224. data/spec/cucumber/wire_support/connection_spec.rb +12 -8
  225. data/spec/cucumber/wire_support/wire_exception_spec.rb +14 -8
  226. data/spec/cucumber/wire_support/wire_language_spec.rb +8 -9
  227. data/spec/cucumber/wire_support/wire_packet_spec.rb +17 -13
  228. data/spec/cucumber/world/pending_spec.rb +36 -36
  229. data/spec/simplecov_setup.rb +18 -0
  230. data/spec/spec_helper.rb +6 -13
  231. metadata +348 -350
  232. data/.gitattributes +0 -1
  233. data/.ruby-version +0 -1
  234. data/examples/python/README.textile +0 -8
  235. data/examples/python/Rakefile +0 -4
  236. data/examples/python/features/fibonacci.feature +0 -19
  237. data/examples/python/features/step_definitions/fib_steps.py +0 -11
  238. data/examples/python/lib/fib.py +0 -7
  239. data/examples/ramaze/README.textile +0 -7
  240. data/examples/ramaze/app.rb +0 -21
  241. data/examples/ramaze/features/add.feature +0 -11
  242. data/examples/ramaze/features/step_definitions/add_steps.rb +0 -15
  243. data/examples/ramaze/features/support/env.rb +0 -32
  244. data/examples/ramaze/layout/default.html.erb +0 -8
  245. data/examples/ramaze/view/index.html.erb +0 -5
  246. data/examples/ruby2python/README.textile +0 -8
  247. data/examples/ruby2python/Rakefile +0 -4
  248. data/examples/ruby2python/features/fibonacci.feature +0 -19
  249. data/examples/ruby2python/features/step_definitions/fib_steps.rb +0 -7
  250. data/examples/ruby2python/features/support/env.rb +0 -21
  251. data/examples/ruby2python/lib/fib.py +0 -7
  252. data/examples/v8/Rakefile +0 -6
  253. data/examples/v8/features/fibonacci.feature +0 -43
  254. data/examples/v8/features/step_definitions/fib_steps.js +0 -49
  255. data/examples/v8/features/support/env.js +0 -14
  256. data/examples/v8/lib/fibonacci.js +0 -19
  257. data/features/.cucumber/stepdefs.json +0 -627
  258. data/features/assertions.feature +0 -73
  259. data/features/autoformat_profile_output.feature +0 -23
  260. data/features/before_hook.feature +0 -43
  261. data/features/bootstrap.feature +0 -27
  262. data/features/custom_formatter.feature +0 -41
  263. data/features/drb_server_integration.feature +0 -63
  264. data/features/execute_with_tag_filter.feature +0 -63
  265. data/features/formatter_callbacks.feature +0 -189
  266. data/features/json_formatter.feature +0 -338
  267. data/features/parsing.feature +0 -18
  268. data/features/pretty_formatter.feature +0 -31
  269. data/features/rerun_formatter.feature +0 -35
  270. data/features/run_specific_scenarios.feature +0 -47
  271. data/features/stats_formatters.feature +0 -73
  272. data/features/step_definitions/cucumber-features/cucumber_ruby_mappings.rb +0 -197
  273. data/features/step_definitions/cucumber_steps.rb +0 -55
  274. data/features/step_definitions/drb_steps.rb +0 -3
  275. data/features/support/env.rb +0 -57
  276. data/features/tagged_hooks.feature +0 -59
  277. data/fixtures/json/features/background.feature +0 -7
  278. data/fixtures/json/features/embed.feature +0 -4
  279. data/fixtures/json/features/one_passing_one_failing.feature +0 -11
  280. data/fixtures/json/features/step_definitions/steps.rb +0 -32
  281. data/fixtures/json/features/tables.feature +0 -13
  282. data/fixtures/junit/features/one_passing_one_failing.feature +0 -8
  283. data/fixtures/junit/features/pending.feature +0 -7
  284. data/fixtures/junit/features/scenario_outline.feature +0 -9
  285. data/fixtures/junit/features/some_subdirectory/one_passing_one_failing.feature +0 -8
  286. data/fixtures/junit/features/step_definitions/steps.rb +0 -11
  287. data/fixtures/self_test/README.textile +0 -6
  288. data/fixtures/self_test/Rakefile +0 -6
  289. data/fixtures/self_test/features/call_undefined_step_from_step_def.feature +0 -7
  290. data/fixtures/self_test/features/failing_expectation.feature +0 -4
  291. data/fixtures/self_test/features/lots_of_undefined.feature +0 -8
  292. data/fixtures/self_test/features/multiline_name.feature +0 -27
  293. data/fixtures/self_test/features/outline_sample.feature +0 -15
  294. data/fixtures/self_test/features/sample.feature +0 -21
  295. data/fixtures/self_test/features/search_sample.feature +0 -32
  296. data/fixtures/self_test/features/step_definitions/sample_steps.rb +0 -84
  297. data/fixtures/self_test/features/support/bubble_256x256.png +0 -0
  298. data/fixtures/self_test/features/support/env.rb +0 -26
  299. data/fixtures/self_test/features/tags_sample.feature +0 -17
  300. data/fixtures/self_test/features/tons_of_cukes.feature +0 -52
  301. data/fixtures/self_test/features/undefined_multiline_args.feature +0 -12
  302. data/fixtures/self_test/list-of-features.txt +0 -1
  303. data/fixtures/steps_library/features/step_definitions/steps_lib1.rb +0 -8
  304. data/fixtures/steps_library/features/step_definitions/steps_lib2.rb +0 -8
  305. data/fixtures/tickets/Rakefile +0 -20
  306. data/fixtures/tickets/features/172.feature +0 -28
  307. data/fixtures/tickets/features/177/1.feature +0 -28
  308. data/fixtures/tickets/features/177/2.feature +0 -20
  309. data/fixtures/tickets/features/177/3.feature +0 -18
  310. data/fixtures/tickets/features/180.feature +0 -7
  311. data/fixtures/tickets/features/229/tagged_hooks.feature +0 -8
  312. data/fixtures/tickets/features/229/tagged_hooks.rb +0 -14
  313. data/fixtures/tickets/features/236.feature +0 -13
  314. data/fixtures/tickets/features/241.feature +0 -12
  315. data/fixtures/tickets/features/246.feature +0 -4
  316. data/fixtures/tickets/features/248.feature +0 -11
  317. data/fixtures/tickets/features/270/back.feature +0 -14
  318. data/fixtures/tickets/features/270/back.steps.rb +0 -14
  319. data/fixtures/tickets/features/272/hooks.feature +0 -26
  320. data/fixtures/tickets/features/272/hooks_steps.rb +0 -53
  321. data/fixtures/tickets/features/279/py_string_indent.feature +0 -25
  322. data/fixtures/tickets/features/279/py_string_indent.steps.rb +0 -12
  323. data/fixtures/tickets/features/279/wrong.feature_ +0 -11
  324. data/fixtures/tickets/features/301/filter_background_tagged_hooks.feature +0 -6
  325. data/fixtures/tickets/features/301/filter_background_tagged_hooks_steps.rb +0 -12
  326. data/fixtures/tickets/features/306/only_background.feature +0 -4
  327. data/fixtures/tickets/features/around_timeout.feature +0 -6
  328. data/fixtures/tickets/features/gherkin_67.feature +0 -12
  329. data/fixtures/tickets/features/gherkin_68.feature +0 -4
  330. data/fixtures/tickets/features/half_manual.feature +0 -11
  331. data/fixtures/tickets/features/lib/eatting_machine.rb +0 -18
  332. data/fixtures/tickets/features/lib/pantry.rb +0 -20
  333. data/fixtures/tickets/features/scenario_outline.feature +0 -95
  334. data/fixtures/tickets/features/step_definitons/246_steps.rb +0 -3
  335. data/fixtures/tickets/features/step_definitons/248_steps.rb +0 -15
  336. data/fixtures/tickets/features/step_definitons/around_timeout_steps.rb +0 -9
  337. data/fixtures/tickets/features/step_definitons/half_manual_steps.rb +0 -11
  338. data/fixtures/tickets/features/step_definitons/scenario_outline_steps.rb +0 -42
  339. data/fixtures/tickets/features/step_definitons/tickets_steps.rb +0 -88
  340. data/fixtures/tickets/features/table_diffing.feature +0 -13
  341. data/fixtures/tickets/features/tickets.feature +0 -28
  342. data/fixtures/tickets/features.html +0 -138
  343. data/gem_tasks/yard/default/layout/html/bubble_32x32.png +0 -0
  344. data/gem_tasks/yard/default/layout/html/footer.erb +0 -5
  345. data/gem_tasks/yard/default/layout/html/index.erb +0 -1
  346. data/gem_tasks/yard/default/layout/html/layout.erb +0 -25
  347. data/gem_tasks/yard/default/layout/html/logo.erb +0 -1
  348. data/gem_tasks/yard/default/layout/html/setup.rb +0 -4
  349. data/gem_tasks/yard.rake +0 -40
  350. data/legacy_features/README.md +0 -14
  351. data/legacy_features/announce.feature +0 -152
  352. data/legacy_features/bug_371.feature +0 -32
  353. data/legacy_features/bug_464.feature +0 -16
  354. data/legacy_features/bug_475.feature +0 -42
  355. data/legacy_features/bug_585_tab_indentation.feature +0 -22
  356. data/legacy_features/bug_600.feature +0 -73
  357. data/legacy_features/cucumber_cli.feature +0 -584
  358. data/legacy_features/cucumber_cli_outlines.feature +0 -117
  359. data/legacy_features/default_snippets.feature +0 -43
  360. data/legacy_features/diffing.feature +0 -25
  361. data/legacy_features/drb_server_integration.feature +0 -174
  362. data/legacy_features/exclude_files.feature +0 -20
  363. data/legacy_features/expand.feature +0 -60
  364. data/legacy_features/junit_formatter.feature +0 -214
  365. data/legacy_features/language_from_header.feature +0 -30
  366. data/legacy_features/listener_debugger_formatter.feature +0 -42
  367. data/legacy_features/multiline_names.feature +0 -44
  368. data/legacy_features/report_called_undefined_steps.feature +0 -35
  369. data/legacy_features/rerun_formatter.feature +0 -52
  370. data/legacy_features/simplest.feature +0 -11
  371. data/legacy_features/snippet.feature +0 -23
  372. data/legacy_features/snippets_when_using_star_keyword.feature +0 -38
  373. data/legacy_features/step_definitions/cucumber_steps.rb +0 -179
  374. data/legacy_features/step_definitions/extra_steps.rb +0 -2
  375. data/legacy_features/step_definitions/simplest_steps.rb +0 -3
  376. data/legacy_features/step_definitions/wire_steps.rb +0 -34
  377. data/legacy_features/support/env.rb +0 -161
  378. data/legacy_features/support/env.rb.simplest +0 -7
  379. data/legacy_features/table_mapping.feature +0 -34
  380. data/legacy_features/transform.feature +0 -245
  381. data/legacy_features/unicode_table.feature +0 -35
  382. data/legacy_features/wire_protocol.feature +0 -332
  383. data/lib/README.rdoc +0 -12
  384. data/lib/cucumber/ast/background.rb +0 -116
  385. data/lib/cucumber/ast/comment.rb +0 -31
  386. data/lib/cucumber/ast/doc_string.rb +0 -61
  387. data/lib/cucumber/ast/empty_background.rb +0 -33
  388. data/lib/cucumber/ast/examples.rb +0 -49
  389. data/lib/cucumber/ast/feature.rb +0 -99
  390. data/lib/cucumber/ast/features.rb +0 -38
  391. data/lib/cucumber/ast/has_steps.rb +0 -74
  392. data/lib/cucumber/ast/location.rb +0 -41
  393. data/lib/cucumber/ast/multiline_argument.rb +0 -30
  394. data/lib/cucumber/ast/names.rb +0 -13
  395. data/lib/cucumber/ast/outline_table.rb +0 -194
  396. data/lib/cucumber/ast/scenario.rb +0 -103
  397. data/lib/cucumber/ast/scenario_outline.rb +0 -146
  398. data/lib/cucumber/ast/step.rb +0 -122
  399. data/lib/cucumber/ast/step_collection.rb +0 -92
  400. data/lib/cucumber/ast/step_invocation.rb +0 -196
  401. data/lib/cucumber/ast/tags.rb +0 -28
  402. data/lib/cucumber/ast/tree_walker.rb +0 -191
  403. data/lib/cucumber/ast/visitor.rb +0 -11
  404. data/lib/cucumber/broadcaster.rb +0 -13
  405. data/lib/cucumber/cli/drb_client.rb +0 -43
  406. data/lib/cucumber/feature_file.rb +0 -94
  407. data/lib/cucumber/formatter/ordered_xml_markup.rb +0 -24
  408. data/lib/cucumber/js_support/js_dsl.js +0 -57
  409. data/lib/cucumber/js_support/js_language.rb +0 -185
  410. data/lib/cucumber/js_support/js_snippets.rb +0 -27
  411. data/lib/cucumber/parser/gherkin_builder.rb +0 -284
  412. data/lib/cucumber/parser.rb +0 -2
  413. data/lib/cucumber/py_support/py_dsl.py +0 -10
  414. data/lib/cucumber/py_support/py_language.py +0 -10
  415. data/lib/cucumber/py_support/py_language.rb +0 -80
  416. data/lib/cucumber/runtime/features_loader.rb +0 -62
  417. data/lib/cucumber/runtime/results.rb +0 -64
  418. data/lib/cucumber/step_mother.rb +0 -10
  419. data/spec/cucumber/ast/background_spec.rb +0 -122
  420. data/spec/cucumber/ast/doc_string_spec.rb +0 -40
  421. data/spec/cucumber/ast/feature_factory.rb +0 -72
  422. data/spec/cucumber/ast/feature_spec.rb +0 -63
  423. data/spec/cucumber/ast/features_spec.rb +0 -51
  424. data/spec/cucumber/ast/outline_table_spec.rb +0 -21
  425. data/spec/cucumber/ast/scenario_outline_spec.rb +0 -74
  426. data/spec/cucumber/ast/step_spec.rb +0 -68
  427. data/spec/cucumber/ast/tree_walker_spec.rb +0 -19
  428. data/spec/cucumber/broadcaster_spec.rb +0 -15
  429. data/spec/cucumber/cli/drb_client_spec.rb +0 -76
  430. data/spec/cucumber/rake/rcov_spec.rb +0 -71
  431. data/spec/cucumber/runtime/results_spec.rb +0 -81
  432. data/spec/cucumber/wire_support/wire_step_definition_spec.rb +0 -20
  433. /data/examples/i18n/ar/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  434. /data/examples/i18n/bg/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  435. /data/examples/i18n/ca/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  436. /data/examples/i18n/cs/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  437. /data/examples/i18n/da/features/{step_definitons → step_definitions}/lommeregner_steps.rb +0 -0
  438. /data/examples/i18n/de/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  439. /data/examples/i18n/en/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  440. /data/examples/i18n/eo/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  441. /data/examples/i18n/es/features/{step_definitons → step_definitions}/calculador_steps.rb +0 -0
  442. /data/examples/i18n/fi/features/{step_definitons → step_definitions}/laskin_steps.rb +0 -0
  443. /data/examples/i18n/he/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  444. /data/examples/i18n/hi/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  445. /data/examples/i18n/hu/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  446. /data/examples/i18n/id/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  447. /data/examples/i18n/it/features/{step_definitons → step_definitions}/calcolatrice_steps.rb +0 -0
  448. /data/examples/i18n/ja/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  449. /data/examples/i18n/ko/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  450. /data/examples/i18n/lt/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  451. /data/examples/i18n/lv/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  452. /data/examples/i18n/no/features/{step_definitons → step_definitions}/kalkulator_steps.rb +0 -0
  453. /data/examples/i18n/pl/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  454. /data/examples/i18n/ro/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  455. /data/examples/i18n/ru/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  456. /data/examples/i18n/sk/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  457. /data/examples/i18n/sr-Cyrl/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  458. /data/examples/i18n/sr-Latn/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  459. /data/examples/i18n/sv/features/{step_definitons → step_definitions}/kalkulator_steps.rb +0 -0
  460. /data/examples/i18n/tr/features/{step_definitons → step_definitions}/hesap_makinesi_adimlari.rb +0 -0
  461. /data/examples/i18n/uk/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  462. /data/examples/i18n/uz/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  463. /data/examples/i18n/zh-TW/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
  464. /data/features/{nested_steps_with_second_arg.feature → docs/defining_steps/nested_steps_with_second_arg.feature} +0 -0
  465. /data/features/{iso-8859-1.feature → docs/iso-8859-1.feature} +0 -0
@@ -1,84 +0,0 @@
1
- def flunker
2
- raise "FAIL"
3
- end
4
-
5
- Given(/^passing$/) do |table| end
6
-
7
-
8
- Given /^failing$/ do |string| x=1
9
- flunker
10
- end
11
-
12
- Given(/^passing without a table$/) do end
13
-
14
-
15
- Given /^failing without a table$/ do x=1
16
- flunker
17
- end
18
-
19
- Given /^a step definition that calls an undefined step$/ do Given 'this does not exist'
20
- end
21
-
22
-
23
- Given /^call step "(.*)"$/ do |step| x=1
24
- Given step
25
- end
26
-
27
- Given /^'(.+)' cukes$/ do |cukes| x=1
28
- raise "We already have #{@cukes} cukes!" if @cukes
29
- @cukes = cukes
30
- end
31
- Then /^I should have '(.+)' cukes$/ do |cukes| x=1
32
- @cukes.should == cukes
33
- end
34
-
35
- Given /^'(.+)' global cukes$/ do |cukes| x=1
36
- $scenario_runs ||= 0
37
- flunker if $scenario_runs >= 1
38
- $cukes = cukes
39
- $scenario_runs += 1
40
- end
41
-
42
- Then /^I should have '(.+)' global cukes$/ do |cukes| x=1
43
- $cukes.should == cukes
44
- end
45
-
46
- Given /^table$/ do |table| x=1
47
- @table = table
48
- end
49
-
50
- Given /^multiline string$/ do |string| x=1
51
- @multiline = string
52
- end
53
-
54
- Then /^the table should be$/ do |table| x=1
55
- @table.raw.should == table.raw
56
- end
57
-
58
- Then /^the multiline string should be$/ do |string| x=1
59
- @multiline.should == string
60
- end
61
-
62
- Given /^failing expectation$/ do x=1
63
- 'this'.should == 'that'
64
- end
65
-
66
- Given(/^unused$/) do end
67
-
68
-
69
- Given(/^another unused$/) do end
70
-
71
-
72
- require 'fileutils'
73
-
74
- after_file = File.expand_path(File.dirname(__FILE__) + '/../../tmp/after.txt')
75
-
76
- Before do
77
- FileUtils.rm(after_file) if File.exist?(after_file)
78
- end
79
-
80
- After('@after_file') do
81
- FileUtils.mkdir_p(File.dirname(after_file))
82
- FileUtils.touch(after_file)
83
- end
84
-
@@ -1,26 +0,0 @@
1
- require 'base64'
2
- begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
3
- $KCODE = 'u' if Cucumber::RUBY_1_8_7
4
-
5
- Before('@not_used') do
6
- raise "Should never run"
7
- end
8
-
9
- After('@not_used') do
10
- raise "Should never run"
11
- end
12
-
13
- Before('@background_tagged_before_on_outline') do
14
- @cukes = '888'
15
- end
16
-
17
- After('@background_tagged_before_on_outline') do
18
- @cukes.should == '888'
19
- end
20
-
21
- After do
22
- png = IO.read(File.join(File.dirname(__FILE__), 'bubble_256x256.png'))
23
- encoded_img = Base64.encode64(png).gsub(/\n/, '')
24
- embed("data:image/png;base64,#{encoded_img}", 'image/png')
25
- end
26
-
@@ -1,17 +0,0 @@
1
- @sample_one
2
- Feature: Tag samples
3
-
4
- @sample_two @sample_four
5
- Scenario: Passing
6
- Given missing
7
-
8
- @sample_three
9
- Scenario Outline:
10
- Given <state>
11
- Examples:
12
- |state|
13
- |missing|
14
-
15
- @sample_three @sample_four
16
- Scenario: Skipped
17
- Given missing
@@ -1,52 +0,0 @@
1
- @lots
2
- Feature: Tons of cukes
3
- Scenario: Lots and lots
4
- Given '2' cukes
5
- Given '2' cukes
6
- Given '2' cukes
7
- Given '2' cukes
8
- Given '2' cukes
9
- Given '2' cukes
10
- Given '2' cukes
11
- Given '2' cukes
12
- Given '2' cukes
13
- Given '2' cukes
14
- Given '2' cukes
15
- Given '2' cukes
16
- Given '2' cukes
17
- Given '2' cukes
18
- Given '2' cukes
19
- Given '2' cukes
20
- Given '2' cukes
21
- Given '2' cukes
22
- Given '2' cukes
23
- Given '2' cukes
24
- Given '2' cukes
25
- Given '2' cukes
26
- Given '2' cukes
27
- Given '2' cukes
28
- Given '2' cukes
29
- Given '2' cukes
30
- Given '2' cukes
31
- Given '2' cukes
32
- Given '2' cukes
33
- Given '2' cukes
34
- Given '2' cukes
35
- Given '2' cukes
36
- Given '2' cukes
37
- Given '2' cukes
38
- Given '2' cukes
39
- Given '2' cukes
40
- Given '2' cukes
41
- Given '2' cukes
42
- Given '2' cukes
43
- Given '2' cukes
44
- Given '2' cukes
45
- Given '2' cukes
46
- Given '2' cukes
47
- Given '2' cukes
48
- Given '2' cukes
49
- Given '2' cukes
50
- Given '2' cukes
51
- Given '2' cukes
52
- Given '2' cukes
@@ -1,12 +0,0 @@
1
- Feature: undefined multiline args
2
-
3
- Scenario: pystring
4
- Given a pystring
5
- """
6
- example with <html> entities
7
- """
8
-
9
- Scenario: table
10
- Given a table
11
- | table |
12
- |example|
@@ -1 +0,0 @@
1
- features/sample.feature:12
@@ -1,8 +0,0 @@
1
- Given /^I defined a first step$/ do
2
- end
3
-
4
- When /^I define a second step$/ do
5
- end
6
-
7
- Then /^I should also have a third step$/ do
8
- end
@@ -1,8 +0,0 @@
1
- Given /^I defined a step 4$/ do
2
- end
3
-
4
- When /^I create a step 5$/ do
5
- end
6
-
7
- Then /^I should be too tired for step 6$/ do
8
- end
@@ -1,20 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new(:pretty) do |t|
5
- t.cucumber_opts = %w{--tags ~@intentional_failure --format pretty -q}
6
- end
7
-
8
- Cucumber::Rake::Task.new(:html) do |t|
9
- t.cucumber_opts = %w{--tags ~@intentional_failure --format html --out features.html}
10
- end
11
-
12
- Cucumber::Rake::Task.new(:progress) do |t|
13
- t.cucumber_opts = %w{--tags ~@intentional_failure --format progress -i -s}
14
- end
15
-
16
- Cucumber::Rake::Task.new(:rerun) do |t|
17
- t.cucumber_opts = %w{--tags ~@intentional_failure --format rerun -i -s}
18
- end
19
-
20
- task :default => [:pretty, :html, :progress, :rerun]
@@ -1,28 +0,0 @@
1
- Feature: Login
2
- To ensure the safety of the application
3
- A regular user of the system
4
- Must authenticate before using the app
5
-
6
-
7
- Scenario Outline: Failed Login
8
- Given the user "known_user"
9
-
10
- When I go to the main page
11
- Then I should see the login form
12
-
13
- When I fill in "login" with "<login>"
14
- And I fill in "password" with "<password>"
15
- And I press "Log In"
16
- Then the login request should fail
17
- And I should see the error message "Login or Password incorrect"
18
-
19
- Examples:
20
- | login | password |
21
- | | |
22
- | unknown_user | |
23
- | known_user | |
24
- | | wrong_password |
25
- | | known_userpass |
26
- | unknown_user | wrong_password |
27
- | unknown_user | known_userpass |
28
- | known_user | wrong_password |
@@ -1,28 +0,0 @@
1
- # Users want to know that nobody can masquerade as them. We want to extend trust
2
- # only to visitors who present the appropriate credentials. Everyone wants this
3
- # identity verification to be as secure and convenient as possible.
4
- Feature: Logging in
5
- As an anonymous user with an account
6
- I want to log in to my account
7
- So that I can be myself
8
-
9
- #
10
- # Log in: get form
11
- #
12
- Scenario: Anonymous user can get a login form.
13
- Given I am logged out
14
- When I go to "/login"
15
- Then I should be at the "sessions/new" page
16
-
17
- #
18
- # Log in successfully, but don't remember me
19
- #
20
- Scenario: Anonymous user can log in
21
- Given an "activated" user named "reggie" exists
22
- And I am logged out
23
- When I go to "/login"
24
- And I fill in "Login" with "reggie"
25
- And I fill in "Password" with "password"
26
- And I press "Log in"
27
- Then I should be at the "dashboard/index" page
28
-
@@ -1,20 +0,0 @@
1
- # Visitors may create an account, but for those who are not already in the
2
- # system an someone must activate the account for them before it can be used.
3
- Feature: Activating an account
4
- As a registered, but not yet activated, user
5
- I want to be able to activate my account
6
- So that I can log in to the site
7
-
8
- Scenario: Not-yet-activated user can activate her account
9
- Given a registered user named 'Reggie' # need to rewrite
10
- # And the user has activation_code: 'activate_me', activated_at: nil!
11
- # And we try hard to remember the user's updated_at, and created_at
12
- # When she goes to /activate/activate_me
13
- # Then she should be redirected to 'login'
14
- # When she follows that redirect!
15
- # Then she should see a notice message 'Signup complete!'
16
- # And a user with login: 'reggie' should exist
17
- # And the user should have login: 'reggie', and email: 'registered@example.com'
18
- # And the user's activation_code should be nil
19
- # And the user's activated_at should not be nil
20
- # And she should not be logged in
@@ -1,18 +0,0 @@
1
- Feature: Matt's example with a comment before a step
2
-
3
- Scenario: Upload an image for an artist and create a concert in the process
4
- Given I am logged in to my account
5
- And there is one Artist named "Pixies"
6
- And there is one Venue
7
- When I visit the page for the Artist
8
- And I follow "add a photo"
9
- And I upload an Image
10
- # Search on select concert page
11
- And I press "Search Pixies concerts"
12
- And I follow "Add a new Concert"
13
- And I fill in new Concert information
14
- And I press "Preview"
15
- And I press "Add concert"
16
- # No artists appear in this photo
17
- And I press "Submit"
18
- Then my Concert should exist with 1 Image
@@ -1,7 +0,0 @@
1
- Feature: Cucumber command line
2
- In order to write better software
3
- Developers should be able to execute requirements as tests
4
-
5
-
6
- Scenario: Pending Scenario at the end of a file with whitespace after it
7
-
@@ -1,8 +0,0 @@
1
- Feature: Tagged hooks
2
- In order to provide more flexible setups
3
- I should be able to specify exactly
4
- where hooks are executed
5
-
6
- @i_am_so_special
7
- Scenario: Yes I am
8
- When special me goes to town
@@ -1,14 +0,0 @@
1
- begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
2
-
3
- Before('@i_am_so_special') do
4
- @something_special = 10
5
- end
6
-
7
- After('@i_am_so_special') do
8
- @something_special.should == 20
9
- end
10
-
11
- When /special me goes to town/ do
12
- @something_special.should == 10
13
- @something_special = 20
14
- end
@@ -1,13 +0,0 @@
1
- Feature: Unsubstituted argument placeholder
2
-
3
- Scenario Outline: See Annual Leave Details (as Management & Human Resource)
4
- Given the following users exist in the system
5
- | name | email | role_assignments | group_memberships |
6
- | Jane | jane@fmail.com | <role> | Sales (manager) |
7
- | Max | max@fmail.com | | Sales (member) |
8
- | Carol | carol@fmail.com | | Sales (member) |
9
- | Cat | cat@fmail.com | | |
10
-
11
- Examples:
12
- | role |
13
- | HUMAN RESOURCE |
@@ -1,12 +0,0 @@
1
- # Users want to use cucumber, so tests are necessary to verify
2
- # it is all working as expected
3
- Feature: Using the Console Formatter
4
- In order to verify this error
5
- I want to run this feature using the progress format
6
- So that it can be fixed
7
-
8
- Scenario: A normal feature
9
- Given I have a pending step
10
- When I run this feature with the progress format
11
- Then I should get a no method error for 'backtrace_line'
12
-
@@ -1,4 +0,0 @@
1
- Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/246-distorted-console-output-for-slightly-complicated-step-regexp-match
2
-
3
- Scenario: See "No Record(s) Found" for Zero Existing
4
- Given no public holiday exists in the system
@@ -1,11 +0,0 @@
1
- Feature: pending method causes failure in Scenario Outlines
2
-
3
- Scenario Outline: blah
4
- Given this is pending until we fix it
5
- Given context with <Stuff>
6
- When action
7
- Then outcome with <Blah>
8
-
9
- Examples:
10
- | Stuff | Blah |
11
- | Cheese | Pepper Jack |
@@ -1,14 +0,0 @@
1
- Feature: Background
2
- In for background to work properly
3
- As a user
4
- I want it to run transactionally and only once when I call an individual scenario
5
-
6
- Background:
7
- Given plop
8
-
9
- Scenario: Barping
10
- When I barp
11
-
12
-
13
- Scenario: Wibbling
14
- When I wibble
@@ -1,14 +0,0 @@
1
- begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
2
-
3
- Given /^plop$/ do
4
- raise "Only one plop!" if @plop
5
- @plop = true
6
- end
7
-
8
- When /^I barp$/ do
9
- @plop.should == true
10
- end
11
-
12
- When /^I wibble$/ do
13
- @plop.should == true
14
- end
@@ -1,26 +0,0 @@
1
- @intentional_failure
2
- Feature: Hooks
3
- In order to integrate with my complex environment
4
- I need to check scenario status in an After block
5
-
6
- @272_failed
7
- Scenario: Failed
8
- Given I fail
9
-
10
- @272_undefined
11
- Scenario: Undefined
12
- Given I am undefined
13
-
14
- @272_passed
15
- Scenario: Passed
16
- Given I pass
17
-
18
- @272_outline
19
- Scenario Outline: Should work too
20
- Given <something>
21
-
22
- Examples:
23
- | something |
24
- | I fail |
25
- | I am undefined |
26
- | I pass |
@@ -1,53 +0,0 @@
1
- begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
2
-
3
- Given /^I fail$/ do
4
- raise "BOOM (this is expected)"
5
- end
6
-
7
- Given /^I pass$/ do
8
- end
9
-
10
- module HookChecks
11
- def check_failed(scenario)
12
- scenario.should be_failed
13
- scenario.should_not be_passed
14
- scenario.exception.message.should == "BOOM (this is expected)"
15
- end
16
-
17
- def check_undefined(scenario)
18
- scenario.should_not be_failed
19
- scenario.should_not be_passed
20
- end
21
-
22
- def check_passed(scenario)
23
- scenario.should_not be_failed
24
- scenario.should be_passed
25
- end
26
- end
27
-
28
- World(HookChecks)
29
-
30
- After('@272_failed') do |scenario|
31
- check_failed(scenario)
32
- end
33
-
34
- After('@272_undefined') do |scenario|
35
- check_undefined(scenario)
36
- end
37
-
38
- After('@272_passed') do |scenario|
39
- check_passed(scenario)
40
- end
41
-
42
- counter = 0
43
- After('@272_outline') do |scenario|
44
- case(counter)
45
- when 0
46
- check_failed(scenario)
47
- when 1
48
- check_undefined(scenario)
49
- when 2
50
- check_passed(scenario)
51
- end
52
- counter +=1
53
- end
@@ -1,25 +0,0 @@
1
- Feature: pystring indentaion testcase
2
-
3
- Scenario: example of correct indentation
4
- Given multiline string
5
- """
6
- I'm a cucumber and I'm ok
7
- I sleep all night and test all day
8
- """
9
- Then string is
10
- """
11
- I'm a cucumber and I'm ok
12
- I sleep all night and test all day
13
- """
14
-
15
- Scenario: example of wrong indentation
16
- Given I am in tickets/features/279
17
- When I run cucumber -q wrong.feature_
18
- Then it should fail with
19
- """
20
-
21
- """
22
- And STDERR should match
23
- """
24
- wrong.feature_:8:10: Parse error
25
- """
@@ -1,12 +0,0 @@
1
- begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
2
-
3
- require File.dirname(__FILE__) + '/../../../../features/step_definitions/cucumber_steps.rb'
4
- require File.dirname(__FILE__) + '/../../../../features/support/env.rb'
5
-
6
- Given /^multiline string$/ do |string|
7
- @string = string
8
- end
9
-
10
- Then /^string is$/ do |string|
11
- @string.should == string
12
- end
@@ -1,11 +0,0 @@
1
- Feature: pystring indentaion testcase
2
-
3
- Scenario: example of wrong indentation
4
- Given multiline string
5
-
6
-
7
-
8
- """
9
- I'm a cucumber and I'm ok
10
- I sleep all night and test all day
11
- """
@@ -1,6 +0,0 @@
1
- Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/301
2
- Background: A background
3
- Given whatever
4
-
5
- Scenario: VB is not cool
6
- Then VB should not be cool
@@ -1,12 +0,0 @@
1
- begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
2
-
3
- Before('@nothing_has_this_tag') do
4
- @vb = :cool
5
- end
6
-
7
- Given /^whatever$/ do
8
- end
9
-
10
- Then /^VB should not be cool$/ do
11
- @vb.should_not == :cool
12
- end
@@ -1,4 +0,0 @@
1
- Feature: woo yeah
2
-
3
- Background:
4
- Given passing step without a table
@@ -1,6 +0,0 @@
1
- Feature: Be fast
2
-
3
- @fast
4
- Scenario: Fail if too slow
5
- # This will start failing if we change the number above 0.5
6
- When I take 0.2 seconds to complete
@@ -1,12 +0,0 @@
1
- Feature:
2
- @wip
3
- Scenario Outline:
4
- When blah
5
-
6
- Examples:
7
- | a |
8
- | b |
9
- | c |
10
-
11
- Scenario:
12
- When blah
@@ -1,4 +0,0 @@
1
- Feature:
2
- Scenario:
3
- Given I call empty steps
4
-
@@ -1,11 +0,0 @@
1
- @ask
2
- Feature: Half manual
3
- In order to speed up manual tests
4
- Testers should at least be able to automate parts of it
5
-
6
- Scenario: Check mailbox
7
- Given I have signed up on the web
8
- When I check my mailbox
9
- Then I should have an email containing "cukes"
10
-
11
-
@@ -1,18 +0,0 @@
1
- class EattingMachine
2
-
3
- attr_reader :fruit_total, :belly_count
4
- attr_accessor :belly_count
5
-
6
- def initialize(fruit_name, fruit_total)
7
- @fruit_name = fruit_name
8
- @fruit_total = fruit_total.to_i
9
- @belly_count = 0
10
- end
11
-
12
- def eat(count)
13
- count = count.to_i
14
- @fruit_total = @fruit_total - count
15
- @belly_count += count
16
- end
17
-
18
- end