cavalle-cucumber 0.2.3.3.1

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 (343) hide show
  1. data/History.txt +556 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +345 -0
  4. data/README.txt +4 -0
  5. data/Rakefile +8 -0
  6. data/bin/cucumber +6 -0
  7. data/config/hoe.rb +76 -0
  8. data/config/requirements.rb +15 -0
  9. data/cucumber.yml +1 -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 +16 -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 +11 -0
  26. data/examples/i18n/bg/features/consecutive_calculations.feature +18 -0
  27. data/examples/i18n/bg/features/division.feature +16 -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/da/Rakefile +6 -0
  33. data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +24 -0
  34. data/examples/i18n/da/features/summering.feature +17 -0
  35. data/examples/i18n/da/lib/kalkulator.rb +11 -0
  36. data/examples/i18n/de/Rakefile +6 -0
  37. data/examples/i18n/de/features/addition.feature +16 -0
  38. data/examples/i18n/de/features/division.feature +9 -0
  39. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +24 -0
  40. data/examples/i18n/de/lib/calculator.rb +14 -0
  41. data/examples/i18n/en/Rakefile +6 -0
  42. data/examples/i18n/en/features/addition.feature +16 -0
  43. data/examples/i18n/en/features/division.feature +9 -0
  44. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +24 -0
  45. data/examples/i18n/en/lib/calculator.rb +14 -0
  46. data/examples/i18n/en-lol/Rakefile +6 -0
  47. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
  48. data/examples/i18n/en-lol/features/stuffing.feature +8 -0
  49. data/examples/i18n/en-lol/features/support/env.rb +8 -0
  50. data/examples/i18n/en-lol/lib/basket.rb +12 -0
  51. data/examples/i18n/en-lol/lib/belly.rb +11 -0
  52. data/examples/i18n/es/Rakefile +6 -0
  53. data/examples/i18n/es/features/adicion.feature +16 -0
  54. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +21 -0
  55. data/examples/i18n/es/lib/calculador.rb +14 -0
  56. data/examples/i18n/et/Rakefile +6 -0
  57. data/examples/i18n/et/features/jagamine.feature +9 -0
  58. data/examples/i18n/et/features/liitmine.feature +16 -0
  59. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +24 -0
  60. data/examples/i18n/et/lib/kalkulaator.rb +14 -0
  61. data/examples/i18n/fi/Rakefile +6 -0
  62. data/examples/i18n/fi/features/jakolasku.feature +9 -0
  63. data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +24 -0
  64. data/examples/i18n/fi/features/yhteenlasku.feature +16 -0
  65. data/examples/i18n/fi/lib/laskin.rb +14 -0
  66. data/examples/i18n/fr/Rakefile +6 -0
  67. data/examples/i18n/fr/features/addition.feature +17 -0
  68. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +25 -0
  69. data/examples/i18n/fr/lib/calculatrice.rb +10 -0
  70. data/examples/i18n/id/Rakefile +6 -0
  71. data/examples/i18n/id/features/addition.feature +16 -0
  72. data/examples/i18n/id/features/division.feature +9 -0
  73. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +24 -0
  74. data/examples/i18n/id/lib/calculator.rb +14 -0
  75. data/examples/i18n/it/Rakefile +6 -0
  76. data/examples/i18n/it/features/somma.feature +10 -0
  77. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +24 -0
  78. data/examples/i18n/it/lib/calcolatrice.rb +11 -0
  79. data/examples/i18n/ja/Rakefile +6 -0
  80. data/examples/i18n/ja/features/addition.feature +16 -0
  81. data/examples/i18n/ja/features/division.feature +9 -0
  82. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +24 -0
  83. data/examples/i18n/ja/lib/calculator.rb +14 -0
  84. data/examples/i18n/ko/Rakefile +6 -0
  85. data/examples/i18n/ko/features/addition.feature +16 -0
  86. data/examples/i18n/ko/features/division.feature +10 -0
  87. data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +24 -0
  88. data/examples/i18n/ko/lib/calculator.rb +14 -0
  89. data/examples/i18n/lt/Rakefile +6 -0
  90. data/examples/i18n/lt/features/addition.feature +17 -0
  91. data/examples/i18n/lt/features/division.feature +9 -0
  92. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +24 -0
  93. data/examples/i18n/lt/lib/calculator.rb +14 -0
  94. data/examples/i18n/no/Rakefile +6 -0
  95. data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +17 -0
  96. data/examples/i18n/no/features/summering.feature +18 -0
  97. data/examples/i18n/no/features/support/env.rb +6 -0
  98. data/examples/i18n/no/lib/kalkulator.rb +11 -0
  99. data/examples/i18n/pt/Rakefile +6 -0
  100. data/examples/i18n/pt/features/adicao.feature +10 -0
  101. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +24 -0
  102. data/examples/i18n/pt/lib/calculadora.rb +10 -0
  103. data/examples/i18n/ro/Rakefile +6 -0
  104. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +24 -0
  105. data/examples/i18n/ro/features/suma.feature +10 -0
  106. data/examples/i18n/ro/lib/calculator.rb +11 -0
  107. data/examples/i18n/ru/Rakefile +6 -0
  108. data/examples/i18n/ru/features/addition.feature +10 -0
  109. data/examples/i18n/ru/features/consecutive_calculations.feature +16 -0
  110. data/examples/i18n/ru/features/division.feature +15 -0
  111. data/examples/i18n/ru/features/step_definitons/calculator_steps.rb +19 -0
  112. data/examples/i18n/ru/features/support/env.rb +6 -0
  113. data/examples/i18n/ru/features/support/world.rb +8 -0
  114. data/examples/i18n/ru/lib/calculator.rb +24 -0
  115. data/examples/i18n/se/Rakefile +6 -0
  116. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +24 -0
  117. data/examples/i18n/se/features/summering.feature +17 -0
  118. data/examples/i18n/se/lib/kalkulator.rb +11 -0
  119. data/examples/i18n/sk/Rakefile +6 -0
  120. data/examples/i18n/sk/features/addition.feature +16 -0
  121. data/examples/i18n/sk/features/division.feature +9 -0
  122. data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +24 -0
  123. data/examples/i18n/sk/lib/calculator.rb +14 -0
  124. data/examples/i18n/zh-CN/Rakefile +6 -0
  125. data/examples/i18n/zh-CN/features/addition.feature +17 -0
  126. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +26 -0
  127. data/examples/i18n/zh-CN/lib/calculator.rb +10 -0
  128. data/examples/i18n/zh-TW/Rakefile +6 -0
  129. data/examples/i18n/zh-TW/features/addition.feature +16 -0
  130. data/examples/i18n/zh-TW/features/division.feature +10 -0
  131. data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +24 -0
  132. data/examples/i18n/zh-TW/lib/calculator.rb +14 -0
  133. data/examples/java/README.textile +22 -0
  134. data/examples/java/Rakefile +12 -0
  135. data/examples/java/features/hello.feature +11 -0
  136. data/examples/java/features/step_definitons/hello_steps.rb +25 -0
  137. data/examples/java/features/step_definitons/tree_steps.rb +14 -0
  138. data/examples/java/features/tree.feature +9 -0
  139. data/examples/java/src/cucumber/demo/Hello.java +16 -0
  140. data/examples/pure_java/README.textile +5 -0
  141. data/examples/selenium/Rakefile +6 -0
  142. data/examples/selenium/features/search.feature +9 -0
  143. data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
  144. data/examples/selenium/features/support/env.rb +19 -0
  145. data/examples/selenium_webrat/Rakefile +6 -0
  146. data/examples/selenium_webrat/features/search.feature +9 -0
  147. data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
  148. data/examples/selenium_webrat/features/support/env.rb +41 -0
  149. data/examples/self_test/README.textile +6 -0
  150. data/examples/self_test/Rakefile +6 -0
  151. data/examples/self_test/features/background/background_with_name.feature +7 -0
  152. data/examples/self_test/features/background/failing_background.feature +11 -0
  153. data/examples/self_test/features/background/failing_background_after_success.feature +11 -0
  154. data/examples/self_test/features/background/multiline_args_background.feature +32 -0
  155. data/examples/self_test/features/background/passing_background.feature +10 -0
  156. data/examples/self_test/features/background/pending_background.feature +10 -0
  157. data/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
  158. data/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
  159. data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
  160. data/examples/self_test/features/failing_expectation.feature +4 -0
  161. data/examples/self_test/features/lots_of_undefined.feature +8 -0
  162. data/examples/self_test/features/outline_sample.feature +15 -0
  163. data/examples/self_test/features/sample.feature +19 -0
  164. data/examples/self_test/features/step_definitions/sample_steps.rb +70 -0
  165. data/examples/self_test/features/support/env.rb +1 -0
  166. data/examples/self_test/features/support/tag_count_formatter.rb +25 -0
  167. data/examples/self_test/features/tons_of_cukes.feature +52 -0
  168. data/examples/self_test/features/undefined_multiline_args.feature +12 -0
  169. data/examples/sinatra/Rakefile +6 -0
  170. data/examples/sinatra/app.rb +14 -0
  171. data/examples/sinatra/features/add.feature +11 -0
  172. data/examples/sinatra/features/step_definitions/add_steps.rb +15 -0
  173. data/examples/sinatra/features/support/env.rb +20 -0
  174. data/examples/sinatra/views/add.erb +5 -0
  175. data/examples/sinatra/views/layout.erb +8 -0
  176. data/examples/test_unit/Rakefile +6 -0
  177. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +23 -0
  178. data/examples/test_unit/features/test_unit.feature +9 -0
  179. data/examples/tickets/Rakefile +16 -0
  180. data/examples/tickets/features/172.feature +28 -0
  181. data/examples/tickets/features/177/1.feature +29 -0
  182. data/examples/tickets/features/177/2.feature +21 -0
  183. data/examples/tickets/features/177/3.feature +18 -0
  184. data/examples/tickets/features/180.feature +7 -0
  185. data/examples/tickets/features/236.feature +13 -0
  186. data/examples/tickets/features/241.feature +13 -0
  187. data/examples/tickets/features/246.feature +4 -0
  188. data/examples/tickets/features/248.feature +11 -0
  189. data/examples/tickets/features/270/back.feature +14 -0
  190. data/examples/tickets/features/270/back.steps.rb +14 -0
  191. data/examples/tickets/features/lib/eatting_machine.rb +18 -0
  192. data/examples/tickets/features/lib/pantry.rb +20 -0
  193. data/examples/tickets/features/scenario_outline.feature +95 -0
  194. data/examples/tickets/features/step_definitons/246_steps.rb +3 -0
  195. data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
  196. data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
  197. data/examples/tickets/features/step_definitons/tickets_steps.rb +73 -0
  198. data/examples/tickets/features/tickets.feature +28 -0
  199. data/examples/watir/README.textile +16 -0
  200. data/examples/watir/Rakefile +6 -0
  201. data/examples/watir/features/search.feature +9 -0
  202. data/examples/watir/features/step_definitons/search_steps.rb +24 -0
  203. data/examples/watir/features/support/env.rb +32 -0
  204. data/features/background.feature +238 -0
  205. data/features/cucumber_cli.feature +402 -0
  206. data/features/cucumber_cli_diff_disabled.feature +45 -0
  207. data/features/cucumber_cli_outlines.feature +84 -0
  208. data/features/custom_formatter.feature +11 -0
  209. data/features/report_called_undefined_steps.feature +34 -0
  210. data/features/snippet.feature +23 -0
  211. data/features/step_definitions/cucumber_steps.rb +34 -0
  212. data/features/step_definitions/extra_steps.rb +2 -0
  213. data/features/support/env.rb +8 -0
  214. data/features/usage.feature +113 -0
  215. data/gem_tasks/deployment.rake +11 -0
  216. data/gem_tasks/environment.rake +7 -0
  217. data/gem_tasks/features.rake +6 -0
  218. data/gem_tasks/fix_cr_lf.rake +10 -0
  219. data/gem_tasks/flog.rake +4 -0
  220. data/gem_tasks/gemspec.rake +10 -0
  221. data/gem_tasks/rspec.rake +38 -0
  222. data/gem_tasks/yard.rake +8 -0
  223. data/lib/autotest/cucumber.rb +6 -0
  224. data/lib/autotest/cucumber_mixin.rb +125 -0
  225. data/lib/autotest/cucumber_rails.rb +6 -0
  226. data/lib/autotest/cucumber_rails_rspec.rb +6 -0
  227. data/lib/autotest/cucumber_rspec.rb +6 -0
  228. data/lib/autotest/discover.rb +9 -0
  229. data/lib/cucumber/ast/background.rb +50 -0
  230. data/lib/cucumber/ast/comment.rb +26 -0
  231. data/lib/cucumber/ast/examples.rb +26 -0
  232. data/lib/cucumber/ast/feature.rb +52 -0
  233. data/lib/cucumber/ast/feature_element.rb +38 -0
  234. data/lib/cucumber/ast/features.rb +26 -0
  235. data/lib/cucumber/ast/outline_table.rb +73 -0
  236. data/lib/cucumber/ast/py_string.rb +53 -0
  237. data/lib/cucumber/ast/scenario.rb +57 -0
  238. data/lib/cucumber/ast/scenario_outline.rb +80 -0
  239. data/lib/cucumber/ast/step.rb +105 -0
  240. data/lib/cucumber/ast/step_collection.rb +62 -0
  241. data/lib/cucumber/ast/step_invocation.rb +117 -0
  242. data/lib/cucumber/ast/table.rb +326 -0
  243. data/lib/cucumber/ast/tags.rb +25 -0
  244. data/lib/cucumber/ast/visitor.rb +112 -0
  245. data/lib/cucumber/ast.rb +29 -0
  246. data/lib/cucumber/broadcaster.rb +13 -0
  247. data/lib/cucumber/cli/configuration.rb +361 -0
  248. data/lib/cucumber/cli/language_help_formatter.rb +59 -0
  249. data/lib/cucumber/cli/main.rb +105 -0
  250. data/lib/cucumber/core_ext/exception.rb +53 -0
  251. data/lib/cucumber/core_ext/instance_exec.rb +67 -0
  252. data/lib/cucumber/core_ext/proc.rb +33 -0
  253. data/lib/cucumber/core_ext/string.rb +48 -0
  254. data/lib/cucumber/formatter/ansicolor.rb +110 -0
  255. data/lib/cucumber/formatter/color_io.rb +23 -0
  256. data/lib/cucumber/formatter/console.rb +110 -0
  257. data/lib/cucumber/formatter/cucumber.css +55 -0
  258. data/lib/cucumber/formatter/cucumber.sass +49 -0
  259. data/lib/cucumber/formatter/html.rb +186 -0
  260. data/lib/cucumber/formatter/pretty.rb +185 -0
  261. data/lib/cucumber/formatter/profile.rb +77 -0
  262. data/lib/cucumber/formatter/progress.rb +60 -0
  263. data/lib/cucumber/formatter/rerun.rb +43 -0
  264. data/lib/cucumber/formatter/unicode.rb +35 -0
  265. data/lib/cucumber/formatter/usage.rb +85 -0
  266. data/lib/cucumber/formatter.rb +1 -0
  267. data/lib/cucumber/formatters/unicode.rb +2 -0
  268. data/lib/cucumber/languages.yml +455 -0
  269. data/lib/cucumber/parser/feature.rb +1590 -0
  270. data/lib/cucumber/parser/feature.tt +288 -0
  271. data/lib/cucumber/parser/i18n.tt +35 -0
  272. data/lib/cucumber/parser/table.rb +414 -0
  273. data/lib/cucumber/parser/table.tt +71 -0
  274. data/lib/cucumber/parser/treetop_ext.rb +114 -0
  275. data/lib/cucumber/parser.rb +38 -0
  276. data/lib/cucumber/platform.rb +17 -0
  277. data/lib/cucumber/rails/rspec.rb +8 -0
  278. data/lib/cucumber/rails/world.rb +74 -0
  279. data/lib/cucumber/rake/task.rb +138 -0
  280. data/lib/cucumber/step_definition.rb +113 -0
  281. data/lib/cucumber/step_match.rb +57 -0
  282. data/lib/cucumber/step_mother.rb +290 -0
  283. data/lib/cucumber/version.rb +10 -0
  284. data/lib/cucumber/world.rb +53 -0
  285. data/lib/cucumber.rb +63 -0
  286. data/rails_generators/cucumber/USAGE +11 -0
  287. data/rails_generators/cucumber/cucumber_generator.rb +50 -0
  288. data/rails_generators/cucumber/templates/cucumber +8 -0
  289. data/rails_generators/cucumber/templates/cucumber.rake +15 -0
  290. data/rails_generators/cucumber/templates/env.rb +19 -0
  291. data/rails_generators/cucumber/templates/paths.rb +29 -0
  292. data/rails_generators/cucumber/templates/webrat_steps.rb +123 -0
  293. data/rails_generators/feature/USAGE +12 -0
  294. data/rails_generators/feature/feature_generator.rb +40 -0
  295. data/rails_generators/feature/templates/feature.erb +31 -0
  296. data/rails_generators/feature/templates/steps.erb +20 -0
  297. data/spec/cucumber/ast/background_spec.rb +50 -0
  298. data/spec/cucumber/ast/feature_factory.rb +63 -0
  299. data/spec/cucumber/ast/feature_spec.rb +38 -0
  300. data/spec/cucumber/ast/py_string_spec.rb +47 -0
  301. data/spec/cucumber/ast/scenario_outline_spec.rb +67 -0
  302. data/spec/cucumber/ast/scenario_spec.rb +38 -0
  303. data/spec/cucumber/ast/step_collection_spec.rb +16 -0
  304. data/spec/cucumber/ast/step_spec.rb +66 -0
  305. data/spec/cucumber/ast/table_spec.rb +170 -0
  306. data/spec/cucumber/broadcaster_spec.rb +15 -0
  307. data/spec/cucumber/cli/configuration_spec.rb +287 -0
  308. data/spec/cucumber/cli/main_spec.rb +191 -0
  309. data/spec/cucumber/core_ext/proc_spec.rb +54 -0
  310. data/spec/cucumber/core_ext/string_spec.rb +42 -0
  311. data/spec/cucumber/formatter/ansicolor_spec.rb +35 -0
  312. data/spec/cucumber/formatter/color_io_spec.rb +26 -0
  313. data/spec/cucumber/formatter/html/cucumber.css +37 -0
  314. data/spec/cucumber/formatter/html/cucumber.js +13 -0
  315. data/spec/cucumber/formatter/html/index.html +45 -0
  316. data/spec/cucumber/formatter/html/jquery-1.3.min.js +19 -0
  317. data/spec/cucumber/formatter/html/jquery.uitableedit.js +100 -0
  318. data/spec/cucumber/formatters/profile_formatter_spec.rb +198 -0
  319. data/spec/cucumber/parser/feature_parser_spec.rb +284 -0
  320. data/spec/cucumber/parser/table_parser_spec.rb +48 -0
  321. data/spec/cucumber/rails/stubs/mini_rails.rb +18 -0
  322. data/spec/cucumber/rails/stubs/test_help.rb +1 -0
  323. data/spec/cucumber/rails/world_spec.rb +11 -0
  324. data/spec/cucumber/sell_cucumbers.feature +19 -0
  325. data/spec/cucumber/step_definition_spec.rb +101 -0
  326. data/spec/cucumber/step_mother_spec.rb +137 -0
  327. data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
  328. data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
  329. data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
  330. data/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
  331. data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
  332. data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
  333. data/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
  334. data/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
  335. data/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
  336. data/spec/cucumber/treetop_parser/spaces.feature +12 -0
  337. data/spec/cucumber/treetop_parser/test_dos.feature +25 -0
  338. data/spec/cucumber/treetop_parser/with_comments.feature +10 -0
  339. data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
  340. data/spec/cucumber/world/pending_spec.rb +47 -0
  341. data/spec/spec.opts +2 -0
  342. data/spec/spec_helper.rb +12 -0
  343. metadata +458 -0
data/Manifest.txt ADDED
@@ -0,0 +1,345 @@
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.gemspec
10
+ cucumber.yml
11
+ examples/cs/README.textile
12
+ examples/cs/Rakefile
13
+ examples/cs/compile.bat
14
+ examples/cs/features/addition.feature
15
+ examples/cs/features/step_definitons/calculator_steps.rb
16
+ examples/cs/src/demo/Calculator.cs
17
+ examples/dos_line_endings/Rakefile
18
+ examples/dos_line_endings/features/dos_line_endings.feature
19
+ examples/i18n/README.textile
20
+ examples/i18n/Rakefile
21
+ examples/i18n/ar/Rakefile
22
+ examples/i18n/ar/features/addition.feature
23
+ examples/i18n/ar/features/step_definitons/calculator_steps.rb
24
+ examples/i18n/ar/lib/calculator.rb
25
+ examples/i18n/bg/Rakefile
26
+ examples/i18n/bg/features/addition.feature
27
+ examples/i18n/bg/features/consecutive_calculations.feature
28
+ examples/i18n/bg/features/division.feature
29
+ examples/i18n/bg/features/step_definitons/calculator_steps.rb
30
+ examples/i18n/bg/features/support/env.rb
31
+ examples/i18n/bg/features/support/world.rb
32
+ examples/i18n/bg/lib/calculator.rb
33
+ examples/i18n/da/Rakefile
34
+ examples/i18n/da/features/step_definitons/kalkulator_steps.rb
35
+ examples/i18n/da/features/summering.feature
36
+ examples/i18n/da/lib/kalkulator.rb
37
+ examples/i18n/de/Rakefile
38
+ examples/i18n/de/features/addition.feature
39
+ examples/i18n/de/features/division.feature
40
+ examples/i18n/de/features/step_definitons/calculator_steps.rb
41
+ examples/i18n/de/lib/calculator.rb
42
+ examples/i18n/en-lol/Rakefile
43
+ examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb
44
+ examples/i18n/en-lol/features/stuffing.feature
45
+ examples/i18n/en-lol/features/support/env.rb
46
+ examples/i18n/en-lol/lib/basket.rb
47
+ examples/i18n/en-lol/lib/belly.rb
48
+ examples/i18n/en/Rakefile
49
+ examples/i18n/en/features/addition.feature
50
+ examples/i18n/en/features/division.feature
51
+ examples/i18n/en/features/step_definitons/calculator_steps.rb
52
+ examples/i18n/en/lib/calculator.rb
53
+ examples/i18n/es/Rakefile
54
+ examples/i18n/es/features/adicion.feature
55
+ examples/i18n/es/features/step_definitons/calculador_steps.rb
56
+ examples/i18n/es/lib/calculador.rb
57
+ examples/i18n/et/Rakefile
58
+ examples/i18n/et/features/jagamine.feature
59
+ examples/i18n/et/features/liitmine.feature
60
+ examples/i18n/et/features/step_definitions/kalkulaator_steps.rb
61
+ examples/i18n/et/lib/kalkulaator.rb
62
+ examples/i18n/fi/Rakefile
63
+ examples/i18n/fi/features/jakolasku.feature
64
+ examples/i18n/fi/features/step_definitons/laskin_steps.rb
65
+ examples/i18n/fi/features/yhteenlasku.feature
66
+ examples/i18n/fi/lib/laskin.rb
67
+ examples/i18n/fr/Rakefile
68
+ examples/i18n/fr/features/addition.feature
69
+ examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
70
+ examples/i18n/fr/lib/calculatrice.rb
71
+ examples/i18n/id/Rakefile
72
+ examples/i18n/id/features/addition.feature
73
+ examples/i18n/id/features/division.feature
74
+ examples/i18n/id/features/step_definitons/calculator_steps.rb
75
+ examples/i18n/id/lib/calculator.rb
76
+ examples/i18n/it/Rakefile
77
+ examples/i18n/it/features/somma.feature
78
+ examples/i18n/it/features/step_definitons/calcolatrice_steps.rb
79
+ examples/i18n/it/lib/calcolatrice.rb
80
+ examples/i18n/ja/Rakefile
81
+ examples/i18n/ja/features/addition.feature
82
+ examples/i18n/ja/features/division.feature
83
+ examples/i18n/ja/features/step_definitons/calculator_steps.rb
84
+ examples/i18n/ja/lib/calculator.rb
85
+ examples/i18n/ko/Rakefile
86
+ examples/i18n/ko/features/addition.feature
87
+ examples/i18n/ko/features/division.feature
88
+ examples/i18n/ko/features/step_definitons/calculator_steps.rb
89
+ examples/i18n/ko/lib/calculator.rb
90
+ examples/i18n/lt/Rakefile
91
+ examples/i18n/lt/features/addition.feature
92
+ examples/i18n/lt/features/division.feature
93
+ examples/i18n/lt/features/step_definitons/calculator_steps.rb
94
+ examples/i18n/lt/lib/calculator.rb
95
+ examples/i18n/no/Rakefile
96
+ examples/i18n/no/features/step_definitons/kalkulator_steps.rb
97
+ examples/i18n/no/features/summering.feature
98
+ examples/i18n/no/features/support/env.rb
99
+ examples/i18n/no/lib/kalkulator.rb
100
+ examples/i18n/pt/Rakefile
101
+ examples/i18n/pt/features/adicao.feature
102
+ examples/i18n/pt/features/step_definitions/calculadora_steps.rb
103
+ examples/i18n/pt/lib/calculadora.rb
104
+ examples/i18n/ro/Rakefile
105
+ examples/i18n/ro/features/step_definitons/calculator_steps.rb
106
+ examples/i18n/ro/features/suma.feature
107
+ examples/i18n/ro/lib/calculator.rb
108
+ examples/i18n/ru/Rakefile
109
+ examples/i18n/ru/features/addition.feature
110
+ examples/i18n/ru/features/consecutive_calculations.feature
111
+ examples/i18n/ru/features/division.feature
112
+ examples/i18n/ru/features/step_definitons/calculator_steps.rb
113
+ examples/i18n/ru/features/support/env.rb
114
+ examples/i18n/ru/features/support/world.rb
115
+ examples/i18n/ru/lib/calculator.rb
116
+ examples/i18n/se/Rakefile
117
+ examples/i18n/se/features/step_definitons/kalkulator_steps.rb
118
+ examples/i18n/se/features/summering.feature
119
+ examples/i18n/se/lib/kalkulator.rb
120
+ examples/i18n/sk/Rakefile
121
+ examples/i18n/sk/features/addition.feature
122
+ examples/i18n/sk/features/division.feature
123
+ examples/i18n/sk/features/step_definitons/calculator_steps.rb
124
+ examples/i18n/sk/lib/calculator.rb
125
+ examples/i18n/zh-CN/Rakefile
126
+ examples/i18n/zh-CN/features/addition.feature
127
+ examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb
128
+ examples/i18n/zh-CN/lib/calculator.rb
129
+ examples/i18n/zh-TW/Rakefile
130
+ examples/i18n/zh-TW/features/addition.feature
131
+ examples/i18n/zh-TW/features/division.feature
132
+ examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
133
+ examples/i18n/zh-TW/lib/calculator.rb
134
+ examples/java/README.textile
135
+ examples/java/Rakefile
136
+ examples/java/features/hello.feature
137
+ examples/java/features/step_definitons/hello_steps.rb
138
+ examples/java/features/step_definitons/tree_steps.rb
139
+ examples/java/features/tree.feature
140
+ examples/java/src/cucumber/demo/Hello.java
141
+ examples/pure_java/README.textile
142
+ examples/selenium/Rakefile
143
+ examples/selenium/features/search.feature
144
+ examples/selenium/features/step_definitons/search_steps.rb
145
+ examples/selenium/features/support/env.rb
146
+ examples/selenium_webrat/Rakefile
147
+ examples/selenium_webrat/features/search.feature
148
+ examples/selenium_webrat/features/step_definitons/search_steps.rb
149
+ examples/selenium_webrat/features/support/env.rb
150
+ examples/self_test/README.textile
151
+ examples/self_test/Rakefile
152
+ examples/self_test/features/background/background_with_name.feature
153
+ examples/self_test/features/background/failing_background.feature
154
+ examples/self_test/features/background/failing_background_after_success.feature
155
+ examples/self_test/features/background/multiline_args_background.feature
156
+ examples/self_test/features/background/passing_background.feature
157
+ examples/self_test/features/background/pending_background.feature
158
+ examples/self_test/features/background/scenario_outline_failing_background.feature
159
+ examples/self_test/features/background/scenario_outline_passing_background.feature
160
+ examples/self_test/features/call_undefined_step_from_step_def.feature
161
+ examples/self_test/features/failing_expectation.feature
162
+ examples/self_test/features/lots_of_undefined.feature
163
+ examples/self_test/features/outline_sample.feature
164
+ examples/self_test/features/sample.feature
165
+ examples/self_test/features/step_definitions/sample_steps.rb
166
+ examples/self_test/features/support/env.rb
167
+ examples/self_test/features/support/tag_count_formatter.rb
168
+ examples/self_test/features/tons_of_cukes.feature
169
+ examples/self_test/features/undefined_multiline_args.feature
170
+ examples/sinatra/Rakefile
171
+ examples/sinatra/app.rb
172
+ examples/sinatra/features/add.feature
173
+ examples/sinatra/features/step_definitions/add_steps.rb
174
+ examples/sinatra/features/support/env.rb
175
+ examples/sinatra/views/add.erb
176
+ examples/sinatra/views/layout.erb
177
+ examples/test_unit/Rakefile
178
+ examples/test_unit/features/step_definitions/test_unit_steps.rb
179
+ examples/test_unit/features/test_unit.feature
180
+ examples/tickets/Rakefile
181
+ examples/tickets/features/172.feature
182
+ examples/tickets/features/177/1.feature
183
+ examples/tickets/features/177/2.feature
184
+ examples/tickets/features/177/3.feature
185
+ examples/tickets/features/180.feature
186
+ examples/tickets/features/236.feature
187
+ examples/tickets/features/241.feature
188
+ examples/tickets/features/246.feature
189
+ examples/tickets/features/248.feature
190
+ examples/tickets/features/270/back.feature
191
+ examples/tickets/features/270/back.steps.rb
192
+ examples/tickets/features/lib/eatting_machine.rb
193
+ examples/tickets/features/lib/pantry.rb
194
+ examples/tickets/features/scenario_outline.feature
195
+ examples/tickets/features/step_definitons/246_steps.rb
196
+ examples/tickets/features/step_definitons/248_steps.rb
197
+ examples/tickets/features/step_definitons/scenario_outline_steps.rb
198
+ examples/tickets/features/step_definitons/tickets_steps.rb
199
+ examples/tickets/features/tickets.feature
200
+ examples/watir/README.textile
201
+ examples/watir/Rakefile
202
+ examples/watir/features/search.feature
203
+ examples/watir/features/step_definitons/search_steps.rb
204
+ examples/watir/features/support/env.rb
205
+ features/background.feature
206
+ features/cucumber_cli.feature
207
+ features/cucumber_cli_diff_disabled.feature
208
+ features/cucumber_cli_outlines.feature
209
+ features/custom_formatter.feature
210
+ features/report_called_undefined_steps.feature
211
+ features/snippet.feature
212
+ features/step_definitions/cucumber_steps.rb
213
+ features/step_definitions/extra_steps.rb
214
+ features/support/env.rb
215
+ features/usage.feature
216
+ gem_tasks/deployment.rake
217
+ gem_tasks/environment.rake
218
+ gem_tasks/features.rake
219
+ gem_tasks/fix_cr_lf.rake
220
+ gem_tasks/flog.rake
221
+ gem_tasks/gemspec.rake
222
+ gem_tasks/rspec.rake
223
+ gem_tasks/yard.rake
224
+ lib/autotest/cucumber.rb
225
+ lib/autotest/cucumber_mixin.rb
226
+ lib/autotest/cucumber_rails.rb
227
+ lib/autotest/cucumber_rails_rspec.rb
228
+ lib/autotest/cucumber_rspec.rb
229
+ lib/autotest/discover.rb
230
+ lib/cucumber.rb
231
+ lib/cucumber/ast.rb
232
+ lib/cucumber/ast/background.rb
233
+ lib/cucumber/ast/comment.rb
234
+ lib/cucumber/ast/examples.rb
235
+ lib/cucumber/ast/feature.rb
236
+ lib/cucumber/ast/feature_element.rb
237
+ lib/cucumber/ast/features.rb
238
+ lib/cucumber/ast/outline_table.rb
239
+ lib/cucumber/ast/py_string.rb
240
+ lib/cucumber/ast/scenario.rb
241
+ lib/cucumber/ast/scenario_outline.rb
242
+ lib/cucumber/ast/step.rb
243
+ lib/cucumber/ast/step_collection.rb
244
+ lib/cucumber/ast/step_invocation.rb
245
+ lib/cucumber/ast/table.rb
246
+ lib/cucumber/ast/tags.rb
247
+ lib/cucumber/ast/visitor.rb
248
+ lib/cucumber/broadcaster.rb
249
+ lib/cucumber/cli/configuration.rb
250
+ lib/cucumber/cli/language_help_formatter.rb
251
+ lib/cucumber/cli/main.rb
252
+ lib/cucumber/core_ext/exception.rb
253
+ lib/cucumber/core_ext/instance_exec.rb
254
+ lib/cucumber/core_ext/proc.rb
255
+ lib/cucumber/core_ext/string.rb
256
+ lib/cucumber/formatter.rb
257
+ lib/cucumber/formatter/ansicolor.rb
258
+ lib/cucumber/formatter/color_io.rb
259
+ lib/cucumber/formatter/console.rb
260
+ lib/cucumber/formatter/cucumber.css
261
+ lib/cucumber/formatter/cucumber.sass
262
+ lib/cucumber/formatter/html.rb
263
+ lib/cucumber/formatter/pretty.rb
264
+ lib/cucumber/formatter/profile.rb
265
+ lib/cucumber/formatter/progress.rb
266
+ lib/cucumber/formatter/rerun.rb
267
+ lib/cucumber/formatter/unicode.rb
268
+ lib/cucumber/formatter/usage.rb
269
+ lib/cucumber/formatters/unicode.rb
270
+ lib/cucumber/languages.yml
271
+ lib/cucumber/parser.rb
272
+ lib/cucumber/parser/feature.rb
273
+ lib/cucumber/parser/feature.tt
274
+ lib/cucumber/parser/i18n.tt
275
+ lib/cucumber/parser/table.rb
276
+ lib/cucumber/parser/table.tt
277
+ lib/cucumber/parser/treetop_ext.rb
278
+ lib/cucumber/platform.rb
279
+ lib/cucumber/rails/rspec.rb
280
+ lib/cucumber/rails/world.rb
281
+ lib/cucumber/rake/task.rb
282
+ lib/cucumber/step_definition.rb
283
+ lib/cucumber/step_match.rb
284
+ lib/cucumber/step_mother.rb
285
+ lib/cucumber/version.rb
286
+ lib/cucumber/world.rb
287
+ logos/gideon-bullock-1.png
288
+ logos/gideon-bullock-2.png
289
+ rails_generators/cucumber/USAGE
290
+ rails_generators/cucumber/cucumber_generator.rb
291
+ rails_generators/cucumber/templates/cucumber
292
+ rails_generators/cucumber/templates/cucumber.rake
293
+ rails_generators/cucumber/templates/env.rb
294
+ rails_generators/cucumber/templates/paths.rb
295
+ rails_generators/cucumber/templates/webrat_steps.rb
296
+ rails_generators/feature/USAGE
297
+ rails_generators/feature/feature_generator.rb
298
+ rails_generators/feature/templates/feature.erb
299
+ rails_generators/feature/templates/steps.erb
300
+ spec/cucumber/ast/background_spec.rb
301
+ spec/cucumber/ast/feature_factory.rb
302
+ spec/cucumber/ast/feature_spec.rb
303
+ spec/cucumber/ast/py_string_spec.rb
304
+ spec/cucumber/ast/scenario_outline_spec.rb
305
+ spec/cucumber/ast/scenario_spec.rb
306
+ spec/cucumber/ast/step_collection_spec.rb
307
+ spec/cucumber/ast/step_spec.rb
308
+ spec/cucumber/ast/table_spec.rb
309
+ spec/cucumber/broadcaster_spec.rb
310
+ spec/cucumber/cli/configuration_spec.rb
311
+ spec/cucumber/cli/main_spec.rb
312
+ spec/cucumber/core_ext/proc_spec.rb
313
+ spec/cucumber/core_ext/string_spec.rb
314
+ spec/cucumber/formatter/ansicolor_spec.rb
315
+ spec/cucumber/formatter/color_io_spec.rb
316
+ spec/cucumber/formatter/html/cucumber.css
317
+ spec/cucumber/formatter/html/cucumber.js
318
+ spec/cucumber/formatter/html/index.html
319
+ spec/cucumber/formatter/html/jquery-1.3.min.js
320
+ spec/cucumber/formatter/html/jquery.uitableedit.js
321
+ spec/cucumber/formatters/profile_formatter_spec.rb
322
+ spec/cucumber/parser/feature_parser_spec.rb
323
+ spec/cucumber/parser/table_parser_spec.rb
324
+ spec/cucumber/rails/stubs/mini_rails.rb
325
+ spec/cucumber/rails/stubs/test_help.rb
326
+ spec/cucumber/rails/world_spec.rb
327
+ spec/cucumber/sell_cucumbers.feature
328
+ spec/cucumber/step_definition_spec.rb
329
+ spec/cucumber/step_mother_spec.rb
330
+ spec/cucumber/treetop_parser/empty_feature.feature
331
+ spec/cucumber/treetop_parser/empty_scenario.feature
332
+ spec/cucumber/treetop_parser/empty_scenario_outline.feature
333
+ spec/cucumber/treetop_parser/fit_scenario.feature
334
+ spec/cucumber/treetop_parser/given_scenario.feature
335
+ spec/cucumber/treetop_parser/invalid_scenario_outlines.feature
336
+ spec/cucumber/treetop_parser/multiline_steps.feature
337
+ spec/cucumber/treetop_parser/multiple_tables.feature
338
+ spec/cucumber/treetop_parser/scenario_outline.feature
339
+ spec/cucumber/treetop_parser/spaces.feature
340
+ spec/cucumber/treetop_parser/test_dos.feature
341
+ spec/cucumber/treetop_parser/with_comments.feature
342
+ spec/cucumber/treetop_parser/with_tags.feature
343
+ spec/cucumber/world/pending_spec.rb
344
+ spec/spec.opts
345
+ 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,8 @@
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...
data/bin/cucumber ADDED
@@ -0,0 +1,6 @@
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/cli/main'
6
+ Cucumber::Cli::Main.execute(ARGV.dup) # The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
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
+ class Hoe
42
+ def extra_deps
43
+ @extra_deps.reject! { |x| Array(x).first == 'hoe' }
44
+ @extra_deps
45
+ end
46
+ end
47
+
48
+ # Generate all the Rake tasks
49
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
50
+ $hoe = Hoe.new(GEM_NAME, VERS) do |p|
51
+ p.developer(AUTHOR, EMAIL)
52
+ p.description = DESCRIPTION
53
+ p.summary = DESCRIPTION
54
+ p.url = HOMEPATH
55
+ p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
56
+ p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store', '**/*.class', '**/*.jar'] #An array of file patterns to delete on clean.
57
+
58
+ # == Optional
59
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
60
+ #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
61
+ p.extra_deps = [
62
+ ['term-ansicolor', '>= 1.0.3'],
63
+ ['treetop', '>= 1.2.5'],
64
+ ['polyglot', '>= 0.2.5'], # Remove this when Treetop no longer loads polyglot by default.
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 @@
1
+ default: --format progress 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 = "--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: Add two numbers
7
+ Given I have entered 50 into the calculator
8
+ And I have entered 70 into the calculator
9
+ When I press add
10
+ Then the result should be 120 on the screen
11
+
12
+ More 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'
4
+
5
+ Before do
6
+ @calc = Demo::Calculator.new
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 = "--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
@@ -0,0 +1,18 @@
1
+ h1. Internationalisation (i18n) examples
2
+
3
+ Under this directory you'll find examples of Cucumber features written in
4
+ many of the natural languages Cucumber supports.
5
+
6
+ For a full list of what languages Cucumber supports - run <pre>cucumber --language help</pre>
7
+
8
+ h2. Running all the examples
9
+
10
+ Open a shell in this directory and run
11
+
12
+ <pre>rake i18n</pre>
13
+
14
+ h2. Running examples for a specific language
15
+
16
+ Open a shell in the directory for the specific language and run
17
+
18
+ <pre>rake features</pre>
@@ -0,0 +1,30 @@
1
+ desc 'Run features for all languages'
2
+ task :i18n do
3
+ dir = File.dirname(__FILE__)
4
+ Dir["#{dir}/*"].each do |f|
5
+ if File.directory?(f)
6
+ lang = f[dir.length+1..-1]
7
+ if examples_working?(lang)
8
+ Dir.chdir(f) do
9
+ rake("features")
10
+ end
11
+ else
12
+ STDERR.puts %{
13
+ !!!!!
14
+ !!!!!
15
+ !!!!! SKIPPING #{lang} (The examples are out of date - please help update them)
16
+ !!!!!
17
+ !!!!!
18
+ }
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ def examples_working?(lang)
25
+ !%w{ro ko li lt}.index(lang)
26
+ end
27
+
28
+ def rake(args)
29
+ ruby($0, args) rescue nil
30
+ 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 = "--language ar"
6
+ end
@@ -0,0 +1,16 @@
1
+ خاصية: الجمع
2
+ من اجل تجنب الأخطاء السخيفة
3
+ كشخص غبي في الرياضيات
4
+ اريد معرفة ناتج جمع عددين
5
+
6
+ سيناريو مخطط: جمع عددين
7
+ بفرض كتابة <input_1> في الآلة الحاسبة
8
+ و كتابة <input_2> في الآلة الحاسبة
9
+ متى يتم الضغط على <button>
10
+ اذاً يظهر <output> على الشاشة
11
+
12
+ امثلة:
13
+ | input_1 | input_2 | button | output |
14
+ | 20 | 30 | جمع | 50 |
15
+ | 2 | 5 | جمع | 7 |
16
+ | 0 | 40 | جمع | 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 'calculator'
6
+
7
+ Before do
8
+ @calc = Calculator.new
9
+ end
10
+
11
+ After do
12
+ end
13
+
14
+ Given "كتابة $n في الآلة الحاسبة" 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