square-cucumber 0.3.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) 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-lol/Rakefile +6 -0
  46. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
  47. data/examples/i18n/en-lol/features/stuffing.feature +8 -0
  48. data/examples/i18n/en-lol/features/support/env.rb +8 -0
  49. data/examples/i18n/en-lol/lib/basket.rb +12 -0
  50. data/examples/i18n/en-lol/lib/belly.rb +11 -0
  51. data/examples/i18n/en/Rakefile +6 -0
  52. data/examples/i18n/en/features/addition.feature +17 -0
  53. data/examples/i18n/en/features/division.feature +10 -0
  54. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +24 -0
  55. data/examples/i18n/en/lib/calculator.rb +14 -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/test_unit/Rakefile +6 -0
  209. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +23 -0
  210. data/examples/test_unit/features/test_unit.feature +9 -0
  211. data/examples/tickets/Rakefile +16 -0
  212. data/examples/tickets/features/172.feature +28 -0
  213. data/examples/tickets/features/177/1.feature +29 -0
  214. data/examples/tickets/features/177/2.feature +21 -0
  215. data/examples/tickets/features/177/3.feature +18 -0
  216. data/examples/tickets/features/180.feature +7 -0
  217. data/examples/tickets/features/229/tagged_hooks.feature +8 -0
  218. data/examples/tickets/features/229/tagged_hooks.rb +14 -0
  219. data/examples/tickets/features/236.feature +13 -0
  220. data/examples/tickets/features/241.feature +13 -0
  221. data/examples/tickets/features/246.feature +4 -0
  222. data/examples/tickets/features/248.feature +11 -0
  223. data/examples/tickets/features/270/back.feature +14 -0
  224. data/examples/tickets/features/270/back.steps.rb +14 -0
  225. data/examples/tickets/features/272/hooks.feature +26 -0
  226. data/examples/tickets/features/272/hooks_steps.rb +53 -0
  227. data/examples/tickets/features/279/py_string_indent.feature +25 -0
  228. data/examples/tickets/features/279/py_string_indent.steps.rb +12 -0
  229. data/examples/tickets/features/279/wrong.feature_ +11 -0
  230. data/examples/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
  231. data/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
  232. data/examples/tickets/features/306/only_background.feature +4 -0
  233. data/examples/tickets/features/lib/eatting_machine.rb +18 -0
  234. data/examples/tickets/features/lib/pantry.rb +20 -0
  235. data/examples/tickets/features/scenario_outline.feature +95 -0
  236. data/examples/tickets/features/step_definitons/246_steps.rb +3 -0
  237. data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
  238. data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
  239. data/examples/tickets/features/step_definitons/tickets_steps.rb +66 -0
  240. data/examples/tickets/features/tickets.feature +28 -0
  241. data/examples/watir/README.textile +16 -0
  242. data/examples/watir/Rakefile +6 -0
  243. data/examples/watir/features/search.feature +12 -0
  244. data/examples/watir/features/step_definitons/search_steps.rb +22 -0
  245. data/examples/watir/features/support/env.rb +32 -0
  246. data/features/after_block_exceptions.feature +102 -0
  247. data/features/after_step_block_exceptions.feature +104 -0
  248. data/features/background.feature +311 -0
  249. data/features/bug_371.feature +32 -0
  250. data/features/cucumber_cli.feature +549 -0
  251. data/features/cucumber_cli_diff_disabled.feature +53 -0
  252. data/features/cucumber_cli_outlines.feature +109 -0
  253. data/features/custom_formatter.feature +11 -0
  254. data/features/drb_server_integration.feature +115 -0
  255. data/features/exclude_files.feature +20 -0
  256. data/features/expand.feature +49 -0
  257. data/features/html_formatter.feature +7 -0
  258. data/features/html_formatter/a.html +185 -0
  259. data/features/junit_formatter.feature +71 -0
  260. data/features/language_from_header.feature +30 -0
  261. data/features/multiline_names.feature +43 -0
  262. data/features/rake_task.feature +150 -0
  263. data/features/report_called_undefined_steps.feature +35 -0
  264. data/features/snippet.feature +22 -0
  265. data/features/step_definitions/cucumber_steps.rb +130 -0
  266. data/features/step_definitions/extra_steps.rb +2 -0
  267. data/features/support/env.rb +120 -0
  268. data/features/usage.feature +126 -0
  269. data/features/work_in_progress.feature +151 -0
  270. data/gem_tasks/deployment.rake +11 -0
  271. data/gem_tasks/environment.rake +7 -0
  272. data/gem_tasks/features.rake +10 -0
  273. data/gem_tasks/fix_cr_lf.rake +10 -0
  274. data/gem_tasks/flog.rake +4 -0
  275. data/gem_tasks/gemspec.rake +10 -0
  276. data/gem_tasks/rspec.rake +45 -0
  277. data/gem_tasks/sass.rake +4 -0
  278. data/gem_tasks/yard.rake +8 -0
  279. data/lib/autotest/cucumber.rb +6 -0
  280. data/lib/autotest/cucumber_mixin.rb +125 -0
  281. data/lib/autotest/cucumber_rails.rb +6 -0
  282. data/lib/autotest/cucumber_rails_rspec.rb +6 -0
  283. data/lib/autotest/cucumber_rspec.rb +6 -0
  284. data/lib/autotest/discover.rb +9 -0
  285. data/lib/cucumber.rb +11 -0
  286. data/lib/cucumber/ast.rb +29 -0
  287. data/lib/cucumber/ast/background.rb +62 -0
  288. data/lib/cucumber/ast/comment.rb +30 -0
  289. data/lib/cucumber/ast/examples.rb +26 -0
  290. data/lib/cucumber/ast/feature.rb +58 -0
  291. data/lib/cucumber/ast/feature_element.rb +57 -0
  292. data/lib/cucumber/ast/features.rb +30 -0
  293. data/lib/cucumber/ast/outline_table.rb +143 -0
  294. data/lib/cucumber/ast/py_string.rb +57 -0
  295. data/lib/cucumber/ast/scenario.rb +83 -0
  296. data/lib/cucumber/ast/scenario_outline.rb +93 -0
  297. data/lib/cucumber/ast/step.rb +112 -0
  298. data/lib/cucumber/ast/step_collection.rb +75 -0
  299. data/lib/cucumber/ast/step_invocation.rb +136 -0
  300. data/lib/cucumber/ast/table.rb +334 -0
  301. data/lib/cucumber/ast/tags.rb +33 -0
  302. data/lib/cucumber/ast/visitor.rb +116 -0
  303. data/lib/cucumber/broadcaster.rb +13 -0
  304. data/lib/cucumber/cli/configuration.rb +425 -0
  305. data/lib/cucumber/cli/drb_client.rb +20 -0
  306. data/lib/cucumber/cli/language_help_formatter.rb +59 -0
  307. data/lib/cucumber/cli/main.rb +136 -0
  308. data/lib/cucumber/core_ext/exception.rb +53 -0
  309. data/lib/cucumber/core_ext/instance_exec.rb +67 -0
  310. data/lib/cucumber/core_ext/proc.rb +29 -0
  311. data/lib/cucumber/core_ext/string.rb +48 -0
  312. data/lib/cucumber/feature_file.rb +47 -0
  313. data/lib/cucumber/filter.rb +50 -0
  314. data/lib/cucumber/formatter/ansicolor.rb +110 -0
  315. data/lib/cucumber/formatter/color_io.rb +23 -0
  316. data/lib/cucumber/formatter/console.rb +149 -0
  317. data/lib/cucumber/formatter/cucumber.css +132 -0
  318. data/lib/cucumber/formatter/cucumber.sass +139 -0
  319. data/lib/cucumber/formatter/duration.rb +10 -0
  320. data/lib/cucumber/formatter/html.rb +258 -0
  321. data/lib/cucumber/formatter/junit.rb +75 -0
  322. data/lib/cucumber/formatter/pretty.rb +188 -0
  323. data/lib/cucumber/formatter/profile.rb +77 -0
  324. data/lib/cucumber/formatter/progress.rb +60 -0
  325. data/lib/cucumber/formatter/rerun.rb +44 -0
  326. data/lib/cucumber/formatter/tag_cloud.rb +28 -0
  327. data/lib/cucumber/formatter/unicode.rb +35 -0
  328. data/lib/cucumber/formatter/usage.rb +85 -0
  329. data/lib/cucumber/formatters/unicode.rb +7 -0
  330. data/lib/cucumber/languages.yml +532 -0
  331. data/lib/cucumber/parser.rb +6 -0
  332. data/lib/cucumber/parser/feature.rb +1787 -0
  333. data/lib/cucumber/parser/feature.tt +324 -0
  334. data/lib/cucumber/parser/i18n.tt +42 -0
  335. data/lib/cucumber/parser/i18n/language.rb +80 -0
  336. data/lib/cucumber/parser/table.rb +414 -0
  337. data/lib/cucumber/parser/table.tt +71 -0
  338. data/lib/cucumber/parser/treetop_ext.rb +52 -0
  339. data/lib/cucumber/platform.rb +23 -0
  340. data/lib/cucumber/rails/rspec.rb +10 -0
  341. data/lib/cucumber/rails/world.rb +99 -0
  342. data/lib/cucumber/rake/task.rb +233 -0
  343. data/lib/cucumber/rspec_neuter.rb +23 -0
  344. data/lib/cucumber/step_definition.rb +122 -0
  345. data/lib/cucumber/step_match.rb +61 -0
  346. data/lib/cucumber/step_mother.rb +362 -0
  347. data/lib/cucumber/version.rb +10 -0
  348. data/lib/cucumber/webrat/mechanize_world.rb +82 -0
  349. data/lib/cucumber/world.rb +53 -0
  350. data/rails_generators/cucumber/USAGE +11 -0
  351. data/rails_generators/cucumber/cucumber_generator.rb +66 -0
  352. data/rails_generators/cucumber/templates/cucumber +8 -0
  353. data/rails_generators/cucumber/templates/cucumber.rake +20 -0
  354. data/rails_generators/cucumber/templates/cucumber_environment.rb +23 -0
  355. data/rails_generators/cucumber/templates/env.rb +26 -0
  356. data/rails_generators/cucumber/templates/paths.rb +27 -0
  357. data/rails_generators/cucumber/templates/spork_env.rb +36 -0
  358. data/rails_generators/cucumber/templates/webrat_steps.rb +147 -0
  359. data/rails_generators/feature/USAGE +12 -0
  360. data/rails_generators/feature/feature_generator.rb +40 -0
  361. data/rails_generators/feature/templates/feature.erb +31 -0
  362. data/rails_generators/feature/templates/steps.erb +20 -0
  363. data/spec/cucumber/ast/background_spec.rb +50 -0
  364. data/spec/cucumber/ast/feature_element_spec.rb +40 -0
  365. data/spec/cucumber/ast/feature_factory.rb +63 -0
  366. data/spec/cucumber/ast/feature_spec.rb +38 -0
  367. data/spec/cucumber/ast/py_string_spec.rb +51 -0
  368. data/spec/cucumber/ast/scenario_outline_spec.rb +67 -0
  369. data/spec/cucumber/ast/scenario_spec.rb +38 -0
  370. data/spec/cucumber/ast/step_collection_spec.rb +17 -0
  371. data/spec/cucumber/ast/step_spec.rb +66 -0
  372. data/spec/cucumber/ast/table_spec.rb +186 -0
  373. data/spec/cucumber/ast/visitor_spec.rb +27 -0
  374. data/spec/cucumber/broadcaster_spec.rb +15 -0
  375. data/spec/cucumber/cli/configuration_spec.rb +396 -0
  376. data/spec/cucumber/cli/drb_client_spec.rb +43 -0
  377. data/spec/cucumber/cli/main_spec.rb +140 -0
  378. data/spec/cucumber/core_ext/proc_spec.rb +54 -0
  379. data/spec/cucumber/core_ext/string_spec.rb +42 -0
  380. data/spec/cucumber/formatter/ansicolor_spec.rb +35 -0
  381. data/spec/cucumber/formatter/color_io_spec.rb +27 -0
  382. data/spec/cucumber/formatter/duration_spec.rb +22 -0
  383. data/spec/cucumber/formatter/progress_spec.rb +36 -0
  384. data/spec/cucumber/parser/feature_parser_spec.rb +387 -0
  385. data/spec/cucumber/parser/table_parser_spec.rb +48 -0
  386. data/spec/cucumber/rails/stubs/mini_rails.rb +18 -0
  387. data/spec/cucumber/rails/stubs/test_help.rb +1 -0
  388. data/spec/cucumber/rails/world_spec.rb +11 -0
  389. data/spec/cucumber/sell_cucumbers.feature +19 -0
  390. data/spec/cucumber/step_definition_spec.rb +101 -0
  391. data/spec/cucumber/step_mother_spec.rb +155 -0
  392. data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
  393. data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
  394. data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
  395. data/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
  396. data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
  397. data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
  398. data/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
  399. data/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
  400. data/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
  401. data/spec/cucumber/treetop_parser/spaces.feature +12 -0
  402. data/spec/cucumber/treetop_parser/test_dos.feature +25 -0
  403. data/spec/cucumber/treetop_parser/with_comments.feature +10 -0
  404. data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
  405. data/spec/cucumber/world/pending_spec.rb +47 -0
  406. data/spec/spec.opts +2 -0
  407. data/spec/spec_helper.rb +13 -0
  408. metadata +504 -0
@@ -0,0 +1,10 @@
1
+ # language: et
2
+ Omadus: Jagamine
3
+ Rumalate vigade vältimiseks
4
+ Peavad kassapidajad saama arvutada murdudes
5
+
6
+ Stsenaarium: Tavalised numrbid
7
+ Eeldades et olen sisestanud kalkulaatorisse numbri 3
8
+ Ja olen sisestanud kalkulaatorisse numbri 2
9
+ Kui ma vajutan jaga
10
+ Siis vastuseks peab ekraanil kuvatama 1.5
@@ -0,0 +1,17 @@
1
+ # language: et
2
+ Omadus: Liitmine
3
+ Selleks et vältida rumalaid vigu
4
+ Olles matemaatika-puupea
5
+ Tahan et mulle öeldaks kahe numbri summa
6
+
7
+ Raamstsenaarium: Liida kaks numbrit
8
+ Eeldades et olen sisestanud kalkulaatorisse numbri <input_1>
9
+ Ja olen sisestanud kalkulaatorisse numbri <input_2>
10
+ Kui ma vajutan <button>
11
+ Siis vastuseks peab ekraanil kuvatama <output>
12
+
13
+ Juhtumid:
14
+ | input_1 | input_2 | button | output |
15
+ | 20 | 30 | liida | 50 |
16
+ | 2 | 5 | liida | 7 |
17
+ | 0 | 40 | liida | 40 |
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
+ require 'cucumber/formatter/unicode'
5
+ require 'kalkulaator'
6
+
7
+ Before do
8
+ @calc = Kalkulaator.new
9
+ end
10
+
11
+ After do
12
+ end
13
+
14
+ Given /olen sisestanud kalkulaatorisse numbri (\d+)/ do |n|
15
+ @calc.push n.to_i
16
+ end
17
+
18
+ When /ma vajutan (\w+)/ do |op|
19
+ @result = @calc.send op
20
+ end
21
+
22
+ Then /vastuseks peab ekraanil kuvatama (.*)/ do |result|
23
+ @result.should == result.to_f
24
+ end
@@ -0,0 +1,14 @@
1
+ class Kalkulaator
2
+ def push(n)
3
+ @args ||= []
4
+ @args << n
5
+ end
6
+
7
+ def liida
8
+ @args.inject(0){|n,sum| sum+=n}
9
+ end
10
+
11
+ def jaga
12
+ @args[0].to_f / @args[1].to_f
13
+ end
14
+ end
@@ -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,10 @@
1
+ # language: fi
2
+ Ominaisuus: Jakolasku
3
+ Välttyäkseen hölmöiltä virheiltä
4
+ Kassanhoitajan on voitava laskea osamäärä
5
+
6
+ Tapaus: Kokonaislukujen jakolasku
7
+ Oletetaan että olen syöttänyt laskimeen luvun 3
8
+ Ja että olen syöttänyt laskimeen luvun 2
9
+ Kun painan "jaa"
10
+ Niin laskimen ruudulla pitäisi näkyä tulos 1.5
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib')
4
+ require 'cucumber/formatter/unicode'
5
+ require 'laskin'
6
+
7
+ Before do
8
+ @laskin = Laskin.new
9
+ end
10
+
11
+ After do
12
+ end
13
+
14
+ Given /että olen syöttänyt laskimeen luvun (\d+)/ do |n|
15
+ @laskin.pinoa n.to_i
16
+ end
17
+
18
+ When /painan "(\w+)"/ do |op|
19
+ @tulos = @laskin.send op
20
+ end
21
+
22
+ Then /laskimen ruudulla pitäisi näkyä tulos (.*)/ do |tulos|
23
+ @tulos.should == tulos.to_f
24
+ end
@@ -0,0 +1,16 @@
1
+ Ominaisuus: Yhteenlasku
2
+ Välttyäkseni hölmöiltä virheiltä
3
+ Koska olen laskutaidoton
4
+ Haluan että yhteenlaskut lasketaan puolestani
5
+
6
+ Tapausaihio: Kahden luvun summa
7
+ Oletetaan että olen syöttänyt laskimeen luvun 50
8
+ Ja että olen syöttänyt laskimeen luvun 70
9
+ Kun painan "summaa"
10
+ Niin laskimen ruudulla pitäisi näkyä tulos 120
11
+
12
+ Tapaukset:
13
+ | luku_1 | luku_2 | nappi | tulos |
14
+ | 20 | 30 | summaa | 50 |
15
+ | 2 | 5 | summaa | 7 |
16
+ | 0 | 40 | summaa | 40 |
@@ -0,0 +1,14 @@
1
+ class Laskin
2
+ def pinoa(n)
3
+ @args ||= []
4
+ @args << n
5
+ end
6
+
7
+ def summaa
8
+ @args.inject(0){|n,sum| sum+=n}
9
+ end
10
+
11
+ def jaa
12
+ @args[0].to_f / @args[1].to_f
13
+ end
14
+ end
@@ -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,18 @@
1
+ # language: fr
2
+ Fonctionnalité: Addition
3
+ Afin de gagner du temps lors du calcul de la facture
4
+ En tant que commerçant
5
+ Je souhaite pouvoir faire une addition
6
+
7
+ Plan du Scénario: Addition de deux nombres
8
+ Soit une calculatrice
9
+ Et que j'entre <a> pour le premier nombre
10
+ Et que je tape sur la touche "+"
11
+ Et que j'entre <b> pour le second nombre
12
+ Lorsque je tape sur la touche "="
13
+ Alors le résultat affiché doit être <somme>
14
+
15
+ Exemples:
16
+ | a | b | somme |
17
+ | 2 | 2 | 4 |
18
+ | 2 | 3 | 5 |
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
+ require 'cucumber/formatter/unicode'
5
+ require 'calculatrice'
6
+
7
+ Soit /^une calculatrice$/ do
8
+ @calc = Calculatrice.new
9
+ end
10
+
11
+ Et /^que j'entre (\d+) pour le (.*) nombre/ do |n, x|
12
+ @calc.push n.to_i
13
+ end
14
+
15
+ Lorsque /^je tape sur la touche "="$/ do
16
+ @expected_result = @calc.additionner
17
+ end
18
+
19
+ Alors /le résultat affiché doit être (\d*)/ do |result|
20
+ result.to_i.should == @expected_result
21
+ end
22
+
23
+ Soit /^que je tape sur la touche "\+"$/ do
24
+ # noop
25
+ end
@@ -0,0 +1,10 @@
1
+ class Calculatrice
2
+ def push(n)
3
+ @args ||= []
4
+ @args << n
5
+ end
6
+
7
+ def additionner
8
+ @args.inject(0){|n,sum| sum+=n}
9
+ end
10
+ end
@@ -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,17 @@
1
+ # language: he
2
+ תכונה: חיבור
3
+ כדי למנוע טעויות טפשיות
4
+ בתור בור מתמטי
5
+ אני רוצה שיגידו לי את הסכום של שני מספרים
6
+
7
+ תבנית תרחיש: חבר שני מספרים
8
+ בהינתן שהזנתי <קלט_1> למחשבון
9
+ וגם שהזנתי <קלט_2> למחשבון
10
+ כאשר אני לוחץ על <כפתור>
11
+ אז התוצאה על המסך צריכה להיות <פלט>
12
+
13
+ דוגמאות:
14
+ | קלט_1 | קלט_2 | כפתור | פלט |
15
+ | 20 | 30 | חבר | 50 |
16
+ | 2 | 5 | חבר | 7 |
17
+ | 0 | 40 | חבר | 40 |
@@ -0,0 +1,10 @@
1
+ # language: he
2
+ תכונה: חילוק
3
+ כדי למנוע טעויות טפשיות
4
+ לקופאים חייבת להיות יכולת לחשב שבר
5
+
6
+ תרחיש: מספרים רגילים
7
+ בהינתן שהזנתי 3 למחשבון
8
+ וגם שהזנתי 2 למחשבון
9
+ כאשר אני לוחץ על חלק
10
+ אז התוצאה על המסך צריכה להיות 1.5
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
+ require 'cucumber/formatter/unicode'
5
+ require 'calculator'
6
+
7
+ Before do
8
+ @calc = Calculator.new
9
+ end
10
+
11
+ After do
12
+ end
13
+
14
+ Given /שהזנתי (\d+) למחשבון/ do |n|
15
+ @calc.push n.to_i
16
+ end
17
+
18
+ When /אני לוחץ על (\w+)/ do |op|
19
+ @result = @calc.send op
20
+ end
21
+
22
+ Then /התוצאה על המסך צריכה להיות (.*)/ do |result|
23
+ @result.should == result.to_f
24
+ end
@@ -0,0 +1,14 @@
1
+ class Calculator
2
+ def push(n)
3
+ @args ||= []
4
+ @args << n
5
+ end
6
+
7
+ def חבר
8
+ @args.inject(0){|n,sum| sum+=n}
9
+ end
10
+
11
+ def חלק
12
+ @args[0].to_f / @args[1].to_f
13
+ end
14
+ end
@@ -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,17 @@
1
+ # language: hu
2
+ Jellemző: Összeadás
3
+ Azért, hogy elkerüljem a buta hibákat
4
+ amit diszkalkúliásként elkövethetek,
5
+ két szám összegét szeretném kiszámoltatni.
6
+
7
+ Forgatókönyv vázlat: Két szám összeadása
8
+ Ha beütök a számológépbe egy <be_1>-est
9
+ És beütök a számológépbe egy <be_2>-est
10
+ Majd megnyomom az <gomb> gombot
11
+ Akkor eredményül <ki>-t kell kapnom
12
+
13
+ Példák:
14
+ | be_1 | be_2 | gomb | ki |
15
+ | 20 | 30 | add | 50 |
16
+ | 2 | 5 | add | 7 |
17
+ | 0 | 40 | add | 40 |
@@ -0,0 +1,10 @@
1
+ # language: hu
2
+ Jellemző: Osztás
3
+ Azért, hogy elkerüljem a buta hibákat
4
+ a számológépeknek tudniuk kell osztani.
5
+
6
+ Forgatókönyv: Egyszerű számok
7
+ Ha beütök a számológépbe egy 3-ast
8
+ És beütök a számológépbe egy 2-est
9
+ Majd megnyomom a divide gombot
10
+ Akkor eredményül 1.5-öt kell kapnom
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
+ require 'cucumber/formatter/unicode'
5
+ require 'calculator'
6
+
7
+ Before do
8
+ @calc = Calculator.new
9
+ end
10
+
11
+ After do
12
+ end
13
+
14
+ Ha /^beütök a számológépbe egy (\d+)\-(?:es|as|ös|ás)t$/ do |n|
15
+ @calc.push n.to_i
16
+ end
17
+
18
+ Majd /^megnyomom az? (\w+) gombot$/ do |op|
19
+ @result = @calc.send op
20
+ end
21
+
22
+ Akkor /^eredményül (.*)\-(?:e|a|ö|á|)t kell kapnom$/ do |result|
23
+ @result.should == result.to_f
24
+ end
25
+
@@ -0,0 +1,14 @@
1
+ class Calculator
2
+ def push(n)
3
+ @args ||= []
4
+ @args << n
5
+ end
6
+
7
+ def add
8
+ @args.inject(0){|n,sum| sum+=n}
9
+ end
10
+
11
+ def divide
12
+ @args[0].to_f / @args[1].to_f
13
+ end
14
+ end
@@ -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,17 @@
1
+ # language: id
2
+ Fitur: Addition
3
+ Untuk menghindari kesalahan konyol
4
+ Sebagai orang yang gak bisa matematika
5
+ Aku ingin diberi tahu jumlah dua bilangan
6
+
7
+ Skenario konsep: Menjumlahkan dua bilangan
8
+ Dengan aku sudah masukkan <input_1> ke kalkulator
9
+ Dan aku sudah masukkan <input_2> ke kalkulator
10
+ Ketika aku tekan <button>
11
+ Maka hasilnya harus <output> di layar
12
+
13
+ Contoh:
14
+ | input_1 | input_2 | button | output |
15
+ | 20 | 30 | add | 50 |
16
+ | 2 | 5 | add | 7 |
17
+ | 0 | 40 | add | 40 |
@@ -0,0 +1,10 @@
1
+ # language: id
2
+ Fitur: Division
3
+ Untuk hindari kesalahan konyol
4
+ Kasir harus dapat menghitung pembagian
5
+
6
+ Skenario: bilangan biasa
7
+ Dengan aku sudah masukkan 3 ke kalkulator
8
+ Dan aku sudah masukkan 2 ke kalkulator
9
+ Ketika aku tekan divide
10
+ Maka hasilnya harus 1.5 di layar
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+ require 'spec/expectations'
3
+ $:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
4
+ require 'cucumber/formatter/unicode'
5
+ require 'calculator'
6
+
7
+ Before do
8
+ @calc = Calculator.new
9
+ end
10
+
11
+ After do
12
+ end
13
+
14
+ Given /aku sudah masukkan (\d+) ke kalkulator/ do |n|
15
+ @calc.push n.to_i
16
+ end
17
+
18
+ When /aku tekan (\w+)/ do |op|
19
+ @result = @calc.send op
20
+ end
21
+
22
+ Then /hasilnya harus (.*) di layar/ do |result|
23
+ @result.should == result.to_f
24
+ end