jwilger-cucumber 0.3.11.200906161550

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 (411) hide show
  1. data/History.txt +830 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +410 -0
  4. data/README.txt +4 -0
  5. data/Rakefile +9 -0
  6. data/bin/cucumber +17 -0
  7. data/config/hoe.rb +76 -0
  8. data/config/requirements.rb +15 -0
  9. data/cucumber.yml +2 -0
  10. data/examples/cs/README.textile +1 -0
  11. data/examples/cs/Rakefile +12 -0
  12. data/examples/cs/compile.bat +1 -0
  13. data/examples/cs/features/addition.feature +16 -0
  14. data/examples/cs/features/step_definitons/calculator_steps.rb +19 -0
  15. data/examples/cs/src/demo/Calculator.cs +20 -0
  16. data/examples/dos_line_endings/Rakefile +6 -0
  17. data/examples/dos_line_endings/features/dos_line_endings.feature +9 -0
  18. data/examples/i18n/README.textile +18 -0
  19. data/examples/i18n/Rakefile +30 -0
  20. data/examples/i18n/ar/Rakefile +6 -0
  21. data/examples/i18n/ar/features/addition.feature +17 -0
  22. data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +24 -0
  23. data/examples/i18n/ar/lib/calculator.rb +11 -0
  24. data/examples/i18n/bg/Rakefile +6 -0
  25. data/examples/i18n/bg/features/addition.feature +12 -0
  26. data/examples/i18n/bg/features/consecutive_calculations.feature +19 -0
  27. data/examples/i18n/bg/features/division.feature +17 -0
  28. data/examples/i18n/bg/features/step_definitons/calculator_steps.rb +24 -0
  29. data/examples/i18n/bg/features/support/env.rb +6 -0
  30. data/examples/i18n/bg/features/support/world.rb +8 -0
  31. data/examples/i18n/bg/lib/calculator.rb +24 -0
  32. data/examples/i18n/cat/Rakefile +6 -0
  33. data/examples/i18n/cat/features/step_definitons/calculator_steps.rb +21 -0
  34. data/examples/i18n/cat/features/suma.feature +17 -0
  35. data/examples/i18n/cat/lib/calculadora.rb +16 -0
  36. data/examples/i18n/da/Rakefile +6 -0
  37. data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +24 -0
  38. data/examples/i18n/da/features/summering.feature +18 -0
  39. data/examples/i18n/da/lib/kalkulator.rb +11 -0
  40. data/examples/i18n/de/Rakefile +6 -0
  41. data/examples/i18n/de/features/addition.feature +17 -0
  42. data/examples/i18n/de/features/division.feature +10 -0
  43. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +24 -0
  44. data/examples/i18n/de/lib/calculator.rb +14 -0
  45. data/examples/i18n/en/Rakefile +6 -0
  46. data/examples/i18n/en/features/addition.feature +17 -0
  47. data/examples/i18n/en/features/division.feature +10 -0
  48. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +24 -0
  49. data/examples/i18n/en/lib/calculator.rb +14 -0
  50. data/examples/i18n/en-lol/Rakefile +6 -0
  51. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
  52. data/examples/i18n/en-lol/features/stuffing.feature +8 -0
  53. data/examples/i18n/en-lol/features/support/env.rb +8 -0
  54. data/examples/i18n/en-lol/lib/basket.rb +12 -0
  55. data/examples/i18n/en-lol/lib/belly.rb +11 -0
  56. data/examples/i18n/es/Rakefile +6 -0
  57. data/examples/i18n/es/features/adicion.feature +17 -0
  58. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +21 -0
  59. data/examples/i18n/es/lib/calculador.rb +14 -0
  60. data/examples/i18n/et/Rakefile +6 -0
  61. data/examples/i18n/et/features/jagamine.feature +10 -0
  62. data/examples/i18n/et/features/liitmine.feature +17 -0
  63. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +24 -0
  64. data/examples/i18n/et/lib/kalkulaator.rb +14 -0
  65. data/examples/i18n/fi/Rakefile +6 -0
  66. data/examples/i18n/fi/features/jakolasku.feature +10 -0
  67. data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +24 -0
  68. data/examples/i18n/fi/features/yhteenlasku.feature +16 -0
  69. data/examples/i18n/fi/lib/laskin.rb +14 -0
  70. data/examples/i18n/fr/Rakefile +6 -0
  71. data/examples/i18n/fr/features/addition.feature +18 -0
  72. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +25 -0
  73. data/examples/i18n/fr/lib/calculatrice.rb +10 -0
  74. data/examples/i18n/he/Rakefile +6 -0
  75. data/examples/i18n/he/features/addition.feature +17 -0
  76. data/examples/i18n/he/features/division.feature +10 -0
  77. data/examples/i18n/he/features/step_definitons/calculator_steps.rb +24 -0
  78. data/examples/i18n/he/lib/calculator.rb +14 -0
  79. data/examples/i18n/hu/Rakefile +6 -0
  80. data/examples/i18n/hu/features/addition.feature +17 -0
  81. data/examples/i18n/hu/features/division.feature +10 -0
  82. data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +25 -0
  83. data/examples/i18n/hu/lib/calculator.rb +14 -0
  84. data/examples/i18n/id/Rakefile +6 -0
  85. data/examples/i18n/id/features/addition.feature +17 -0
  86. data/examples/i18n/id/features/division.feature +10 -0
  87. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +24 -0
  88. data/examples/i18n/id/lib/calculator.rb +14 -0
  89. data/examples/i18n/it/Rakefile +6 -0
  90. data/examples/i18n/it/features/somma.feature +11 -0
  91. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +24 -0
  92. data/examples/i18n/it/lib/calcolatrice.rb +11 -0
  93. data/examples/i18n/ja/Rakefile +6 -0
  94. data/examples/i18n/ja/features/addition.feature +17 -0
  95. data/examples/i18n/ja/features/division.feature +10 -0
  96. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +24 -0
  97. data/examples/i18n/ja/lib/calculator.rb +14 -0
  98. data/examples/i18n/ko/Rakefile +6 -0
  99. data/examples/i18n/ko/features/addition.feature +17 -0
  100. data/examples/i18n/ko/features/division.feature +11 -0
  101. data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +24 -0
  102. data/examples/i18n/ko/lib/calculator.rb +14 -0
  103. data/examples/i18n/lt/Rakefile +6 -0
  104. data/examples/i18n/lt/features/addition.feature +17 -0
  105. data/examples/i18n/lt/features/division.feature +10 -0
  106. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +24 -0
  107. data/examples/i18n/lt/lib/calculator.rb +14 -0
  108. data/examples/i18n/lv/Rakefile +6 -0
  109. data/examples/i18n/lv/features/addition.feature +17 -0
  110. data/examples/i18n/lv/features/division.feature +10 -0
  111. data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +24 -0
  112. data/examples/i18n/lv/lib/calculator.rb +14 -0
  113. data/examples/i18n/no/Rakefile +6 -0
  114. data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +17 -0
  115. data/examples/i18n/no/features/summering.feature +19 -0
  116. data/examples/i18n/no/features/support/env.rb +6 -0
  117. data/examples/i18n/no/lib/kalkulator.rb +11 -0
  118. data/examples/i18n/pl/Rakefile +6 -0
  119. data/examples/i18n/pl/features/addition.feature +17 -0
  120. data/examples/i18n/pl/features/division.feature +10 -0
  121. data/examples/i18n/pl/features/step_definitons/calculator_steps.rb +24 -0
  122. data/examples/i18n/pl/features/support/env.rb +6 -0
  123. data/examples/i18n/pl/lib/calculator.rb +14 -0
  124. data/examples/i18n/pt/Rakefile +6 -0
  125. data/examples/i18n/pt/features/adicao.feature +11 -0
  126. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +20 -0
  127. data/examples/i18n/pt/features/support/env.rb +6 -0
  128. data/examples/i18n/pt/lib/calculadora.rb +10 -0
  129. data/examples/i18n/ro/Rakefile +6 -0
  130. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +24 -0
  131. data/examples/i18n/ro/features/suma.feature +11 -0
  132. data/examples/i18n/ro/lib/calculator.rb +11 -0
  133. data/examples/i18n/ru/Rakefile +6 -0
  134. data/examples/i18n/ru/features/addition.feature +11 -0
  135. data/examples/i18n/ru/features/consecutive_calculations.feature +17 -0
  136. data/examples/i18n/ru/features/division.feature +16 -0
  137. data/examples/i18n/ru/features/step_definitons/calculator_steps.rb +19 -0
  138. data/examples/i18n/ru/features/support/env.rb +6 -0
  139. data/examples/i18n/ru/features/support/world.rb +8 -0
  140. data/examples/i18n/ru/lib/calculator.rb +24 -0
  141. data/examples/i18n/se/Rakefile +6 -0
  142. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +24 -0
  143. data/examples/i18n/se/features/summering.feature +18 -0
  144. data/examples/i18n/se/lib/kalkulator.rb +11 -0
  145. data/examples/i18n/sk/Rakefile +6 -0
  146. data/examples/i18n/sk/features/addition.feature +17 -0
  147. data/examples/i18n/sk/features/division.feature +10 -0
  148. data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +24 -0
  149. data/examples/i18n/sk/lib/calculator.rb +14 -0
  150. data/examples/i18n/zh-CN/Rakefile +6 -0
  151. data/examples/i18n/zh-CN/features/addition.feature +18 -0
  152. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +26 -0
  153. data/examples/i18n/zh-CN/lib/calculator.rb +10 -0
  154. data/examples/i18n/zh-TW/Rakefile +6 -0
  155. data/examples/i18n/zh-TW/features/addition.feature +17 -0
  156. data/examples/i18n/zh-TW/features/division.feature +11 -0
  157. data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +24 -0
  158. data/examples/i18n/zh-TW/lib/calculator.rb +14 -0
  159. data/examples/java/README.textile +18 -0
  160. data/examples/java/build.xml +33 -0
  161. data/examples/java/features/hello.feature +11 -0
  162. data/examples/java/features/step_definitons/hello_steps.rb +23 -0
  163. data/examples/java/features/step_definitons/tree_steps.rb +14 -0
  164. data/examples/java/features/tree.feature +9 -0
  165. data/examples/java/src/cucumber/demo/Hello.java +16 -0
  166. data/examples/junit/features/one_passing_one_failing.feature +8 -0
  167. data/examples/junit/features/pending.feature +5 -0
  168. data/examples/junit/features/step_definitions/steps.rb +11 -0
  169. data/examples/pure_java/README.textile +5 -0
  170. data/examples/selenium/Rakefile +6 -0
  171. data/examples/selenium/features/search.feature +9 -0
  172. data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
  173. data/examples/selenium/features/support/env.rb +19 -0
  174. data/examples/selenium_webrat/Rakefile +6 -0
  175. data/examples/selenium_webrat/config.ru +0 -0
  176. data/examples/selenium_webrat/features/search.feature +9 -0
  177. data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
  178. data/examples/selenium_webrat/features/support/env.rb +45 -0
  179. data/examples/self_test/README.textile +6 -0
  180. data/examples/self_test/Rakefile +6 -0
  181. data/examples/self_test/features/background/background_tagged_before_on_outline.feature +12 -0
  182. data/examples/self_test/features/background/background_with_name.feature +7 -0
  183. data/examples/self_test/features/background/failing_background.feature +12 -0
  184. data/examples/self_test/features/background/failing_background_after_success.feature +11 -0
  185. data/examples/self_test/features/background/multiline_args_background.feature +32 -0
  186. data/examples/self_test/features/background/passing_background.feature +10 -0
  187. data/examples/self_test/features/background/pending_background.feature +10 -0
  188. data/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
  189. data/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
  190. data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
  191. data/examples/self_test/features/failing_expectation.feature +4 -0
  192. data/examples/self_test/features/lots_of_undefined.feature +8 -0
  193. data/examples/self_test/features/multiline_name.feature +27 -0
  194. data/examples/self_test/features/outline_sample.feature +15 -0
  195. data/examples/self_test/features/sample.feature +21 -0
  196. data/examples/self_test/features/search_sample.feature +32 -0
  197. data/examples/self_test/features/step_definitions/sample_steps.rb +81 -0
  198. data/examples/self_test/features/support/env.rb +17 -0
  199. data/examples/self_test/features/tons_of_cukes.feature +52 -0
  200. data/examples/self_test/features/undefined_multiline_args.feature +12 -0
  201. data/examples/sinatra/Rakefile +6 -0
  202. data/examples/sinatra/app.rb +14 -0
  203. data/examples/sinatra/features/add.feature +11 -0
  204. data/examples/sinatra/features/step_definitions/add_steps.rb +15 -0
  205. data/examples/sinatra/features/support/env.rb +28 -0
  206. data/examples/sinatra/views/add.erb +5 -0
  207. data/examples/sinatra/views/layout.erb +8 -0
  208. data/examples/steps_library/features/step_definitions/steps_lib1.rb +8 -0
  209. data/examples/steps_library/features/step_definitions/steps_lib2.rb +8 -0
  210. data/examples/test_unit/Rakefile +6 -0
  211. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +23 -0
  212. data/examples/test_unit/features/test_unit.feature +9 -0
  213. data/examples/tickets/Rakefile +16 -0
  214. data/examples/tickets/features/172.feature +28 -0
  215. data/examples/tickets/features/177/1.feature +29 -0
  216. data/examples/tickets/features/177/2.feature +21 -0
  217. data/examples/tickets/features/177/3.feature +18 -0
  218. data/examples/tickets/features/180.feature +7 -0
  219. data/examples/tickets/features/229/tagged_hooks.feature +8 -0
  220. data/examples/tickets/features/229/tagged_hooks.rb +14 -0
  221. data/examples/tickets/features/236.feature +13 -0
  222. data/examples/tickets/features/241.feature +13 -0
  223. data/examples/tickets/features/246.feature +4 -0
  224. data/examples/tickets/features/248.feature +11 -0
  225. data/examples/tickets/features/270/back.feature +14 -0
  226. data/examples/tickets/features/270/back.steps.rb +14 -0
  227. data/examples/tickets/features/272/hooks.feature +26 -0
  228. data/examples/tickets/features/272/hooks_steps.rb +53 -0
  229. data/examples/tickets/features/279/py_string_indent.feature +25 -0
  230. data/examples/tickets/features/279/py_string_indent.steps.rb +12 -0
  231. data/examples/tickets/features/279/wrong.feature_ +11 -0
  232. data/examples/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
  233. data/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
  234. data/examples/tickets/features/306/only_background.feature +4 -0
  235. data/examples/tickets/features/lib/eatting_machine.rb +18 -0
  236. data/examples/tickets/features/lib/pantry.rb +20 -0
  237. data/examples/tickets/features/scenario_outline.feature +95 -0
  238. data/examples/tickets/features/step_definitons/246_steps.rb +3 -0
  239. data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
  240. data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
  241. data/examples/tickets/features/step_definitons/tickets_steps.rb +66 -0
  242. data/examples/tickets/features/tickets.feature +28 -0
  243. data/examples/watir/README.textile +16 -0
  244. data/examples/watir/Rakefile +6 -0
  245. data/examples/watir/features/search.feature +12 -0
  246. data/examples/watir/features/step_definitons/search_steps.rb +22 -0
  247. data/examples/watir/features/support/env.rb +32 -0
  248. data/features/after_block_exceptions.feature +102 -0
  249. data/features/after_step_block_exceptions.feature +104 -0
  250. data/features/background.feature +311 -0
  251. data/features/bug_371.feature +32 -0
  252. data/features/cucumber_cli.feature +549 -0
  253. data/features/cucumber_cli_diff_disabled.feature +53 -0
  254. data/features/cucumber_cli_outlines.feature +109 -0
  255. data/features/custom_formatter.feature +11 -0
  256. data/features/drb_server_integration.feature +115 -0
  257. data/features/exclude_files.feature +20 -0
  258. data/features/expand.feature +49 -0
  259. data/features/html_formatter/a.html +185 -0
  260. data/features/html_formatter.feature +7 -0
  261. data/features/junit_formatter.feature +71 -0
  262. data/features/language_from_header.feature +30 -0
  263. data/features/multiline_names.feature +43 -0
  264. data/features/rake_task.feature +150 -0
  265. data/features/report_called_undefined_steps.feature +35 -0
  266. data/features/snippet.feature +22 -0
  267. data/features/step_definitions/cucumber_steps.rb +130 -0
  268. data/features/step_definitions/extra_steps.rb +2 -0
  269. data/features/steps_formatter.feature +25 -0
  270. data/features/support/env.rb +120 -0
  271. data/features/usage.feature +126 -0
  272. data/features/work_in_progress.feature +151 -0
  273. data/gem_tasks/deployment.rake +11 -0
  274. data/gem_tasks/environment.rake +7 -0
  275. data/gem_tasks/features.rake +10 -0
  276. data/gem_tasks/fix_cr_lf.rake +10 -0
  277. data/gem_tasks/flog.rake +4 -0
  278. data/gem_tasks/gemspec.rake +10 -0
  279. data/gem_tasks/rspec.rake +45 -0
  280. data/gem_tasks/sass.rake +4 -0
  281. data/gem_tasks/yard.rake +8 -0
  282. data/lib/autotest/cucumber.rb +6 -0
  283. data/lib/autotest/cucumber_mixin.rb +125 -0
  284. data/lib/autotest/cucumber_rails.rb +6 -0
  285. data/lib/autotest/cucumber_rails_rspec.rb +6 -0
  286. data/lib/autotest/cucumber_rspec.rb +6 -0
  287. data/lib/autotest/discover.rb +9 -0
  288. data/lib/cucumber/ast/background.rb +62 -0
  289. data/lib/cucumber/ast/comment.rb +30 -0
  290. data/lib/cucumber/ast/examples.rb +26 -0
  291. data/lib/cucumber/ast/feature.rb +58 -0
  292. data/lib/cucumber/ast/feature_element.rb +57 -0
  293. data/lib/cucumber/ast/features.rb +30 -0
  294. data/lib/cucumber/ast/outline_table.rb +143 -0
  295. data/lib/cucumber/ast/py_string.rb +57 -0
  296. data/lib/cucumber/ast/scenario.rb +83 -0
  297. data/lib/cucumber/ast/scenario_outline.rb +93 -0
  298. data/lib/cucumber/ast/step.rb +112 -0
  299. data/lib/cucumber/ast/step_collection.rb +75 -0
  300. data/lib/cucumber/ast/step_invocation.rb +136 -0
  301. data/lib/cucumber/ast/table.rb +334 -0
  302. data/lib/cucumber/ast/tags.rb +33 -0
  303. data/lib/cucumber/ast/visitor.rb +116 -0
  304. data/lib/cucumber/ast.rb +29 -0
  305. data/lib/cucumber/broadcaster.rb +13 -0
  306. data/lib/cucumber/cli/configuration.rb +427 -0
  307. data/lib/cucumber/cli/drb_client.rb +20 -0
  308. data/lib/cucumber/cli/language_help_formatter.rb +59 -0
  309. data/lib/cucumber/cli/main.rb +136 -0
  310. data/lib/cucumber/core_ext/exception.rb +53 -0
  311. data/lib/cucumber/core_ext/instance_exec.rb +67 -0
  312. data/lib/cucumber/core_ext/proc.rb +29 -0
  313. data/lib/cucumber/core_ext/string.rb +48 -0
  314. data/lib/cucumber/feature_file.rb +47 -0
  315. data/lib/cucumber/filter.rb +50 -0
  316. data/lib/cucumber/formatter/ansicolor.rb +110 -0
  317. data/lib/cucumber/formatter/color_io.rb +23 -0
  318. data/lib/cucumber/formatter/console.rb +149 -0
  319. data/lib/cucumber/formatter/cucumber.css +132 -0
  320. data/lib/cucumber/formatter/cucumber.sass +139 -0
  321. data/lib/cucumber/formatter/duration.rb +10 -0
  322. data/lib/cucumber/formatter/html.rb +258 -0
  323. data/lib/cucumber/formatter/junit.rb +75 -0
  324. data/lib/cucumber/formatter/pretty.rb +188 -0
  325. data/lib/cucumber/formatter/profile.rb +77 -0
  326. data/lib/cucumber/formatter/progress.rb +60 -0
  327. data/lib/cucumber/formatter/rerun.rb +44 -0
  328. data/lib/cucumber/formatter/steps.rb +49 -0
  329. data/lib/cucumber/formatter/tag_cloud.rb +28 -0
  330. data/lib/cucumber/formatter/unicode.rb +35 -0
  331. data/lib/cucumber/formatter/usage.rb +85 -0
  332. data/lib/cucumber/formatters/unicode.rb +7 -0
  333. data/lib/cucumber/languages.yml +532 -0
  334. data/lib/cucumber/parser/feature.rb +1787 -0
  335. data/lib/cucumber/parser/feature.tt +324 -0
  336. data/lib/cucumber/parser/i18n/language.rb +80 -0
  337. data/lib/cucumber/parser/i18n.tt +42 -0
  338. data/lib/cucumber/parser/table.rb +414 -0
  339. data/lib/cucumber/parser/table.tt +71 -0
  340. data/lib/cucumber/parser/treetop_ext.rb +52 -0
  341. data/lib/cucumber/parser.rb +6 -0
  342. data/lib/cucumber/platform.rb +23 -0
  343. data/lib/cucumber/rails/rspec.rb +10 -0
  344. data/lib/cucumber/rails/world.rb +99 -0
  345. data/lib/cucumber/rake/task.rb +233 -0
  346. data/lib/cucumber/rspec_neuter.rb +23 -0
  347. data/lib/cucumber/step_definition.rb +122 -0
  348. data/lib/cucumber/step_match.rb +61 -0
  349. data/lib/cucumber/step_mother.rb +362 -0
  350. data/lib/cucumber/version.rb +10 -0
  351. data/lib/cucumber/world.rb +53 -0
  352. data/lib/cucumber.rb +11 -0
  353. data/rails_generators/cucumber/USAGE +11 -0
  354. data/rails_generators/cucumber/cucumber_generator.rb +66 -0
  355. data/rails_generators/cucumber/templates/cucumber +8 -0
  356. data/rails_generators/cucumber/templates/cucumber.rake +20 -0
  357. data/rails_generators/cucumber/templates/cucumber_environment.rb +23 -0
  358. data/rails_generators/cucumber/templates/env.rb +26 -0
  359. data/rails_generators/cucumber/templates/paths.rb +27 -0
  360. data/rails_generators/cucumber/templates/spork_env.rb +36 -0
  361. data/rails_generators/cucumber/templates/webrat_steps.rb +147 -0
  362. data/rails_generators/feature/USAGE +12 -0
  363. data/rails_generators/feature/feature_generator.rb +40 -0
  364. data/rails_generators/feature/templates/feature.erb +31 -0
  365. data/rails_generators/feature/templates/steps.erb +20 -0
  366. data/spec/cucumber/ast/background_spec.rb +50 -0
  367. data/spec/cucumber/ast/feature_element_spec.rb +40 -0
  368. data/spec/cucumber/ast/feature_factory.rb +63 -0
  369. data/spec/cucumber/ast/feature_spec.rb +38 -0
  370. data/spec/cucumber/ast/py_string_spec.rb +51 -0
  371. data/spec/cucumber/ast/scenario_outline_spec.rb +67 -0
  372. data/spec/cucumber/ast/scenario_spec.rb +38 -0
  373. data/spec/cucumber/ast/step_collection_spec.rb +17 -0
  374. data/spec/cucumber/ast/step_spec.rb +66 -0
  375. data/spec/cucumber/ast/table_spec.rb +186 -0
  376. data/spec/cucumber/ast/visitor_spec.rb +27 -0
  377. data/spec/cucumber/broadcaster_spec.rb +15 -0
  378. data/spec/cucumber/cli/configuration_spec.rb +396 -0
  379. data/spec/cucumber/cli/drb_client_spec.rb +43 -0
  380. data/spec/cucumber/cli/main_spec.rb +140 -0
  381. data/spec/cucumber/core_ext/proc_spec.rb +54 -0
  382. data/spec/cucumber/core_ext/string_spec.rb +42 -0
  383. data/spec/cucumber/formatter/ansicolor_spec.rb +35 -0
  384. data/spec/cucumber/formatter/color_io_spec.rb +27 -0
  385. data/spec/cucumber/formatter/duration_spec.rb +22 -0
  386. data/spec/cucumber/formatter/progress_spec.rb +36 -0
  387. data/spec/cucumber/parser/feature_parser_spec.rb +387 -0
  388. data/spec/cucumber/parser/table_parser_spec.rb +48 -0
  389. data/spec/cucumber/rails/stubs/mini_rails.rb +18 -0
  390. data/spec/cucumber/rails/stubs/test_help.rb +1 -0
  391. data/spec/cucumber/rails/world_spec.rb +11 -0
  392. data/spec/cucumber/sell_cucumbers.feature +19 -0
  393. data/spec/cucumber/step_definition_spec.rb +101 -0
  394. data/spec/cucumber/step_mother_spec.rb +155 -0
  395. data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
  396. data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
  397. data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
  398. data/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
  399. data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
  400. data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
  401. data/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
  402. data/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
  403. data/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
  404. data/spec/cucumber/treetop_parser/spaces.feature +12 -0
  405. data/spec/cucumber/treetop_parser/test_dos.feature +25 -0
  406. data/spec/cucumber/treetop_parser/with_comments.feature +10 -0
  407. data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
  408. data/spec/cucumber/world/pending_spec.rb +47 -0
  409. data/spec/spec.opts +2 -0
  410. data/spec/spec_helper.rb +13 -0
  411. metadata +506 -0
data/License.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2008,2009 Aslak Hellesøy
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest.txt ADDED
@@ -0,0 +1,410 @@
1
+ History.txt
2
+ License.txt
3
+ Manifest.txt
4
+ README.txt
5
+ Rakefile
6
+ bin/cucumber
7
+ config/hoe.rb
8
+ config/requirements.rb
9
+ cucumber.yml
10
+ examples/cs/README.textile
11
+ examples/cs/Rakefile
12
+ examples/cs/compile.bat
13
+ examples/cs/features/addition.feature
14
+ examples/cs/features/step_definitons/calculator_steps.rb
15
+ examples/cs/src/demo/Calculator.cs
16
+ examples/dos_line_endings/Rakefile
17
+ examples/dos_line_endings/features/dos_line_endings.feature
18
+ examples/i18n/README.textile
19
+ examples/i18n/Rakefile
20
+ examples/i18n/ar/Rakefile
21
+ examples/i18n/ar/features/addition.feature
22
+ examples/i18n/ar/features/step_definitons/calculator_steps.rb
23
+ examples/i18n/ar/lib/calculator.rb
24
+ examples/i18n/bg/Rakefile
25
+ examples/i18n/bg/features/addition.feature
26
+ examples/i18n/bg/features/consecutive_calculations.feature
27
+ examples/i18n/bg/features/division.feature
28
+ examples/i18n/bg/features/step_definitons/calculator_steps.rb
29
+ examples/i18n/bg/features/support/env.rb
30
+ examples/i18n/bg/features/support/world.rb
31
+ examples/i18n/bg/lib/calculator.rb
32
+ examples/i18n/cat/Rakefile
33
+ examples/i18n/cat/features/step_definitons/calculator_steps.rb
34
+ examples/i18n/cat/features/suma.feature
35
+ examples/i18n/cat/lib/calculadora.rb
36
+ examples/i18n/da/Rakefile
37
+ examples/i18n/da/features/step_definitons/kalkulator_steps.rb
38
+ examples/i18n/da/features/summering.feature
39
+ examples/i18n/da/lib/kalkulator.rb
40
+ examples/i18n/de/Rakefile
41
+ examples/i18n/de/features/addition.feature
42
+ examples/i18n/de/features/division.feature
43
+ examples/i18n/de/features/step_definitons/calculator_steps.rb
44
+ examples/i18n/de/lib/calculator.rb
45
+ examples/i18n/en-lol/Rakefile
46
+ examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb
47
+ examples/i18n/en-lol/features/stuffing.feature
48
+ examples/i18n/en-lol/features/support/env.rb
49
+ examples/i18n/en-lol/lib/basket.rb
50
+ examples/i18n/en-lol/lib/belly.rb
51
+ examples/i18n/en/Rakefile
52
+ examples/i18n/en/features/addition.feature
53
+ examples/i18n/en/features/division.feature
54
+ examples/i18n/en/features/step_definitons/calculator_steps.rb
55
+ examples/i18n/en/lib/calculator.rb
56
+ examples/i18n/es/Rakefile
57
+ examples/i18n/es/features/adicion.feature
58
+ examples/i18n/es/features/step_definitons/calculador_steps.rb
59
+ examples/i18n/es/lib/calculador.rb
60
+ examples/i18n/et/Rakefile
61
+ examples/i18n/et/features/jagamine.feature
62
+ examples/i18n/et/features/liitmine.feature
63
+ examples/i18n/et/features/step_definitions/kalkulaator_steps.rb
64
+ examples/i18n/et/lib/kalkulaator.rb
65
+ examples/i18n/fi/Rakefile
66
+ examples/i18n/fi/features/jakolasku.feature
67
+ examples/i18n/fi/features/step_definitons/laskin_steps.rb
68
+ examples/i18n/fi/features/yhteenlasku.feature
69
+ examples/i18n/fi/lib/laskin.rb
70
+ examples/i18n/fr/Rakefile
71
+ examples/i18n/fr/features/addition.feature
72
+ examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
73
+ examples/i18n/fr/lib/calculatrice.rb
74
+ examples/i18n/he/Rakefile
75
+ examples/i18n/he/features/addition.feature
76
+ examples/i18n/he/features/division.feature
77
+ examples/i18n/he/features/step_definitons/calculator_steps.rb
78
+ examples/i18n/he/lib/calculator.rb
79
+ examples/i18n/hu/Rakefile
80
+ examples/i18n/hu/features/addition.feature
81
+ examples/i18n/hu/features/division.feature
82
+ examples/i18n/hu/features/step_definitons/calculator_steps.rb
83
+ examples/i18n/hu/lib/calculator.rb
84
+ examples/i18n/id/Rakefile
85
+ examples/i18n/id/features/addition.feature
86
+ examples/i18n/id/features/division.feature
87
+ examples/i18n/id/features/step_definitons/calculator_steps.rb
88
+ examples/i18n/id/lib/calculator.rb
89
+ examples/i18n/it/Rakefile
90
+ examples/i18n/it/features/somma.feature
91
+ examples/i18n/it/features/step_definitons/calcolatrice_steps.rb
92
+ examples/i18n/it/lib/calcolatrice.rb
93
+ examples/i18n/ja/Rakefile
94
+ examples/i18n/ja/features/addition.feature
95
+ examples/i18n/ja/features/division.feature
96
+ examples/i18n/ja/features/step_definitons/calculator_steps.rb
97
+ examples/i18n/ja/lib/calculator.rb
98
+ examples/i18n/ko/Rakefile
99
+ examples/i18n/ko/features/addition.feature
100
+ examples/i18n/ko/features/division.feature
101
+ examples/i18n/ko/features/step_definitons/calculator_steps.rb
102
+ examples/i18n/ko/lib/calculator.rb
103
+ examples/i18n/lt/Rakefile
104
+ examples/i18n/lt/features/addition.feature
105
+ examples/i18n/lt/features/division.feature
106
+ examples/i18n/lt/features/step_definitons/calculator_steps.rb
107
+ examples/i18n/lt/lib/calculator.rb
108
+ examples/i18n/lv/Rakefile
109
+ examples/i18n/lv/features/addition.feature
110
+ examples/i18n/lv/features/division.feature
111
+ examples/i18n/lv/features/step_definitons/calculator_steps.rb
112
+ examples/i18n/lv/lib/calculator.rb
113
+ examples/i18n/no/Rakefile
114
+ examples/i18n/no/features/step_definitons/kalkulator_steps.rb
115
+ examples/i18n/no/features/summering.feature
116
+ examples/i18n/no/features/support/env.rb
117
+ examples/i18n/no/lib/kalkulator.rb
118
+ examples/i18n/pl/Rakefile
119
+ examples/i18n/pl/features/addition.feature
120
+ examples/i18n/pl/features/division.feature
121
+ examples/i18n/pl/features/step_definitons/calculator_steps.rb
122
+ examples/i18n/pl/features/support/env.rb
123
+ examples/i18n/pl/lib/calculator.rb
124
+ examples/i18n/pt/Rakefile
125
+ examples/i18n/pt/features/adicao.feature
126
+ examples/i18n/pt/features/step_definitions/calculadora_steps.rb
127
+ examples/i18n/pt/features/support/env.rb
128
+ examples/i18n/pt/lib/calculadora.rb
129
+ examples/i18n/ro/Rakefile
130
+ examples/i18n/ro/features/step_definitons/calculator_steps.rb
131
+ examples/i18n/ro/features/suma.feature
132
+ examples/i18n/ro/lib/calculator.rb
133
+ examples/i18n/ru/Rakefile
134
+ examples/i18n/ru/features/addition.feature
135
+ examples/i18n/ru/features/consecutive_calculations.feature
136
+ examples/i18n/ru/features/division.feature
137
+ examples/i18n/ru/features/step_definitons/calculator_steps.rb
138
+ examples/i18n/ru/features/support/env.rb
139
+ examples/i18n/ru/features/support/world.rb
140
+ examples/i18n/ru/lib/calculator.rb
141
+ examples/i18n/se/Rakefile
142
+ examples/i18n/se/features/step_definitons/kalkulator_steps.rb
143
+ examples/i18n/se/features/summering.feature
144
+ examples/i18n/se/lib/kalkulator.rb
145
+ examples/i18n/sk/Rakefile
146
+ examples/i18n/sk/features/addition.feature
147
+ examples/i18n/sk/features/division.feature
148
+ examples/i18n/sk/features/step_definitons/calculator_steps.rb
149
+ examples/i18n/sk/lib/calculator.rb
150
+ examples/i18n/zh-CN/Rakefile
151
+ examples/i18n/zh-CN/features/addition.feature
152
+ examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb
153
+ examples/i18n/zh-CN/lib/calculator.rb
154
+ examples/i18n/zh-TW/Rakefile
155
+ examples/i18n/zh-TW/features/addition.feature
156
+ examples/i18n/zh-TW/features/division.feature
157
+ examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
158
+ examples/i18n/zh-TW/lib/calculator.rb
159
+ examples/java/README.textile
160
+ examples/java/build.xml
161
+ examples/java/features/hello.feature
162
+ examples/java/features/step_definitons/hello_steps.rb
163
+ examples/java/features/step_definitons/tree_steps.rb
164
+ examples/java/features/tree.feature
165
+ examples/java/src/cucumber/demo/Hello.java
166
+ examples/junit/features/one_passing_one_failing.feature
167
+ examples/junit/features/pending.feature
168
+ examples/junit/features/step_definitions/steps.rb
169
+ examples/pure_java/README.textile
170
+ examples/selenium/Rakefile
171
+ examples/selenium/features/search.feature
172
+ examples/selenium/features/step_definitons/search_steps.rb
173
+ examples/selenium/features/support/env.rb
174
+ examples/selenium_webrat/Rakefile
175
+ examples/selenium_webrat/config.ru
176
+ examples/selenium_webrat/features/search.feature
177
+ examples/selenium_webrat/features/step_definitons/search_steps.rb
178
+ examples/selenium_webrat/features/support/env.rb
179
+ examples/self_test/README.textile
180
+ examples/self_test/Rakefile
181
+ examples/self_test/features/background/background_tagged_before_on_outline.feature
182
+ examples/self_test/features/background/background_with_name.feature
183
+ examples/self_test/features/background/failing_background.feature
184
+ examples/self_test/features/background/failing_background_after_success.feature
185
+ examples/self_test/features/background/multiline_args_background.feature
186
+ examples/self_test/features/background/passing_background.feature
187
+ examples/self_test/features/background/pending_background.feature
188
+ examples/self_test/features/background/scenario_outline_failing_background.feature
189
+ examples/self_test/features/background/scenario_outline_passing_background.feature
190
+ examples/self_test/features/call_undefined_step_from_step_def.feature
191
+ examples/self_test/features/failing_expectation.feature
192
+ examples/self_test/features/lots_of_undefined.feature
193
+ examples/self_test/features/multiline_name.feature
194
+ examples/self_test/features/outline_sample.feature
195
+ examples/self_test/features/sample.feature
196
+ examples/self_test/features/search_sample.feature
197
+ examples/self_test/features/step_definitions/sample_steps.rb
198
+ examples/self_test/features/support/env.rb
199
+ examples/self_test/features/tons_of_cukes.feature
200
+ examples/self_test/features/undefined_multiline_args.feature
201
+ examples/sinatra/Rakefile
202
+ examples/sinatra/app.rb
203
+ examples/sinatra/features/add.feature
204
+ examples/sinatra/features/step_definitions/add_steps.rb
205
+ examples/sinatra/features/support/env.rb
206
+ examples/sinatra/views/add.erb
207
+ examples/sinatra/views/layout.erb
208
+ examples/steps_library/features/step_definitions/steps_lib1.rb
209
+ examples/steps_library/features/step_definitions/steps_lib2.rb
210
+ examples/test_unit/Rakefile
211
+ examples/test_unit/features/step_definitions/test_unit_steps.rb
212
+ examples/test_unit/features/test_unit.feature
213
+ examples/tickets/Rakefile
214
+ examples/tickets/features/172.feature
215
+ examples/tickets/features/177/1.feature
216
+ examples/tickets/features/177/2.feature
217
+ examples/tickets/features/177/3.feature
218
+ examples/tickets/features/180.feature
219
+ examples/tickets/features/229/tagged_hooks.feature
220
+ examples/tickets/features/229/tagged_hooks.rb
221
+ examples/tickets/features/236.feature
222
+ examples/tickets/features/241.feature
223
+ examples/tickets/features/246.feature
224
+ examples/tickets/features/248.feature
225
+ examples/tickets/features/270/back.feature
226
+ examples/tickets/features/270/back.steps.rb
227
+ examples/tickets/features/272/hooks.feature
228
+ examples/tickets/features/272/hooks_steps.rb
229
+ examples/tickets/features/279/py_string_indent.feature
230
+ examples/tickets/features/279/py_string_indent.steps.rb
231
+ examples/tickets/features/279/wrong.feature_
232
+ examples/tickets/features/301/filter_background_tagged_hooks.feature
233
+ examples/tickets/features/301/filter_background_tagged_hooks_steps.rb
234
+ examples/tickets/features/306/only_background.feature
235
+ examples/tickets/features/lib/eatting_machine.rb
236
+ examples/tickets/features/lib/pantry.rb
237
+ examples/tickets/features/scenario_outline.feature
238
+ examples/tickets/features/step_definitons/246_steps.rb
239
+ examples/tickets/features/step_definitons/248_steps.rb
240
+ examples/tickets/features/step_definitons/scenario_outline_steps.rb
241
+ examples/tickets/features/step_definitons/tickets_steps.rb
242
+ examples/tickets/features/tickets.feature
243
+ examples/watir/README.textile
244
+ examples/watir/Rakefile
245
+ examples/watir/features/search.feature
246
+ examples/watir/features/step_definitons/search_steps.rb
247
+ examples/watir/features/support/env.rb
248
+ features/after_block_exceptions.feature
249
+ features/after_step_block_exceptions.feature
250
+ features/background.feature
251
+ features/bug_371.feature
252
+ features/cucumber_cli.feature
253
+ features/cucumber_cli_diff_disabled.feature
254
+ features/cucumber_cli_outlines.feature
255
+ features/custom_formatter.feature
256
+ features/drb_server_integration.feature
257
+ features/exclude_files.feature
258
+ features/expand.feature
259
+ features/html_formatter.feature
260
+ features/html_formatter/a.html
261
+ features/junit_formatter.feature
262
+ features/language_from_header.feature
263
+ features/multiline_names.feature
264
+ features/rake_task.feature
265
+ features/report_called_undefined_steps.feature
266
+ features/snippet.feature
267
+ features/step_definitions/cucumber_steps.rb
268
+ features/step_definitions/extra_steps.rb
269
+ features/steps_formatter.feature
270
+ features/support/env.rb
271
+ features/usage.feature
272
+ features/work_in_progress.feature
273
+ gem_tasks/deployment.rake
274
+ gem_tasks/environment.rake
275
+ gem_tasks/features.rake
276
+ gem_tasks/fix_cr_lf.rake
277
+ gem_tasks/flog.rake
278
+ gem_tasks/gemspec.rake
279
+ gem_tasks/rspec.rake
280
+ gem_tasks/sass.rake
281
+ gem_tasks/yard.rake
282
+ lib/autotest/cucumber.rb
283
+ lib/autotest/cucumber_mixin.rb
284
+ lib/autotest/cucumber_rails.rb
285
+ lib/autotest/cucumber_rails_rspec.rb
286
+ lib/autotest/cucumber_rspec.rb
287
+ lib/autotest/discover.rb
288
+ lib/cucumber.rb
289
+ lib/cucumber/ast.rb
290
+ lib/cucumber/ast/background.rb
291
+ lib/cucumber/ast/comment.rb
292
+ lib/cucumber/ast/examples.rb
293
+ lib/cucumber/ast/feature.rb
294
+ lib/cucumber/ast/feature_element.rb
295
+ lib/cucumber/ast/features.rb
296
+ lib/cucumber/ast/outline_table.rb
297
+ lib/cucumber/ast/py_string.rb
298
+ lib/cucumber/ast/scenario.rb
299
+ lib/cucumber/ast/scenario_outline.rb
300
+ lib/cucumber/ast/step.rb
301
+ lib/cucumber/ast/step_collection.rb
302
+ lib/cucumber/ast/step_invocation.rb
303
+ lib/cucumber/ast/table.rb
304
+ lib/cucumber/ast/tags.rb
305
+ lib/cucumber/ast/visitor.rb
306
+ lib/cucumber/broadcaster.rb
307
+ lib/cucumber/cli/configuration.rb
308
+ lib/cucumber/cli/drb_client.rb
309
+ lib/cucumber/cli/language_help_formatter.rb
310
+ lib/cucumber/cli/main.rb
311
+ lib/cucumber/core_ext/exception.rb
312
+ lib/cucumber/core_ext/instance_exec.rb
313
+ lib/cucumber/core_ext/proc.rb
314
+ lib/cucumber/core_ext/string.rb
315
+ lib/cucumber/feature_file.rb
316
+ lib/cucumber/filter.rb
317
+ lib/cucumber/formatter/ansicolor.rb
318
+ lib/cucumber/formatter/color_io.rb
319
+ lib/cucumber/formatter/console.rb
320
+ lib/cucumber/formatter/cucumber.css
321
+ lib/cucumber/formatter/cucumber.sass
322
+ lib/cucumber/formatter/duration.rb
323
+ lib/cucumber/formatter/html.rb
324
+ lib/cucumber/formatter/junit.rb
325
+ lib/cucumber/formatter/pretty.rb
326
+ lib/cucumber/formatter/profile.rb
327
+ lib/cucumber/formatter/progress.rb
328
+ lib/cucumber/formatter/rerun.rb
329
+ lib/cucumber/formatter/steps.rb
330
+ lib/cucumber/formatter/tag_cloud.rb
331
+ lib/cucumber/formatter/unicode.rb
332
+ lib/cucumber/formatter/usage.rb
333
+ lib/cucumber/formatters/unicode.rb
334
+ lib/cucumber/languages.yml
335
+ lib/cucumber/parser.rb
336
+ lib/cucumber/parser/feature.rb
337
+ lib/cucumber/parser/feature.tt
338
+ lib/cucumber/parser/i18n.tt
339
+ lib/cucumber/parser/i18n/language.rb
340
+ lib/cucumber/parser/table.rb
341
+ lib/cucumber/parser/table.tt
342
+ lib/cucumber/parser/treetop_ext.rb
343
+ lib/cucumber/platform.rb
344
+ lib/cucumber/rails/rspec.rb
345
+ lib/cucumber/rails/world.rb
346
+ lib/cucumber/rake/task.rb
347
+ lib/cucumber/rspec_neuter.rb
348
+ lib/cucumber/step_definition.rb
349
+ lib/cucumber/step_match.rb
350
+ lib/cucumber/step_mother.rb
351
+ lib/cucumber/version.rb
352
+ lib/cucumber/world.rb
353
+ rails_generators/cucumber/USAGE
354
+ rails_generators/cucumber/cucumber_generator.rb
355
+ rails_generators/cucumber/templates/cucumber
356
+ rails_generators/cucumber/templates/cucumber.rake
357
+ rails_generators/cucumber/templates/cucumber_environment.rb
358
+ rails_generators/cucumber/templates/env.rb
359
+ rails_generators/cucumber/templates/paths.rb
360
+ rails_generators/cucumber/templates/spork_env.rb
361
+ rails_generators/cucumber/templates/webrat_steps.rb
362
+ rails_generators/feature/USAGE
363
+ rails_generators/feature/feature_generator.rb
364
+ rails_generators/feature/templates/feature.erb
365
+ rails_generators/feature/templates/steps.erb
366
+ spec/cucumber/ast/background_spec.rb
367
+ spec/cucumber/ast/feature_element_spec.rb
368
+ spec/cucumber/ast/feature_factory.rb
369
+ spec/cucumber/ast/feature_spec.rb
370
+ spec/cucumber/ast/py_string_spec.rb
371
+ spec/cucumber/ast/scenario_outline_spec.rb
372
+ spec/cucumber/ast/scenario_spec.rb
373
+ spec/cucumber/ast/step_collection_spec.rb
374
+ spec/cucumber/ast/step_spec.rb
375
+ spec/cucumber/ast/table_spec.rb
376
+ spec/cucumber/ast/visitor_spec.rb
377
+ spec/cucumber/broadcaster_spec.rb
378
+ spec/cucumber/cli/configuration_spec.rb
379
+ spec/cucumber/cli/drb_client_spec.rb
380
+ spec/cucumber/cli/main_spec.rb
381
+ spec/cucumber/core_ext/proc_spec.rb
382
+ spec/cucumber/core_ext/string_spec.rb
383
+ spec/cucumber/formatter/ansicolor_spec.rb
384
+ spec/cucumber/formatter/color_io_spec.rb
385
+ spec/cucumber/formatter/duration_spec.rb
386
+ spec/cucumber/formatter/progress_spec.rb
387
+ spec/cucumber/parser/feature_parser_spec.rb
388
+ spec/cucumber/parser/table_parser_spec.rb
389
+ spec/cucumber/rails/stubs/mini_rails.rb
390
+ spec/cucumber/rails/stubs/test_help.rb
391
+ spec/cucumber/rails/world_spec.rb
392
+ spec/cucumber/sell_cucumbers.feature
393
+ spec/cucumber/step_definition_spec.rb
394
+ spec/cucumber/step_mother_spec.rb
395
+ spec/cucumber/treetop_parser/empty_feature.feature
396
+ spec/cucumber/treetop_parser/empty_scenario.feature
397
+ spec/cucumber/treetop_parser/empty_scenario_outline.feature
398
+ spec/cucumber/treetop_parser/fit_scenario.feature
399
+ spec/cucumber/treetop_parser/given_scenario.feature
400
+ spec/cucumber/treetop_parser/invalid_scenario_outlines.feature
401
+ spec/cucumber/treetop_parser/multiline_steps.feature
402
+ spec/cucumber/treetop_parser/multiple_tables.feature
403
+ spec/cucumber/treetop_parser/scenario_outline.feature
404
+ spec/cucumber/treetop_parser/spaces.feature
405
+ spec/cucumber/treetop_parser/test_dos.feature
406
+ spec/cucumber/treetop_parser/with_comments.feature
407
+ spec/cucumber/treetop_parser/with_tags.feature
408
+ spec/cucumber/world/pending_spec.rb
409
+ spec/spec.opts
410
+ spec/spec_helper.rb
data/README.txt ADDED
@@ -0,0 +1,4 @@
1
+ = Cucumber
2
+
3
+ The main website is at http://cukes.info/
4
+ The documentation is at http://github.com/aslakhellesoy/cucumber/wikis/home/
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ ENV['NODOT'] = 'true' # We don't want class diagrams in RDoc
2
+ require 'config/requirements'
3
+ require 'config/hoe' # setup Hoe + all gem configuration
4
+
5
+ Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
6
+
7
+ # Hoe gives us :default => :test, but we don't have Test::Unit tests.
8
+ Rake::Task[:default].clear_prerequisites rescue nil # For some super weird reason this fails for some...
9
+ task :default => [:spec, :features]
data/bin/cucumber ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+ # Add '.rb' to work around a bug in IronRuby's File#dirname
3
+ $:.unshift(File.dirname(__FILE__ + '.rb') + '/../lib') unless $:.include?(File.dirname(__FILE__ + '.rb') + '/../lib')
4
+
5
+ require 'cucumber/rspec_neuter'
6
+ require 'cucumber/cli/main'
7
+ begin
8
+ # The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
9
+ failure = Cucumber::Cli::Main.execute(ARGV.dup)
10
+ Kernel.exit(failure ? 1 : 0)
11
+ rescue SystemExit => e
12
+ Kernel.exit(e.status)
13
+ rescue Exception => e
14
+ STDERR.puts("#{e.message} (#{e.class})")
15
+ STDERR.puts(e.backtrace.join("\n"))
16
+ Kernel.exit 1
17
+ end
data/config/hoe.rb ADDED
@@ -0,0 +1,76 @@
1
+ # encoding: utf-8
2
+ require 'cucumber/version'
3
+
4
+ AUTHOR = 'Aslak Hellesøy' # can also be an array of Authors
5
+ EMAIL = "aslak.hellesoy@gmail.com"
6
+ DESCRIPTION = "Executable Feature scenarios"
7
+ GEM_NAME = 'cucumber' # what ppl will type to install your gem
8
+ HOMEPATH = "http://cukes.info"
9
+ RUBYFORGE_PROJECT = 'rspec'
10
+
11
+ @config_file = "~/.rubyforge/user-config.yml"
12
+ @config = nil
13
+ RUBYFORGE_USERNAME = "aslak_hellesoy"
14
+ def rubyforge_username
15
+ unless @config
16
+ begin
17
+ @config = YAML.load(File.read(File.expand_path(@config_file)))
18
+ rescue
19
+ puts <<-EOS
20
+ ERROR: No rubyforge config file found: #{@config_file}
21
+ Run 'rubyforge setup' to prepare your env for access to Rubyforge
22
+ - See http://newgem.rubyforge.org/rubyforge.html for more details
23
+ EOS
24
+ exit
25
+ end
26
+ end
27
+ RUBYFORGE_USERNAME.replace @config["username"]
28
+ end
29
+
30
+
31
+ REV = nil
32
+ # UNCOMMENT IF REQUIRED:
33
+ # REV = YAML.load(`svn info`)['Revision']
34
+ VERS = Cucumber::VERSION::STRING + (REV ? ".#{REV}" : "")
35
+ RDOC_OPTS = ['--quiet', '--title', 'Cucumber documentation',
36
+ "--opname", "index.html",
37
+ "--line-numbers",
38
+ "--main", "README.textile",
39
+ "--inline-source"]
40
+
41
+ # Remove Hoe dependency
42
+ class Hoe
43
+ def extra_dev_deps
44
+ @extra_dev_deps.reject! { |dep| dep[0] == "hoe" }
45
+ @extra_dev_deps
46
+ end
47
+ end
48
+
49
+ # Generate all the Rake tasks
50
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
51
+ $hoe = Hoe.new(GEM_NAME, VERS) do |p|
52
+ p.developer(AUTHOR, EMAIL)
53
+ p.description = DESCRIPTION
54
+ p.summary = DESCRIPTION
55
+ p.url = HOMEPATH
56
+ p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
57
+ p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store', '**/*.class', '**/*.jar', '**/tmp'] #An array of file patterns to delete on clean.
58
+
59
+ # == Optional
60
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
61
+ #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
62
+ p.extra_deps = [
63
+ ['term-ansicolor', '>= 1.0.3'],
64
+ ['treetop', '>= 1.2.6'],
65
+ ['diff-lcs', '>= 1.1.2'],
66
+ ['builder', '>= 2.1.2']
67
+ ]
68
+
69
+ #p.spec_extras = {} # A hash of extra values to set in the gemspec.
70
+
71
+ end
72
+
73
+ CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
74
+ PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
75
+ $hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
76
+ $hoe.rsync_args = '-av --delete --ignore-errors'
@@ -0,0 +1,15 @@
1
+ require 'fileutils'
2
+ include FileUtils
3
+
4
+ require 'rubygems'
5
+ %w[rake hoe].each do |req_gem|
6
+ begin
7
+ require req_gem
8
+ rescue LoadError
9
+ puts "This Rakefile requires the '#{req_gem}' RubyGem."
10
+ puts "Installation: gem install #{req_gem} -y"
11
+ exit
12
+ end
13
+ end
14
+
15
+ $:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
data/cucumber.yml ADDED
@@ -0,0 +1,2 @@
1
+ default: --format progress features --tags ~@proposed,~@in_progress
2
+ wip: --tags @in_progress --wip features
@@ -0,0 +1 @@
1
+ See "IronRuby and .NET":http://github.com/aslakhellesoy/cucumber/wikis/ironruby-and-net
@@ -0,0 +1,12 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new(:features) do |t|
5
+ t.cucumber_opts = %w{--format pretty}
6
+ end
7
+
8
+ task :features => :compile
9
+
10
+ task :compile do
11
+ sh "csc /target:library /out:Demo.dll src\\demo\\Calculator.cs"
12
+ end
@@ -0,0 +1 @@
1
+ csc /target:library /out:Calculator.dll src\demo\Calculator.cs
@@ -0,0 +1,16 @@
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 Outline: Add two numbers
7
+ Given I have entered <input_1> into the calculator
8
+ And I have entered <input_2> into the calculator
9
+ When I press add
10
+ Then the result should be <output> on the screen
11
+
12
+ Examples:
13
+ | input_1 | input_2 | output |
14
+ | 20 | 30 | 50 |
15
+ | 2 | 5 | 7 |
16
+ | 0 | 40 | 40 |
@@ -0,0 +1,19 @@
1
+ require 'spec/expectations'
2
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
3
+ require 'Calculator' # Calculator.dll
4
+
5
+ Before do
6
+ @calc = Demo::Calculator.new # A .NET class in Calculator.dll
7
+ end
8
+
9
+ Given "I have entered $n into the calculator" do |n|
10
+ @calc.push n.to_i
11
+ end
12
+
13
+ When /I press add/ do
14
+ @result = @calc.Add
15
+ end
16
+
17
+ Then /the result should be (.*) on the screen/ do |result|
18
+ @result.should == result.to_i
19
+ end
@@ -0,0 +1,20 @@
1
+ using System;
2
+ using System.Collections.Generic;
3
+
4
+ namespace Demo {
5
+ public class Calculator {
6
+ private List<int>args = new List<int>();
7
+
8
+ public void Push(int n) {
9
+ args.Add(n);
10
+ }
11
+
12
+ public int Add() {
13
+ int result = 0;
14
+ foreach(int n in args) {
15
+ result += n;
16
+ }
17
+ return result;
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,6 @@
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
@@ -0,0 +1,9 @@
1
+ Feature: DOS line endings
2
+ In order to have less bug reports
3
+ As a windows developer
4
+ I want to write features with DOS line endigs
5
+
6
+ Scenario: Just lots of DOS
7
+ Given I am on DOS
8
+ And Any version of Windows is really just DOS
9
+ Then Windows still sucks