kbaum-cucumber 0.4.5.pre

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 (511) hide show
  1. data/.gitattributes +1 -0
  2. data/.gitignore +18 -0
  3. data/Caliper.yml +5 -0
  4. data/History.txt +1292 -0
  5. data/LICENSE +22 -0
  6. data/README.rdoc +26 -0
  7. data/Rakefile +63 -0
  8. data/VERSION.yml +5 -0
  9. data/bin/cucumber +16 -0
  10. data/cucumber.gemspec +741 -0
  11. data/cucumber.yml +10 -0
  12. data/examples/dos_line_endings/Rakefile +6 -0
  13. data/examples/dos_line_endings/features/dos_line_endings.feature +9 -0
  14. data/examples/i18n/README.textile +18 -0
  15. data/examples/i18n/Rakefile +32 -0
  16. data/examples/i18n/ar/Rakefile +6 -0
  17. data/examples/i18n/ar/features/addition.feature +17 -0
  18. data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +24 -0
  19. data/examples/i18n/ar/lib/calculator.rb +11 -0
  20. data/examples/i18n/bg/Rakefile +6 -0
  21. data/examples/i18n/bg/features/addition.feature +12 -0
  22. data/examples/i18n/bg/features/consecutive_calculations.feature +19 -0
  23. data/examples/i18n/bg/features/division.feature +17 -0
  24. data/examples/i18n/bg/features/step_definitons/calculator_steps.rb +24 -0
  25. data/examples/i18n/bg/features/support/env.rb +6 -0
  26. data/examples/i18n/bg/features/support/world.rb +8 -0
  27. data/examples/i18n/bg/lib/calculator.rb +24 -0
  28. data/examples/i18n/cat/Rakefile +6 -0
  29. data/examples/i18n/cat/features/step_definitons/calculator_steps.rb +21 -0
  30. data/examples/i18n/cat/features/suma.feature +17 -0
  31. data/examples/i18n/cat/lib/calculadora.rb +16 -0
  32. data/examples/i18n/da/Rakefile +6 -0
  33. data/examples/i18n/da/features/sammenlaegning.feature +18 -0
  34. data/examples/i18n/da/features/step_definitons/lommeregner_steps.rb +24 -0
  35. data/examples/i18n/da/lib/lommeregner.rb +11 -0
  36. data/examples/i18n/de/.gitignore +1 -0
  37. data/examples/i18n/de/Rakefile +6 -0
  38. data/examples/i18n/de/features/addition.feature +17 -0
  39. data/examples/i18n/de/features/division.feature +10 -0
  40. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +24 -0
  41. data/examples/i18n/de/lib/calculator.rb +14 -0
  42. data/examples/i18n/en-lol/Rakefile +4 -0
  43. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
  44. data/examples/i18n/en-lol/features/stuffing.feature +8 -0
  45. data/examples/i18n/en-lol/features/support/env.rb +8 -0
  46. data/examples/i18n/en-lol/lib/basket.rb +12 -0
  47. data/examples/i18n/en-lol/lib/belly.rb +11 -0
  48. data/examples/i18n/en/.gitignore +1 -0
  49. data/examples/i18n/en/Rakefile +6 -0
  50. data/examples/i18n/en/features/addition.feature +17 -0
  51. data/examples/i18n/en/features/division.feature +10 -0
  52. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +24 -0
  53. data/examples/i18n/en/lib/calculator.rb +14 -0
  54. data/examples/i18n/es/Rakefile +6 -0
  55. data/examples/i18n/es/features/adicion.feature +17 -0
  56. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +21 -0
  57. data/examples/i18n/es/lib/calculador.rb +14 -0
  58. data/examples/i18n/et/Rakefile +6 -0
  59. data/examples/i18n/et/features/jagamine.feature +10 -0
  60. data/examples/i18n/et/features/liitmine.feature +17 -0
  61. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +24 -0
  62. data/examples/i18n/et/lib/kalkulaator.rb +14 -0
  63. data/examples/i18n/fi/.gitignore +1 -0
  64. data/examples/i18n/fi/Rakefile +6 -0
  65. data/examples/i18n/fi/features/jakolasku.feature +10 -0
  66. data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +24 -0
  67. data/examples/i18n/fi/features/yhteenlasku.feature +17 -0
  68. data/examples/i18n/fi/lib/laskin.rb +14 -0
  69. data/examples/i18n/fr/Rakefile +6 -0
  70. data/examples/i18n/fr/features/addition.feature +18 -0
  71. data/examples/i18n/fr/features/addition2.feature +17 -0
  72. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +38 -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/.gitignore +1 -0
  80. data/examples/i18n/hu/Rakefile +6 -0
  81. data/examples/i18n/hu/features/addition.feature +17 -0
  82. data/examples/i18n/hu/features/division.feature +10 -0
  83. data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +25 -0
  84. data/examples/i18n/hu/lib/calculator.rb +14 -0
  85. data/examples/i18n/id/.gitignore +1 -0
  86. data/examples/i18n/id/Rakefile +6 -0
  87. data/examples/i18n/id/features/addition.feature +17 -0
  88. data/examples/i18n/id/features/division.feature +10 -0
  89. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +24 -0
  90. data/examples/i18n/id/lib/calculator.rb +14 -0
  91. data/examples/i18n/it/Rakefile +6 -0
  92. data/examples/i18n/it/features/somma.feature +11 -0
  93. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +24 -0
  94. data/examples/i18n/it/lib/calcolatrice.rb +11 -0
  95. data/examples/i18n/ja/.gitignore +1 -0
  96. data/examples/i18n/ja/Rakefile +6 -0
  97. data/examples/i18n/ja/features/addition.feature +17 -0
  98. data/examples/i18n/ja/features/division.feature +10 -0
  99. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +24 -0
  100. data/examples/i18n/ja/lib/calculator.rb +14 -0
  101. data/examples/i18n/ko/.gitignore +1 -0
  102. data/examples/i18n/ko/Rakefile +6 -0
  103. data/examples/i18n/ko/features/addition.feature +17 -0
  104. data/examples/i18n/ko/features/division.feature +11 -0
  105. data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +24 -0
  106. data/examples/i18n/ko/lib/calculator.rb +14 -0
  107. data/examples/i18n/lt/.gitignore +1 -0
  108. data/examples/i18n/lt/Rakefile +6 -0
  109. data/examples/i18n/lt/features/addition.feature +17 -0
  110. data/examples/i18n/lt/features/division.feature +10 -0
  111. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +24 -0
  112. data/examples/i18n/lt/lib/calculator.rb +14 -0
  113. data/examples/i18n/lv/Rakefile +6 -0
  114. data/examples/i18n/lv/features/addition.feature +17 -0
  115. data/examples/i18n/lv/features/division.feature +10 -0
  116. data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +24 -0
  117. data/examples/i18n/lv/lib/calculator.rb +14 -0
  118. data/examples/i18n/no/Rakefile +6 -0
  119. data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +17 -0
  120. data/examples/i18n/no/features/summering.feature +19 -0
  121. data/examples/i18n/no/features/support/env.rb +6 -0
  122. data/examples/i18n/no/lib/kalkulator.rb +11 -0
  123. data/examples/i18n/pl/.gitignore +1 -0
  124. data/examples/i18n/pl/Rakefile +6 -0
  125. data/examples/i18n/pl/features/addition.feature +17 -0
  126. data/examples/i18n/pl/features/division.feature +10 -0
  127. data/examples/i18n/pl/features/step_definitons/calculator_steps.rb +24 -0
  128. data/examples/i18n/pl/features/support/env.rb +6 -0
  129. data/examples/i18n/pl/lib/calculator.rb +14 -0
  130. data/examples/i18n/pt/Rakefile +6 -0
  131. data/examples/i18n/pt/features/adicao.feature +11 -0
  132. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +20 -0
  133. data/examples/i18n/pt/features/support/env.rb +6 -0
  134. data/examples/i18n/pt/lib/calculadora.rb +10 -0
  135. data/examples/i18n/ro/Rakefile +6 -0
  136. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +24 -0
  137. data/examples/i18n/ro/features/suma.feature +11 -0
  138. data/examples/i18n/ro/lib/calculator.rb +11 -0
  139. data/examples/i18n/ru/Rakefile +6 -0
  140. data/examples/i18n/ru/features/addition.feature +11 -0
  141. data/examples/i18n/ru/features/consecutive_calculations.feature +17 -0
  142. data/examples/i18n/ru/features/division.feature +16 -0
  143. data/examples/i18n/ru/features/step_definitons/calculator_steps.rb +19 -0
  144. data/examples/i18n/ru/features/support/env.rb +6 -0
  145. data/examples/i18n/ru/features/support/world.rb +8 -0
  146. data/examples/i18n/ru/lib/calculator.rb +24 -0
  147. data/examples/i18n/se/Rakefile +6 -0
  148. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +24 -0
  149. data/examples/i18n/se/features/summering.feature +18 -0
  150. data/examples/i18n/se/lib/kalkulator.rb +11 -0
  151. data/examples/i18n/sk/.gitignore +1 -0
  152. data/examples/i18n/sk/Rakefile +6 -0
  153. data/examples/i18n/sk/features/addition.feature +17 -0
  154. data/examples/i18n/sk/features/division.feature +10 -0
  155. data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +24 -0
  156. data/examples/i18n/sk/lib/calculator.rb +14 -0
  157. data/examples/i18n/sr-latn/Rakefile +6 -0
  158. data/examples/i18n/sr-latn/features/sabiranje.feature +18 -0
  159. data/examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb +24 -0
  160. data/examples/i18n/sr-latn/lib/calculator.rb +12 -0
  161. data/examples/i18n/sr/Rakefile +6 -0
  162. data/examples/i18n/sr/features/sabiranje.feature +18 -0
  163. data/examples/i18n/sr/features/step_definitons/calculator_steps.rb +24 -0
  164. data/examples/i18n/sr/lib/calculator.rb +12 -0
  165. data/examples/i18n/tr/.gitignore +1 -0
  166. data/examples/i18n/tr/Rakefile +6 -0
  167. data/examples/i18n/tr/features/bolme.feature +10 -0
  168. data/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +24 -0
  169. data/examples/i18n/tr/features/toplama.feature +18 -0
  170. data/examples/i18n/tr/lib/hesap_makinesi.rb +15 -0
  171. data/examples/i18n/uz/Rakefile +6 -0
  172. data/examples/i18n/uz/features/addition.feature +10 -0
  173. data/examples/i18n/uz/features/consecutive_calculations.feature +17 -0
  174. data/examples/i18n/uz/features/division.feature +17 -0
  175. data/examples/i18n/uz/features/step_definitons/calculator_steps.rb +19 -0
  176. data/examples/i18n/uz/features/support/env.rb +6 -0
  177. data/examples/i18n/uz/features/support/world.rb +8 -0
  178. data/examples/i18n/uz/lib/calculator.rb +24 -0
  179. data/examples/i18n/zh-CN/Rakefile +4 -0
  180. data/examples/i18n/zh-CN/features/addition.feature +18 -0
  181. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +26 -0
  182. data/examples/i18n/zh-CN/lib/calculator.rb +10 -0
  183. data/examples/i18n/zh-TW/.gitignore +1 -0
  184. data/examples/i18n/zh-TW/Rakefile +4 -0
  185. data/examples/i18n/zh-TW/features/addition.feature +17 -0
  186. data/examples/i18n/zh-TW/features/division.feature +11 -0
  187. data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +24 -0
  188. data/examples/i18n/zh-TW/lib/calculator.rb +14 -0
  189. data/examples/junit/features/one_passing_one_failing.feature +8 -0
  190. data/examples/junit/features/pending.feature +5 -0
  191. data/examples/junit/features/step_definitions/steps.rb +11 -0
  192. data/examples/python/features/fibonacci.feature +19 -0
  193. data/examples/python/features/step_definitions/fib_steps.py +11 -0
  194. data/examples/python/lib/.gitignore +1 -0
  195. data/examples/python/lib/fib.py +7 -0
  196. data/examples/ramaze/README.textile +7 -0
  197. data/examples/ramaze/Rakefile +6 -0
  198. data/examples/ramaze/app.rb +21 -0
  199. data/examples/ramaze/features/add.feature +11 -0
  200. data/examples/ramaze/features/step_definitions/add_steps.rb +15 -0
  201. data/examples/ramaze/features/support/env.rb +32 -0
  202. data/examples/ramaze/layout/default.html.erb +8 -0
  203. data/examples/ramaze/view/index.html.erb +5 -0
  204. data/examples/ruby2python/features/fibonacci.feature +19 -0
  205. data/examples/ruby2python/features/step_definitions/fib_steps.rb +7 -0
  206. data/examples/ruby2python/features/support/env.rb +21 -0
  207. data/examples/ruby2python/lib/.gitignore +1 -0
  208. data/examples/ruby2python/lib/fib.py +7 -0
  209. data/examples/selenium/Rakefile +6 -0
  210. data/examples/selenium/features/search.feature +9 -0
  211. data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
  212. data/examples/selenium/features/support/env.rb +19 -0
  213. data/examples/selenium_webrat/Rakefile +6 -0
  214. data/examples/selenium_webrat/config.ru +0 -0
  215. data/examples/selenium_webrat/features/search.feature +9 -0
  216. data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
  217. data/examples/selenium_webrat/features/support/env.rb +45 -0
  218. data/examples/self_test/.gitignore +1 -0
  219. data/examples/self_test/README.textile +6 -0
  220. data/examples/self_test/Rakefile +6 -0
  221. data/examples/self_test/features/background/background_tagged_before_on_outline.feature +12 -0
  222. data/examples/self_test/features/background/background_with_name.feature +7 -0
  223. data/examples/self_test/features/background/failing_background.feature +12 -0
  224. data/examples/self_test/features/background/failing_background_after_success.feature +11 -0
  225. data/examples/self_test/features/background/multiline_args_background.feature +32 -0
  226. data/examples/self_test/features/background/passing_background.feature +10 -0
  227. data/examples/self_test/features/background/pending_background.feature +10 -0
  228. data/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
  229. data/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
  230. data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
  231. data/examples/self_test/features/failing_expectation.feature +4 -0
  232. data/examples/self_test/features/lots_of_undefined.feature +8 -0
  233. data/examples/self_test/features/multiline_name.feature +27 -0
  234. data/examples/self_test/features/outline_sample.feature +15 -0
  235. data/examples/self_test/features/sample.feature +21 -0
  236. data/examples/self_test/features/search_sample.feature +32 -0
  237. data/examples/self_test/features/step_definitions/sample_steps.rb +81 -0
  238. data/examples/self_test/features/support/env.rb +18 -0
  239. data/examples/self_test/features/tags_sample.feature +17 -0
  240. data/examples/self_test/features/tons_of_cukes.feature +52 -0
  241. data/examples/self_test/features/undefined_multiline_args.feature +12 -0
  242. data/examples/self_test/list-of-features.txt +1 -0
  243. data/examples/sinatra/README.textile +13 -0
  244. data/examples/sinatra/Rakefile +6 -0
  245. data/examples/sinatra/app.rb +14 -0
  246. data/examples/sinatra/features/add.feature +11 -0
  247. data/examples/sinatra/features/step_definitions/add_steps.rb +15 -0
  248. data/examples/sinatra/features/support/env.rb +30 -0
  249. data/examples/sinatra/views/add.erb +5 -0
  250. data/examples/sinatra/views/layout.erb +8 -0
  251. data/examples/steps_library/features/step_definitions/steps_lib1.rb +8 -0
  252. data/examples/steps_library/features/step_definitions/steps_lib2.rb +8 -0
  253. data/examples/tcl/README.textile +11 -0
  254. data/examples/tcl/Rakefile +6 -0
  255. data/examples/tcl/features/fibonnacci.feature +17 -0
  256. data/examples/tcl/features/step_definitions/fib_steps.rb +7 -0
  257. data/examples/tcl/features/support/env.rb +6 -0
  258. data/examples/tcl/src/fib.tcl +3 -0
  259. data/examples/test_unit/Rakefile +6 -0
  260. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +23 -0
  261. data/examples/test_unit/features/test_unit.feature +9 -0
  262. data/examples/tickets/Rakefile +20 -0
  263. data/examples/tickets/features.html +138 -0
  264. data/examples/tickets/features/172.feature +28 -0
  265. data/examples/tickets/features/177/1.feature +28 -0
  266. data/examples/tickets/features/177/2.feature +20 -0
  267. data/examples/tickets/features/177/3.feature +18 -0
  268. data/examples/tickets/features/180.feature +7 -0
  269. data/examples/tickets/features/229/tagged_hooks.feature +8 -0
  270. data/examples/tickets/features/229/tagged_hooks.rb +14 -0
  271. data/examples/tickets/features/236.feature +13 -0
  272. data/examples/tickets/features/241.feature +12 -0
  273. data/examples/tickets/features/246.feature +4 -0
  274. data/examples/tickets/features/248.feature +11 -0
  275. data/examples/tickets/features/270/back.feature +14 -0
  276. data/examples/tickets/features/270/back.steps.rb +14 -0
  277. data/examples/tickets/features/272/hooks.feature +26 -0
  278. data/examples/tickets/features/272/hooks_steps.rb +53 -0
  279. data/examples/tickets/features/279/py_string_indent.feature +25 -0
  280. data/examples/tickets/features/279/py_string_indent.steps.rb +12 -0
  281. data/examples/tickets/features/279/wrong.feature_ +11 -0
  282. data/examples/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
  283. data/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
  284. data/examples/tickets/features/306/only_background.feature +4 -0
  285. data/examples/tickets/features/lib/eatting_machine.rb +18 -0
  286. data/examples/tickets/features/lib/pantry.rb +20 -0
  287. data/examples/tickets/features/scenario_outline.feature +95 -0
  288. data/examples/tickets/features/step_definitons/246_steps.rb +3 -0
  289. data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
  290. data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
  291. data/examples/tickets/features/step_definitons/tickets_steps.rb +81 -0
  292. data/examples/tickets/features/table_diffing.feature +13 -0
  293. data/examples/tickets/features/tickets.feature +28 -0
  294. data/examples/watir/README.textile +16 -0
  295. data/examples/watir/Rakefile +10 -0
  296. data/examples/watir/features/search.feature +12 -0
  297. data/examples/watir/features/step_definitions/search_steps.rb +26 -0
  298. data/examples/watir/features/support/env.rb +32 -0
  299. data/examples/watir/features/support/screenshots.rb +44 -0
  300. data/examples/webrat/features/search.feature +12 -0
  301. data/examples/webrat/features/step_definitions/kvasir_steps.rb +14 -0
  302. data/examples/webrat/features/support/env.rb +17 -0
  303. data/features/announce.feature +122 -0
  304. data/features/background.feature +308 -0
  305. data/features/bug_371.feature +32 -0
  306. data/features/bug_464.feature +16 -0
  307. data/features/bug_475.feature +43 -0
  308. data/features/call_many_steps.feature +124 -0
  309. data/features/cucumber_cli.feature +654 -0
  310. data/features/cucumber_cli_diff_disabled.feature +52 -0
  311. data/features/cucumber_cli_outlines.feature +105 -0
  312. data/features/custom_formatter.feature +47 -0
  313. data/features/default_snippets.feature +42 -0
  314. data/features/drb_server_integration.feature +174 -0
  315. data/features/exception_in_after_block.feature +100 -0
  316. data/features/exception_in_after_step_block.feature +102 -0
  317. data/features/exception_in_before_block.feature +78 -0
  318. data/features/exclude_files.feature +20 -0
  319. data/features/expand.feature +60 -0
  320. data/features/html_formatter.feature +7 -0
  321. data/features/html_formatter/a.html +400 -0
  322. data/features/junit_formatter.feature +88 -0
  323. data/features/language_from_header.feature +30 -0
  324. data/features/language_help.feature +68 -0
  325. data/features/listener_debugger_formatter.feature +41 -0
  326. data/features/multiline_names.feature +43 -0
  327. data/features/negative_tagged_hooks.feature +61 -0
  328. data/features/post_configuration_hook.feature +37 -0
  329. data/features/profiles.feature +112 -0
  330. data/features/rake_task.feature +152 -0
  331. data/features/report_called_undefined_steps.feature +34 -0
  332. data/features/simplest.feature +11 -0
  333. data/features/snippet.feature +22 -0
  334. data/features/step_definitions/cucumber_steps.rb +154 -0
  335. data/features/step_definitions/extra_steps.rb +2 -0
  336. data/features/step_definitions/simplest_steps.rb +3 -0
  337. data/features/step_definitions/wire_steps.rb +14 -0
  338. data/features/support/env.rb +141 -0
  339. data/features/support/env.rb.simplest +7 -0
  340. data/features/support/fake_wire_server.rb +63 -0
  341. data/features/table_diffing.feature +45 -0
  342. data/features/table_mapping.feature +35 -0
  343. data/features/tag_logic.feature +258 -0
  344. data/features/transform.feature +245 -0
  345. data/features/unicode_table.feature +35 -0
  346. data/features/usage_and_stepdefs_formatter.feature +169 -0
  347. data/features/wire_protocol.feature +177 -0
  348. data/features/work_in_progress.feature +156 -0
  349. data/gem_tasks/contributors.rake +13 -0
  350. data/gem_tasks/environment.rake +7 -0
  351. data/gem_tasks/features.rake +18 -0
  352. data/gem_tasks/fix_cr_lf.rake +10 -0
  353. data/gem_tasks/flog.rake +4 -0
  354. data/gem_tasks/rspec.rake +15 -0
  355. data/gem_tasks/sass.rake +4 -0
  356. data/gem_tasks/sdoc.rake +12 -0
  357. data/lib/README.rdoc +12 -0
  358. data/lib/autotest/cucumber.rb +6 -0
  359. data/lib/autotest/cucumber_mixin.rb +131 -0
  360. data/lib/autotest/cucumber_rails.rb +6 -0
  361. data/lib/autotest/cucumber_rails_rspec.rb +6 -0
  362. data/lib/autotest/cucumber_rspec.rb +6 -0
  363. data/lib/autotest/discover.rb +9 -0
  364. data/lib/cucumber.rb +15 -0
  365. data/lib/cucumber/ast.rb +30 -0
  366. data/lib/cucumber/ast/background.rb +75 -0
  367. data/lib/cucumber/ast/comment.rb +31 -0
  368. data/lib/cucumber/ast/examples.rb +36 -0
  369. data/lib/cucumber/ast/feature.rb +85 -0
  370. data/lib/cucumber/ast/feature_element.rb +68 -0
  371. data/lib/cucumber/ast/features.rb +40 -0
  372. data/lib/cucumber/ast/outline_table.rb +166 -0
  373. data/lib/cucumber/ast/py_string.rb +59 -0
  374. data/lib/cucumber/ast/scenario.rb +111 -0
  375. data/lib/cucumber/ast/scenario_outline.rb +100 -0
  376. data/lib/cucumber/ast/step.rb +121 -0
  377. data/lib/cucumber/ast/step_collection.rb +76 -0
  378. data/lib/cucumber/ast/step_invocation.rb +190 -0
  379. data/lib/cucumber/ast/table.rb +655 -0
  380. data/lib/cucumber/ast/tags.rb +122 -0
  381. data/lib/cucumber/ast/tree_walker.rb +201 -0
  382. data/lib/cucumber/ast/visitor.rb +11 -0
  383. data/lib/cucumber/broadcaster.rb +13 -0
  384. data/lib/cucumber/cli/configuration.rb +180 -0
  385. data/lib/cucumber/cli/drb_client.rb +32 -0
  386. data/lib/cucumber/cli/language_help_formatter.rb +72 -0
  387. data/lib/cucumber/cli/main.rb +121 -0
  388. data/lib/cucumber/cli/options.rb +404 -0
  389. data/lib/cucumber/cli/profile_loader.rb +82 -0
  390. data/lib/cucumber/constantize.rb +34 -0
  391. data/lib/cucumber/core_ext/instance_exec.rb +98 -0
  392. data/lib/cucumber/core_ext/proc.rb +30 -0
  393. data/lib/cucumber/core_ext/string.rb +16 -0
  394. data/lib/cucumber/feature_file.rb +54 -0
  395. data/lib/cucumber/filter.rb +41 -0
  396. data/lib/cucumber/formatter/ansicolor.rb +157 -0
  397. data/lib/cucumber/formatter/color_io.rb +23 -0
  398. data/lib/cucumber/formatter/console.rb +205 -0
  399. data/lib/cucumber/formatter/cucumber.css +248 -0
  400. data/lib/cucumber/formatter/cucumber.sass +241 -0
  401. data/lib/cucumber/formatter/debug.rb +33 -0
  402. data/lib/cucumber/formatter/duration.rb +13 -0
  403. data/lib/cucumber/formatter/html.rb +545 -0
  404. data/lib/cucumber/formatter/io.rb +33 -0
  405. data/lib/cucumber/formatter/junit.rb +149 -0
  406. data/lib/cucumber/formatter/ordered_xml_markup.rb +24 -0
  407. data/lib/cucumber/formatter/pdf.rb +234 -0
  408. data/lib/cucumber/formatter/pretty.rb +237 -0
  409. data/lib/cucumber/formatter/progress.rb +75 -0
  410. data/lib/cucumber/formatter/rerun.rb +50 -0
  411. data/lib/cucumber/formatter/stepdefs.rb +14 -0
  412. data/lib/cucumber/formatter/steps.rb +49 -0
  413. data/lib/cucumber/formatter/summary.rb +35 -0
  414. data/lib/cucumber/formatter/tag_cloud.rb +34 -0
  415. data/lib/cucumber/formatter/unicode.rb +35 -0
  416. data/lib/cucumber/formatter/usage.rb +127 -0
  417. data/lib/cucumber/language_support.rb +30 -0
  418. data/lib/cucumber/language_support/language_methods.rb +110 -0
  419. data/lib/cucumber/languages.yml +535 -0
  420. data/lib/cucumber/parser.rb +8 -0
  421. data/lib/cucumber/parser/common.rb +170 -0
  422. data/lib/cucumber/parser/common.tt +21 -0
  423. data/lib/cucumber/parser/feature.rb +1783 -0
  424. data/lib/cucumber/parser/feature.tt +317 -0
  425. data/lib/cucumber/parser/i18n.tt +34 -0
  426. data/lib/cucumber/parser/natural_language.rb +108 -0
  427. data/lib/cucumber/parser/py_string.rb +276 -0
  428. data/lib/cucumber/parser/py_string.tt +45 -0
  429. data/lib/cucumber/parser/table.rb +305 -0
  430. data/lib/cucumber/parser/table.tt +60 -0
  431. data/lib/cucumber/parser/treetop_ext.rb +53 -0
  432. data/lib/cucumber/platform.rb +31 -0
  433. data/lib/cucumber/py_support/py_dsl.py +10 -0
  434. data/lib/cucumber/py_support/py_language.py +10 -0
  435. data/lib/cucumber/py_support/py_language.rb +81 -0
  436. data/lib/cucumber/rake/task.rb +166 -0
  437. data/lib/cucumber/rb_support/rb_dsl.rb +102 -0
  438. data/lib/cucumber/rb_support/rb_hook.rb +19 -0
  439. data/lib/cucumber/rb_support/rb_language.rb +179 -0
  440. data/lib/cucumber/rb_support/rb_step_definition.rb +75 -0
  441. data/lib/cucumber/rb_support/rb_transform.rb +37 -0
  442. data/lib/cucumber/rb_support/rb_world.rb +81 -0
  443. data/lib/cucumber/rb_support/regexp_argument_matcher.rb +21 -0
  444. data/lib/cucumber/rspec_neuter.rb +23 -0
  445. data/lib/cucumber/step_argument.rb +9 -0
  446. data/lib/cucumber/step_definition_light.rb +20 -0
  447. data/lib/cucumber/step_match.rb +107 -0
  448. data/lib/cucumber/step_mother.rb +350 -0
  449. data/lib/cucumber/webrat/element_locator.rb +93 -0
  450. data/lib/cucumber/webrat/table_locator.rb +1 -0
  451. data/lib/cucumber/wire_support/connection.rb +42 -0
  452. data/lib/cucumber/wire_support/request_handler.rb +19 -0
  453. data/lib/cucumber/wire_support/wire_exception.rb +10 -0
  454. data/lib/cucumber/wire_support/wire_language.rb +52 -0
  455. data/lib/cucumber/wire_support/wire_packet.rb +34 -0
  456. data/lib/cucumber/wire_support/wire_protocol.rb +64 -0
  457. data/lib/cucumber/wire_support/wire_step_definition.rb +21 -0
  458. data/spec/cucumber/ast/background_spec.rb +54 -0
  459. data/spec/cucumber/ast/feature_element_spec.rb +41 -0
  460. data/spec/cucumber/ast/feature_factory.rb +62 -0
  461. data/spec/cucumber/ast/feature_spec.rb +44 -0
  462. data/spec/cucumber/ast/outline_table_spec.rb +21 -0
  463. data/spec/cucumber/ast/py_string_spec.rb +51 -0
  464. data/spec/cucumber/ast/scenario_outline_spec.rb +73 -0
  465. data/spec/cucumber/ast/scenario_spec.rb +45 -0
  466. data/spec/cucumber/ast/step_collection_spec.rb +17 -0
  467. data/spec/cucumber/ast/step_spec.rb +66 -0
  468. data/spec/cucumber/ast/table_spec.rb +422 -0
  469. data/spec/cucumber/ast/tags_spec.rb +29 -0
  470. data/spec/cucumber/ast/tree_walker_spec.rb +11 -0
  471. data/spec/cucumber/broadcaster_spec.rb +15 -0
  472. data/spec/cucumber/cli/configuration_spec.rb +396 -0
  473. data/spec/cucumber/cli/drb_client_spec.rb +77 -0
  474. data/spec/cucumber/cli/main_spec.rb +172 -0
  475. data/spec/cucumber/cli/options_spec.rb +335 -0
  476. data/spec/cucumber/cli/profile_loader_spec.rb +10 -0
  477. data/spec/cucumber/core_ext/proc_spec.rb +68 -0
  478. data/spec/cucumber/formatter/ansicolor_spec.rb +31 -0
  479. data/spec/cucumber/formatter/color_io_spec.rb +27 -0
  480. data/spec/cucumber/formatter/console_spec.rb +20 -0
  481. data/spec/cucumber/formatter/duration_spec.rb +22 -0
  482. data/spec/cucumber/formatter/html_spec.rb +213 -0
  483. data/spec/cucumber/formatter/junit_spec.rb +110 -0
  484. data/spec/cucumber/formatter/progress_spec.rb +38 -0
  485. data/spec/cucumber/formatter/spec_helper.rb +50 -0
  486. data/spec/cucumber/parser/feature_parser_spec.rb +400 -0
  487. data/spec/cucumber/parser/table_parser_spec.rb +52 -0
  488. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +132 -0
  489. data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +18 -0
  490. data/spec/cucumber/sell_cucumbers.feature +19 -0
  491. data/spec/cucumber/step_match_spec.rb +56 -0
  492. data/spec/cucumber/step_mother_spec.rb +270 -0
  493. data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
  494. data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
  495. data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
  496. data/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
  497. data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
  498. data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
  499. data/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
  500. data/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
  501. data/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
  502. data/spec/cucumber/treetop_parser/spaces.feature +12 -0
  503. data/spec/cucumber/treetop_parser/test_dos.feature +25 -0
  504. data/spec/cucumber/treetop_parser/with_comments.feature +23 -0
  505. data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
  506. data/spec/cucumber/wire_support/wire_language_spec.rb +47 -0
  507. data/spec/cucumber/wire_support/wire_packet_spec.rb +26 -0
  508. data/spec/cucumber/world/pending_spec.rb +46 -0
  509. data/spec/spec.opts +4 -0
  510. data/spec/spec_helper.rb +18 -0
  511. metadata +813 -0
@@ -0,0 +1,110 @@
1
+ require 'cucumber/step_match'
2
+ require 'cucumber/step_definition_light'
3
+
4
+ module Cucumber
5
+ module LanguageSupport
6
+ module LanguageMethods
7
+ def create_step_match(step_definition, step_name, name_to_report, step_arguments)
8
+ StepMatch.new(step_definition, step_name, name_to_report, step_arguments)
9
+ end
10
+
11
+ def before(scenario)
12
+ begin_scenario(scenario)
13
+ execute_before(scenario)
14
+ end
15
+
16
+ def after(scenario)
17
+ execute_after(scenario)
18
+ end_scenario
19
+ end
20
+
21
+ def after_configuration(configuration)
22
+ hooks[:after_configuration].each do |hook|
23
+ hook.invoke('AfterConfiguration', configuration)
24
+ end
25
+ end
26
+
27
+ def execute_after_step(scenario)
28
+ hooks_for(:after_step, scenario).each do |hook|
29
+ invoke(hook, 'AfterStep', scenario, false)
30
+ end
31
+ end
32
+
33
+ def execute_transforms(args)
34
+ args.map do |arg|
35
+ matching_transform = transforms.detect {|transform| transform.match(arg) }
36
+ matching_transform ? matching_transform.invoke(arg) : arg
37
+ end
38
+ end
39
+
40
+ def add_hook(phase, hook)
41
+ hook.tag_name_lists = hook.tag_names.map {|tag_string| Ast::Tags.parse_tags(tag_string)}
42
+ hooks[phase.to_sym] << hook
43
+ hook
44
+ end
45
+
46
+ def add_transform(transform)
47
+ transforms.unshift transform
48
+ transform
49
+ end
50
+
51
+ def hooks_for(phase, scenario) #:nodoc:
52
+ hooks[phase.to_sym].select{|hook| scenario.accept_hook?(hook)}
53
+ end
54
+
55
+ def unmatched_step_definitions
56
+ available_step_definition_hash.keys - invoked_step_definition_hash.keys
57
+ end
58
+
59
+ def available_step_definition(regexp_source, file_colon_line)
60
+ available_step_definition_hash[StepDefinitionLight.new(regexp_source, file_colon_line)] = nil
61
+ end
62
+
63
+ def invoked_step_definition(regexp_source, file_colon_line)
64
+ invoked_step_definition_hash[StepDefinitionLight.new(regexp_source, file_colon_line)] = nil
65
+ end
66
+
67
+ private
68
+
69
+ def available_step_definition_hash
70
+ @available_step_definition_hash ||= {}
71
+ end
72
+
73
+ def invoked_step_definition_hash
74
+ @invoked_step_definition_hash ||= {}
75
+ end
76
+
77
+ def hooks
78
+ @hooks ||= Hash.new{|h,k| h[k] = []}
79
+ end
80
+
81
+ def transforms
82
+ @transforms ||= []
83
+ end
84
+
85
+ def execute_before(scenario)
86
+ hooks_for(:before, scenario).each do |hook|
87
+ invoke(hook, 'Before', scenario, true)
88
+ end
89
+ end
90
+
91
+ def execute_after(scenario)
92
+ hooks_for(:after, scenario).reverse_each do |hook|
93
+ invoke(hook, 'After', scenario, true)
94
+ end
95
+ end
96
+
97
+ def invoke(hook, location, scenario, exception_fails_scenario)
98
+ begin
99
+ hook.invoke(location, scenario)
100
+ rescue Exception => exception
101
+ if exception_fails_scenario
102
+ scenario.fail!(exception)
103
+ else
104
+ raise
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,535 @@
1
+ # encoding: UTF-8
2
+ # We use the codes here (prefer 2 letters when possible)
3
+ # http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
4
+ #
5
+ # If you want several aliases for a keyword, just separate them
6
+ # with a | character. Make sure there are no ambiguities in the
7
+ # keywords.
8
+ #
9
+ "en":
10
+ name: English
11
+ native: English
12
+ feature: Feature
13
+ background: Background
14
+ scenario: Scenario
15
+ scenario_outline: Scenario Outline
16
+ examples: Examples|Scenarios
17
+ given: *|Given
18
+ when: *|When
19
+ then: *|Then
20
+ and: *|And
21
+ but: *|But
22
+
23
+ # Please help us keeping the languages below uptodate. The parsers for a language
24
+ # that is missing a keyword will expect the English word until the missing word(s)
25
+ # are added.
26
+ #
27
+ # Please keep the grammars in alphabetical order by name from here and down.
28
+
29
+ "ar":
30
+ name: Arabic
31
+ native: العربية
32
+ feature: خاصية
33
+ background: الخلفية
34
+ scenario: سيناريو
35
+ scenario_outline: سيناريو مخطط
36
+ examples: امثلة
37
+ given: *|بفرض
38
+ when: *|متى|عندما
39
+ then: *|اذاً|ثم
40
+ and: *|و
41
+ but: *|لكن
42
+ "bg":
43
+ name: Bulgarian
44
+ native: български
45
+ feature: Функционалност
46
+ background: Предистория
47
+ scenario: Сценарий
48
+ scenario_outline: Рамка на сценарий
49
+ examples: Примери
50
+ given: *|Дадено
51
+ when: *|Когато
52
+ then: *|То
53
+ and: *|И
54
+ but: *|Но
55
+ "cat":
56
+ name: Catalan
57
+ native: català
58
+ background: Rerefons|Antecedents
59
+ feature: Característica
60
+ scenario: Escenari
61
+ scenario_outline: Esquema de l'escenari
62
+ examples: Exemples
63
+ given: *|Donat|Donada
64
+ when: *|Quan
65
+ then: *|Aleshores
66
+ and: *|I
67
+ but: *|Però
68
+ "cy":
69
+ name: Welsh
70
+ native: Cymraeg
71
+ background: Cefndir
72
+ feature: Arwedd
73
+ scenario: Scenario
74
+ scenario_outline: Scenario Amlinellol
75
+ examples: Enghreifftiau
76
+ given: *|anrhegedig a
77
+ when: *|Pryd
78
+ then: *|Yna
79
+ and: *|A
80
+ but: *|Ond
81
+ "cs":
82
+ name: Czech
83
+ native: Česky
84
+ feature: Požadavek
85
+ background: Pozadí|Kontext
86
+ scenario: Scénář
87
+ scenario_outline: Náčrt Scénáře|Osnova scénáře
88
+ examples: Příklady
89
+ given: *|Pokud
90
+ when: *|Když
91
+ then: *|Pak
92
+ and: *|A|A také
93
+ but: *|Ale
94
+ "da":
95
+ name: Danish
96
+ native: dansk
97
+ feature: Egenskab
98
+ background: Baggrund
99
+ scenario: Scenarie
100
+ scenario_outline: Abstrakt Scenario
101
+ examples: Eksempler
102
+ given: *|Givet
103
+ when: *|Når
104
+ then: *|Så
105
+ and: *|Og
106
+ but: *|Men
107
+ "de":
108
+ name: German
109
+ native: Deutsch
110
+ feature: Funktionalität
111
+ background: Grundlage
112
+ scenario: Szenario
113
+ scenario_outline: Szenariogrundriss
114
+ examples: Beispiele
115
+ given: *|Gegeben sei
116
+ when: *|Wenn
117
+ then: *|Dann
118
+ and: *|Und
119
+ but: *|Aber
120
+ "en-au":
121
+ name: Australian
122
+ native: Australian
123
+ feature: Crikey
124
+ background: Background
125
+ scenario: Mate
126
+ scenario_outline: Blokes
127
+ examples: Cobber
128
+ given: *|Ya know how
129
+ when: *|When
130
+ then: *|Ya gotta
131
+ and: *|N
132
+ but: *|Cept
133
+ "en-lol":
134
+ name: LOLCAT
135
+ native: LOLCAT
136
+ feature: OH HAI
137
+ background: B4
138
+ scenario: MISHUN
139
+ scenario_outline: MISHUN SRSLY
140
+ examples: EXAMPLZ
141
+ given: *|I CAN HAZ
142
+ when: *|WEN
143
+ then: *|DEN
144
+ and: *|AN
145
+ but: *|BUT
146
+ "en-tx":
147
+ name: Texan
148
+ native: Texan
149
+ feature: Feature
150
+ background: Background
151
+ scenario: Scenario
152
+ scenario_outline: All y'all
153
+ examples: Examples
154
+ given: *|Given y'all
155
+ when: *|When y'all
156
+ then: *|Then y'all
157
+ and: *|And y'all
158
+ but: *|But y'all
159
+ "es":
160
+ name: Spanish
161
+ native: español
162
+ background: Antecedentes
163
+ feature: Característica
164
+ scenario: Escenario
165
+ scenario_outline: Esquema del escenario
166
+ examples: Ejemplos
167
+ given: *|Dado
168
+ when: *|Cuando
169
+ then: *|Entonces
170
+ and: *|Y
171
+ but: *|Pero
172
+ "et":
173
+ name: Estonian
174
+ native: eesti keel
175
+ feature: Omadus
176
+ background: Taust
177
+ scenario: Stsenaarium
178
+ scenario_outline: Raamstsenaarium
179
+ examples: Juhtumid
180
+ given: *|Eeldades
181
+ when: *|Kui
182
+ then: *|Siis
183
+ and: *|Ja
184
+ but: *|Kuid
185
+ "fi":
186
+ name: Finnish
187
+ native: suomi
188
+ feature: Ominaisuus
189
+ background: Tausta
190
+ scenario: Tapaus
191
+ scenario_outline: Tapausaihio
192
+ examples: Tapaukset
193
+ given: *|Oletetaan
194
+ when: *|Kun
195
+ then: *|Niin
196
+ and: *|Ja
197
+ but: *|Mutta
198
+ "fr":
199
+ name: French
200
+ native: français
201
+ feature: Fonctionnalité
202
+ background: Contexte
203
+ scenario: Scénario
204
+ scenario_outline: Plan du scénario|Plan du Scénario
205
+ examples: Exemples
206
+ given: *|Soit|Etant donné
207
+ when: *|Quand|Lorsque|Lorsqu'<
208
+ then: *|Alors
209
+ and: *|Et
210
+ but: *|Mais
211
+ "he":
212
+ name: Hebrew
213
+ native: עברית
214
+ feature: תכונה
215
+ background: רקע
216
+ scenario: תרחיש
217
+ scenario_outline: תבנית תרחיש
218
+ examples: דוגמאות
219
+ given: *|בהינתן
220
+ when: *|כאשר
221
+ then: *|אז|אזי
222
+ and: *|וגם
223
+ but: *|אבל
224
+ "hr":
225
+ name: Croatian
226
+ native: hrvatski
227
+ feature: Osobina|Mogućnost|Mogucnost
228
+ background: Pozadina
229
+ scenario: Scenarij
230
+ scenario_outline: Skica|Koncept
231
+ examples: Primjeri|Scenariji
232
+ given: *|Zadan|Zadani|Zadano
233
+ when: *|Kada|Kad
234
+ then: *|Onda
235
+ and: *|I
236
+ but: *|Ali
237
+ "hu":
238
+ name: Hungarian
239
+ native: magyar
240
+ feature: Jellemző
241
+ background: Háttér
242
+ scenario: Forgatókönyv
243
+ scenario_outline: Forgatókönyv vázlat
244
+ examples: Példák
245
+ given: *|Ha
246
+ when: *|Majd
247
+ then: *|Akkor
248
+ and: *|És
249
+ but: *|De
250
+ "id":
251
+ name: Indonesian
252
+ native: Bahasa Indonesia
253
+ feature: Fitur
254
+ background: Dasar
255
+ scenario: Skenario
256
+ scenario_outline: Skenario konsep
257
+ examples: Contoh
258
+ given: *|Dengan
259
+ when: *|Ketika
260
+ then: *|Maka
261
+ and: *|Dan
262
+ but: *|Tapi
263
+ "it":
264
+ name: Italian
265
+ native: italiano
266
+ feature: Funzionalità
267
+ background: Contesto
268
+ scenario: Scenario
269
+ scenario_outline: Schema dello scenario
270
+ examples: Esempi
271
+ given: *|Dato
272
+ when: *|Quando
273
+ then: *|Allora
274
+ and: *|E
275
+ but: *|Ma
276
+ "ja":
277
+ name: Japanese
278
+ native: 日本語
279
+ feature: フィーチャ|機能
280
+ background: 背景
281
+ scenario: シナリオ
282
+ scenario_outline: シナリオアウトライン|シナリオテンプレート|テンプレ|シナリオテンプレ
283
+ examples: 例|サンプル
284
+ given: *|前提<
285
+ when: *|もし<
286
+ then: *|ならば<
287
+ and: *|かつ<
288
+ but: *|しかし<|但し<|ただし<
289
+ "ko":
290
+ name: Korean
291
+ native: 한국어
292
+ background: 배경
293
+ feature: 기능
294
+ scenario: 시나리오
295
+ scenario_outline: 시나리오 개요
296
+ examples: 예
297
+ given: *|조건<
298
+ when: *|만일<
299
+ then: *|그러면<
300
+ and: *|그리고<
301
+ but: *|하지만<
302
+ "lt":
303
+ name: Lithuanian
304
+ native: lietuvių kalba
305
+ feature: Savybė
306
+ background: Kontekstas
307
+ scenario: Scenarijus
308
+ scenario_outline: Scenarijaus šablonas
309
+ examples: Pavyzdžiai|Scenarijai|Variantai
310
+ given: *|Duota
311
+ when: *|Kai
312
+ then: *|Tada
313
+ and: *|Ir
314
+ but: *|Bet
315
+ "lv":
316
+ name: Latvian
317
+ native: latviešu
318
+ feature: Funkcionalitāte|Fīča
319
+ background: Konteksts|Situācija
320
+ scenario: Scenārijs
321
+ scenario_outline: Scenārijs pēc parauga
322
+ examples: Piemēri|Paraugs
323
+ given: *|Kad
324
+ when: *|Ja
325
+ then: *|Tad
326
+ and: *|Un
327
+ but: *|Bet
328
+ "nl":
329
+ name: Dutch
330
+ native: Nederlands
331
+ feature: Functionaliteit
332
+ background: Achtergrond
333
+ scenario: Scenario
334
+ scenario_outline: Abstract Scenario
335
+ examples: Voorbeelden
336
+ given: *|Gegeven
337
+ when: *|Als
338
+ then: *|Dan
339
+ and: *|En
340
+ but: *|Maar
341
+ "no":
342
+ name: Norwegian
343
+ native: norsk
344
+ feature: Egenskap
345
+ background: Bakgrunn
346
+ scenario: Scenario
347
+ scenario_outline: Abstrakt Scenario
348
+ examples: Eksempler
349
+ given: *|Gitt
350
+ when: *|Når
351
+ then: *|Så
352
+ and: *|Og
353
+ but: *|Men
354
+ "pl":
355
+ name: Polish
356
+ native: polski
357
+ feature: Właściwość
358
+ background: Założenia
359
+ scenario: Scenariusz
360
+ scenario_outline: Szablon scenariusza
361
+ examples: Przykłady
362
+ given: *|Zakładając
363
+ when: *|Jeżeli
364
+ then: *|Wtedy
365
+ and: *|Oraz
366
+ but: *|Ale
367
+ "pt":
368
+ name: Portuguese
369
+ native: português
370
+ background: Contexto
371
+ feature: Funcionalidade
372
+ scenario: Cenário|Cenario
373
+ scenario_outline: Esquema do Cenário|Esquema do Cenario
374
+ examples: Exemplos
375
+ given: *|Dado
376
+ when: *|Quando
377
+ then: *|Então|Entao
378
+ and: *|E
379
+ but: *|Mas
380
+ "ro":
381
+ name: Romanian
382
+ native: română
383
+ background: Conditii
384
+ feature: Functionalitate
385
+ scenario: Scenariu
386
+ scenario_outline: Scenariul de sablon
387
+ examples: Exemplele
388
+ given: *|Daca
389
+ when: *|Cand
390
+ then: *|Atunci
391
+ and: *|Si
392
+ but: *|Dar
393
+ "ro2":
394
+ name: Romanian (diacritical)
395
+ native: română (diacritical)
396
+ background: Condiţii
397
+ feature: Funcționalitate
398
+ scenario: Scenariu
399
+ scenario_outline: Scenariul de şablon
400
+ examples: Exemplele
401
+ given: *|Dacă
402
+ when: *|Când
403
+ then: *|Atunci
404
+ and: *|Și
405
+ but: *|Dar
406
+ "ru":
407
+ name: Russian
408
+ native: русский
409
+ feature: Функционал
410
+ background: Предыстория
411
+ scenario: Сценарий
412
+ scenario_outline: Структура сценария
413
+ examples: Значения
414
+ given: *|Допустим
415
+ when: *|Если
416
+ then: *|То
417
+ and: *|И|К тому же
418
+ but: *|Но|А
419
+ "se":
420
+ name: Swedish
421
+ native: Svenska
422
+ feature: Egenskap
423
+ background: Bakgrund
424
+ scenario: Scenario
425
+ scenario_outline: Abstrakt Scenario
426
+ examples: Exempel
427
+ given: *|Givet
428
+ when: *|När
429
+ then: *|Så
430
+ and: *|Och
431
+ but: *|Men
432
+ "sk":
433
+ name: Slovak
434
+ native: Slovensky
435
+ feature: Požiadavka
436
+ background: Pozadie
437
+ scenario: Scenár
438
+ scenario_outline: Náčrt Scenáru
439
+ examples: Príklady
440
+ given: *|Pokiaľ
441
+ when: *|Keď
442
+ then: *|Tak
443
+ and: *|A
444
+ but: *|Ale
445
+ "sr-Latn":
446
+ name: Serbian_latin
447
+ native: Srpski_latinica
448
+ feature: Funkcionalnost|Mogućnost|Mogucnost|Osobina
449
+ background: Kontekst|Osnova|Pozadina
450
+ scenario: Scenario|Primer
451
+ scenario_outline: Struktura scenarija|Skica|Koncept
452
+ examples: Primeri|Scenariji
453
+ given: *|Zadato|Zadate|Zatati
454
+ when: *|Kada|Kad
455
+ then: *|Onda
456
+ and: *|I
457
+ but: *|Ali
458
+ "sr":
459
+ name: Serbian
460
+ native: Српски
461
+ feature: Функционалност|Могућност|Особина
462
+ background: Контекст|Основа|Позадина
463
+ scenario: Сценарио|Пример
464
+ scenario_outline: Структура сценарија|Скица|Концепт
465
+ examples: Примери|Сценарији
466
+ given: *|Задато|Задате|Задати
467
+ when: *|Када|Кад
468
+ then: *|Онда
469
+ and: *|И
470
+ but: *|Али
471
+ "tr":
472
+ name: Turkish
473
+ native: Türkçe
474
+ feature: Özellik
475
+ background: Geçmiş
476
+ scenario: Senaryo
477
+ scenario_outline: Senaryo taslağı
478
+ examples: Örnekler
479
+ given: *|Diyelim ki
480
+ when: *|Eğer ki
481
+ then: *|O zaman
482
+ and: *|Ve
483
+ but: *|Fakat|Ama
484
+ "uz":
485
+ name: Uzbek
486
+ native: Узбекча
487
+ feature: Функционал
488
+ background: Тарих
489
+ scenario: Сценарий
490
+ scenario_outline: Сценарий структураси
491
+ examples: Мисоллар
492
+ given: *|Агар
493
+ when: *|Агар
494
+ then: *|Унда
495
+ and: *|Ва
496
+ but: *|Лекин|Бирок|Аммо
497
+ "vi":
498
+ name: Vietnamese
499
+ native: Tiếng Việt
500
+ feature: Tính năng
501
+ background: Bối cảnh
502
+ scenario: Tình huống|Kịch bản
503
+ scenario_outline: Khung tình huống|Khung kịch bản
504
+ examples: Dữ liệu
505
+ given: *|Biết|Cho
506
+ when: *|Khi
507
+ then: *|Thì
508
+ and: *|Và
509
+ but: *|Nhưng
510
+ "zh-CN":
511
+ name: Chinese simplified
512
+ native: 简体中文
513
+ feature: 功能
514
+ background: 背景
515
+ scenario: 场景
516
+ scenario_outline: 场景大纲
517
+ examples: 例子
518
+ given: *|假如<
519
+ when: *|当<
520
+ then: *|那么<
521
+ and: *|而且<
522
+ but: *|但是<
523
+ "zh-TW":
524
+ name: Chinese traditional
525
+ native: 繁體中文
526
+ feature: 功能
527
+ background: 背景
528
+ scenario: 場景|劇本
529
+ scenario_outline: 場景大綱|劇本大綱
530
+ examples: 例子
531
+ given: *|假設<
532
+ when: *|當<
533
+ then: *|那麼<
534
+ and: *|而且<|並且<
535
+ but: *|但是<