busser-behave 0.1.3

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 (418) hide show
  1. checksums.yaml +7 -0
  2. data/.cane +0 -0
  3. data/.gitignore +17 -0
  4. data/.tailor +4 -0
  5. data/.travis.yml +11 -0
  6. data/CHANGELOG.md +3 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE +15 -0
  9. data/README.md +41 -0
  10. data/Rakefile +68 -0
  11. data/busser-behave.gemspec +30 -0
  12. data/features/plugin_install_command.feature +11 -0
  13. data/features/plugin_list_command.feature +8 -0
  14. data/features/support/env.rb +13 -0
  15. data/features/test_command.feature +31 -0
  16. data/lib/busser/behave/version.rb +26 -0
  17. data/lib/busser/runner_plugin/behave.rb +37 -0
  18. data/vendor/behave/CHANGES.rst +483 -0
  19. data/vendor/behave/LICENSE +23 -0
  20. data/vendor/behave/MANIFEST.in +37 -0
  21. data/vendor/behave/PROJECT_INFO.rst +21 -0
  22. data/vendor/behave/README.rst +112 -0
  23. data/vendor/behave/VERSION.txt +1 -0
  24. data/vendor/behave/behave.ini +22 -0
  25. data/vendor/behave/behave/__init__.py +30 -0
  26. data/vendor/behave/behave/__main__.py +187 -0
  27. data/vendor/behave/behave/_stepimport.py +185 -0
  28. data/vendor/behave/behave/_types.py +134 -0
  29. data/vendor/behave/behave/api/__init__.py +7 -0
  30. data/vendor/behave/behave/api/async_step.py +283 -0
  31. data/vendor/behave/behave/capture.py +227 -0
  32. data/vendor/behave/behave/compat/__init__.py +5 -0
  33. data/vendor/behave/behave/compat/collections.py +20 -0
  34. data/vendor/behave/behave/configuration.py +788 -0
  35. data/vendor/behave/behave/contrib/__init__.py +0 -0
  36. data/vendor/behave/behave/contrib/scenario_autoretry.py +73 -0
  37. data/vendor/behave/behave/formatter/__init__.py +12 -0
  38. data/vendor/behave/behave/formatter/_builtins.py +39 -0
  39. data/vendor/behave/behave/formatter/_registry.py +135 -0
  40. data/vendor/behave/behave/formatter/ansi_escapes.py +91 -0
  41. data/vendor/behave/behave/formatter/base.py +200 -0
  42. data/vendor/behave/behave/formatter/formatters.py +57 -0
  43. data/vendor/behave/behave/formatter/json.py +253 -0
  44. data/vendor/behave/behave/formatter/null.py +12 -0
  45. data/vendor/behave/behave/formatter/plain.py +158 -0
  46. data/vendor/behave/behave/formatter/pretty.py +351 -0
  47. data/vendor/behave/behave/formatter/progress.py +287 -0
  48. data/vendor/behave/behave/formatter/rerun.py +114 -0
  49. data/vendor/behave/behave/formatter/sphinx_steps.py +372 -0
  50. data/vendor/behave/behave/formatter/sphinx_util.py +118 -0
  51. data/vendor/behave/behave/formatter/steps.py +497 -0
  52. data/vendor/behave/behave/formatter/tags.py +178 -0
  53. data/vendor/behave/behave/i18n.py +614 -0
  54. data/vendor/behave/behave/importer.py +102 -0
  55. data/vendor/behave/behave/json_parser.py +264 -0
  56. data/vendor/behave/behave/log_capture.py +233 -0
  57. data/vendor/behave/behave/matchers.py +402 -0
  58. data/vendor/behave/behave/model.py +1737 -0
  59. data/vendor/behave/behave/model_core.py +416 -0
  60. data/vendor/behave/behave/model_describe.py +105 -0
  61. data/vendor/behave/behave/parser.py +615 -0
  62. data/vendor/behave/behave/reporter/__init__.py +0 -0
  63. data/vendor/behave/behave/reporter/base.py +45 -0
  64. data/vendor/behave/behave/reporter/junit.py +473 -0
  65. data/vendor/behave/behave/reporter/summary.py +94 -0
  66. data/vendor/behave/behave/runner.py +753 -0
  67. data/vendor/behave/behave/runner_util.py +417 -0
  68. data/vendor/behave/behave/step_registry.py +112 -0
  69. data/vendor/behave/behave/tag_expression.py +111 -0
  70. data/vendor/behave/behave/tag_matcher.py +465 -0
  71. data/vendor/behave/behave/textutil.py +137 -0
  72. data/vendor/behave/behave/userdata.py +130 -0
  73. data/vendor/behave/behave4cmd0/__all_steps__.py +12 -0
  74. data/vendor/behave/behave4cmd0/__init__.py +5 -0
  75. data/vendor/behave/behave4cmd0/__setup.py +11 -0
  76. data/vendor/behave/behave4cmd0/command_shell.py +216 -0
  77. data/vendor/behave/behave4cmd0/command_shell_proc.py +256 -0
  78. data/vendor/behave/behave4cmd0/command_steps.py +532 -0
  79. data/vendor/behave/behave4cmd0/command_util.py +147 -0
  80. data/vendor/behave/behave4cmd0/failing_steps.py +49 -0
  81. data/vendor/behave/behave4cmd0/log/__init__.py +1 -0
  82. data/vendor/behave/behave4cmd0/log/steps.py +395 -0
  83. data/vendor/behave/behave4cmd0/note_steps.py +29 -0
  84. data/vendor/behave/behave4cmd0/passing_steps.py +36 -0
  85. data/vendor/behave/behave4cmd0/pathutil.py +146 -0
  86. data/vendor/behave/behave4cmd0/setup_command_shell.py +24 -0
  87. data/vendor/behave/behave4cmd0/textutil.py +304 -0
  88. data/vendor/behave/bin/behave +44 -0
  89. data/vendor/behave/bin/behave.cmd +10 -0
  90. data/vendor/behave/bin/behave.junit_filter.py +85 -0
  91. data/vendor/behave/bin/behave.step_durations.py +163 -0
  92. data/vendor/behave/bin/behave2cucumber_json.py +63 -0
  93. data/vendor/behave/bin/behave_cmd.py +44 -0
  94. data/vendor/behave/bin/convert_i18n_yaml.py +77 -0
  95. data/vendor/behave/bin/explore_platform_encoding.py +24 -0
  96. data/vendor/behave/bin/i18n.yml +621 -0
  97. data/vendor/behave/bin/invoke +8 -0
  98. data/vendor/behave/bin/invoke.cmd +9 -0
  99. data/vendor/behave/bin/json.format.py +167 -0
  100. data/vendor/behave/bin/jsonschema_validate.py +122 -0
  101. data/vendor/behave/bin/make_localpi.py +279 -0
  102. data/vendor/behave/bin/project_bootstrap.sh +30 -0
  103. data/vendor/behave/bin/toxcmd.py +270 -0
  104. data/vendor/behave/bin/toxcmd3.py +270 -0
  105. data/vendor/behave/conftest.py +27 -0
  106. data/vendor/behave/docs/Makefile +154 -0
  107. data/vendor/behave/docs/_static/agogo.css +501 -0
  108. data/vendor/behave/docs/_static/behave_logo.png +0 -0
  109. data/vendor/behave/docs/_static/behave_logo1.png +0 -0
  110. data/vendor/behave/docs/_static/behave_logo2.png +0 -0
  111. data/vendor/behave/docs/_static/behave_logo3.png +0 -0
  112. data/vendor/behave/docs/_themes/LICENSE +45 -0
  113. data/vendor/behave/docs/_themes/kr/layout.html +17 -0
  114. data/vendor/behave/docs/_themes/kr/relations.html +19 -0
  115. data/vendor/behave/docs/_themes/kr/static/flasky.css_t +480 -0
  116. data/vendor/behave/docs/_themes/kr/static/small_flask.css +90 -0
  117. data/vendor/behave/docs/_themes/kr/theme.conf +7 -0
  118. data/vendor/behave/docs/_themes/kr_small/layout.html +22 -0
  119. data/vendor/behave/docs/_themes/kr_small/static/flasky.css_t +287 -0
  120. data/vendor/behave/docs/_themes/kr_small/theme.conf +10 -0
  121. data/vendor/behave/docs/api.rst +408 -0
  122. data/vendor/behave/docs/appendix.rst +19 -0
  123. data/vendor/behave/docs/behave.rst +640 -0
  124. data/vendor/behave/docs/behave.rst-template +86 -0
  125. data/vendor/behave/docs/behave_ecosystem.rst +81 -0
  126. data/vendor/behave/docs/comparison.rst +85 -0
  127. data/vendor/behave/docs/conf.py +293 -0
  128. data/vendor/behave/docs/context_attributes.rst +66 -0
  129. data/vendor/behave/docs/django.rst +192 -0
  130. data/vendor/behave/docs/formatters.rst +61 -0
  131. data/vendor/behave/docs/gherkin.rst +673 -0
  132. data/vendor/behave/docs/index.rst +57 -0
  133. data/vendor/behave/docs/install.rst +60 -0
  134. data/vendor/behave/docs/more_info.rst +184 -0
  135. data/vendor/behave/docs/new_and_noteworthy.rst +18 -0
  136. data/vendor/behave/docs/new_and_noteworthy_v1.2.4.rst +11 -0
  137. data/vendor/behave/docs/new_and_noteworthy_v1.2.5.rst +814 -0
  138. data/vendor/behave/docs/new_and_noteworthy_v1.2.6.rst +255 -0
  139. data/vendor/behave/docs/parse_builtin_types.rst +59 -0
  140. data/vendor/behave/docs/philosophy.rst +235 -0
  141. data/vendor/behave/docs/regular_expressions.rst +71 -0
  142. data/vendor/behave/docs/related.rst +14 -0
  143. data/vendor/behave/docs/test_domains.rst +62 -0
  144. data/vendor/behave/docs/tutorial.rst +636 -0
  145. data/vendor/behave/docs/update_behave_rst.py +100 -0
  146. data/vendor/behave/etc/json/behave.json-schema +172 -0
  147. data/vendor/behave/etc/junit.xml/behave_junit.xsd +103 -0
  148. data/vendor/behave/etc/junit.xml/junit-4.xsd +92 -0
  149. data/vendor/behave/examples/async_step/README.txt +8 -0
  150. data/vendor/behave/examples/async_step/behave.ini +14 -0
  151. data/vendor/behave/examples/async_step/features/async_dispatch.feature +8 -0
  152. data/vendor/behave/examples/async_step/features/async_run.feature +6 -0
  153. data/vendor/behave/examples/async_step/features/environment.py +28 -0
  154. data/vendor/behave/examples/async_step/features/steps/async_dispatch_steps.py +26 -0
  155. data/vendor/behave/examples/async_step/features/steps/async_steps34.py +10 -0
  156. data/vendor/behave/examples/async_step/features/steps/async_steps35.py +10 -0
  157. data/vendor/behave/examples/async_step/testrun_example.async_dispatch.txt +11 -0
  158. data/vendor/behave/examples/async_step/testrun_example.async_run.txt +9 -0
  159. data/vendor/behave/examples/env_vars/README.rst +26 -0
  160. data/vendor/behave/examples/env_vars/behave.ini +15 -0
  161. data/vendor/behave/examples/env_vars/behave_run.output_example.txt +12 -0
  162. data/vendor/behave/examples/env_vars/features/env_var.feature +6 -0
  163. data/vendor/behave/examples/env_vars/features/steps/env_var_steps.py +38 -0
  164. data/vendor/behave/features/README.txt +12 -0
  165. data/vendor/behave/features/background.feature +392 -0
  166. data/vendor/behave/features/capture_stderr.feature +172 -0
  167. data/vendor/behave/features/capture_stdout.feature +125 -0
  168. data/vendor/behave/features/cmdline.lang_list.feature +33 -0
  169. data/vendor/behave/features/configuration.default_paths.feature +116 -0
  170. data/vendor/behave/features/context.global_params.feature +35 -0
  171. data/vendor/behave/features/context.local_params.feature +17 -0
  172. data/vendor/behave/features/directory_layout.advanced.feature +147 -0
  173. data/vendor/behave/features/directory_layout.basic.feature +75 -0
  174. data/vendor/behave/features/directory_layout.basic2.feature +87 -0
  175. data/vendor/behave/features/environment.py +53 -0
  176. data/vendor/behave/features/exploratory_testing.with_table.feature +141 -0
  177. data/vendor/behave/features/feature.description.feature +0 -0
  178. data/vendor/behave/features/feature.exclude_from_run.feature +96 -0
  179. data/vendor/behave/features/formatter.help.feature +30 -0
  180. data/vendor/behave/features/formatter.json.feature +420 -0
  181. data/vendor/behave/features/formatter.progress3.feature +235 -0
  182. data/vendor/behave/features/formatter.rerun.feature +296 -0
  183. data/vendor/behave/features/formatter.steps.feature +181 -0
  184. data/vendor/behave/features/formatter.steps_catalog.feature +100 -0
  185. data/vendor/behave/features/formatter.steps_doc.feature +140 -0
  186. data/vendor/behave/features/formatter.steps_usage.feature +404 -0
  187. data/vendor/behave/features/formatter.tags.feature +134 -0
  188. data/vendor/behave/features/formatter.tags_location.feature +183 -0
  189. data/vendor/behave/features/formatter.user_defined.feature +196 -0
  190. data/vendor/behave/features/i18n.unicode_problems.feature +445 -0
  191. data/vendor/behave/features/logcapture.clear_handlers.feature +114 -0
  192. data/vendor/behave/features/logcapture.feature +188 -0
  193. data/vendor/behave/features/logcapture.filter.feature +130 -0
  194. data/vendor/behave/features/logging.no_capture.feature +99 -0
  195. data/vendor/behave/features/logging.setup_format.feature +157 -0
  196. data/vendor/behave/features/logging.setup_level.feature +168 -0
  197. data/vendor/behave/features/logging.setup_with_configfile.feature +137 -0
  198. data/vendor/behave/features/parser.background.sad_cases.feature +129 -0
  199. data/vendor/behave/features/parser.feature.sad_cases.feature +144 -0
  200. data/vendor/behave/features/runner.abort_by_user.feature +305 -0
  201. data/vendor/behave/features/runner.continue_after_failed_step.feature +136 -0
  202. data/vendor/behave/features/runner.default_format.feature +175 -0
  203. data/vendor/behave/features/runner.dry_run.feature +184 -0
  204. data/vendor/behave/features/runner.feature_listfile.feature +223 -0
  205. data/vendor/behave/features/runner.hook_errors.feature +382 -0
  206. data/vendor/behave/features/runner.multiple_formatters.feature +285 -0
  207. data/vendor/behave/features/runner.scenario_autoretry.feature +131 -0
  208. data/vendor/behave/features/runner.select_files_by_regexp.example.feature +71 -0
  209. data/vendor/behave/features/runner.select_files_by_regexp.feature +84 -0
  210. data/vendor/behave/features/runner.select_scenarios_by_file_location.feature +403 -0
  211. data/vendor/behave/features/runner.select_scenarios_by_name.feature +289 -0
  212. data/vendor/behave/features/runner.select_scenarios_by_tag.feature +225 -0
  213. data/vendor/behave/features/runner.stop_after_failure.feature +122 -0
  214. data/vendor/behave/features/runner.tag_logic.feature +67 -0
  215. data/vendor/behave/features/runner.unknown_formatter.feature +23 -0
  216. data/vendor/behave/features/runner.use_stage_implementations.feature +126 -0
  217. data/vendor/behave/features/scenario.description.feature +171 -0
  218. data/vendor/behave/features/scenario.exclude_from_run.feature +217 -0
  219. data/vendor/behave/features/scenario_outline.basics.feature +100 -0
  220. data/vendor/behave/features/scenario_outline.improved.feature +177 -0
  221. data/vendor/behave/features/scenario_outline.name_annotation.feature +157 -0
  222. data/vendor/behave/features/scenario_outline.parametrized.feature +401 -0
  223. data/vendor/behave/features/scenario_outline.tagged_examples.feature +118 -0
  224. data/vendor/behave/features/step.async_steps.feature +225 -0
  225. data/vendor/behave/features/step.duplicated_step.feature +106 -0
  226. data/vendor/behave/features/step.execute_steps.feature +59 -0
  227. data/vendor/behave/features/step.execute_steps.with_table.feature +65 -0
  228. data/vendor/behave/features/step.import_other_step_module.feature +103 -0
  229. data/vendor/behave/features/step.pending_steps.feature +128 -0
  230. data/vendor/behave/features/step.undefined_steps.feature +307 -0
  231. data/vendor/behave/features/step.use_step_library.feature +44 -0
  232. data/vendor/behave/features/step_dialect.generic_steps.feature +189 -0
  233. data/vendor/behave/features/step_dialect.given_when_then.feature +89 -0
  234. data/vendor/behave/features/step_param.builtin_types.with_float.feature +239 -0
  235. data/vendor/behave/features/step_param.builtin_types.with_integer.feature +305 -0
  236. data/vendor/behave/features/step_param.custom_types.feature +134 -0
  237. data/vendor/behave/features/steps/behave_active_tags_steps.py +86 -0
  238. data/vendor/behave/features/steps/behave_context_steps.py +67 -0
  239. data/vendor/behave/features/steps/behave_model_tag_logic_steps.py +105 -0
  240. data/vendor/behave/features/steps/behave_model_util.py +105 -0
  241. data/vendor/behave/features/steps/behave_select_files_steps.py +83 -0
  242. data/vendor/behave/features/steps/behave_tag_expression_steps.py +166 -0
  243. data/vendor/behave/features/steps/behave_undefined_steps.py +101 -0
  244. data/vendor/behave/features/steps/use_steplib_behave4cmd.py +12 -0
  245. data/vendor/behave/features/summary.undefined_steps.feature +114 -0
  246. data/vendor/behave/features/tags.active_tags.feature +385 -0
  247. data/vendor/behave/features/tags.default_tags.feature +104 -0
  248. data/vendor/behave/features/tags.tag_expression.feature +105 -0
  249. data/vendor/behave/features/userdata.feature +331 -0
  250. data/vendor/behave/invoke.yaml +21 -0
  251. data/vendor/behave/issue.features/README.txt +17 -0
  252. data/vendor/behave/issue.features/environment.py +97 -0
  253. data/vendor/behave/issue.features/issue0030.feature +21 -0
  254. data/vendor/behave/issue.features/issue0031.feature +16 -0
  255. data/vendor/behave/issue.features/issue0032.feature +28 -0
  256. data/vendor/behave/issue.features/issue0035.feature +74 -0
  257. data/vendor/behave/issue.features/issue0040.feature +154 -0
  258. data/vendor/behave/issue.features/issue0041.feature +135 -0
  259. data/vendor/behave/issue.features/issue0042.feature +230 -0
  260. data/vendor/behave/issue.features/issue0044.feature +51 -0
  261. data/vendor/behave/issue.features/issue0046.feature +77 -0
  262. data/vendor/behave/issue.features/issue0052.feature +66 -0
  263. data/vendor/behave/issue.features/issue0059.feature +29 -0
  264. data/vendor/behave/issue.features/issue0063.feature +102 -0
  265. data/vendor/behave/issue.features/issue0064.feature +97 -0
  266. data/vendor/behave/issue.features/issue0065.feature +18 -0
  267. data/vendor/behave/issue.features/issue0066.feature +80 -0
  268. data/vendor/behave/issue.features/issue0067.feature +90 -0
  269. data/vendor/behave/issue.features/issue0069.feature +64 -0
  270. data/vendor/behave/issue.features/issue0072.feature +32 -0
  271. data/vendor/behave/issue.features/issue0073.feature +228 -0
  272. data/vendor/behave/issue.features/issue0075.feature +18 -0
  273. data/vendor/behave/issue.features/issue0077.feature +89 -0
  274. data/vendor/behave/issue.features/issue0080.feature +49 -0
  275. data/vendor/behave/issue.features/issue0081.feature +138 -0
  276. data/vendor/behave/issue.features/issue0083.feature +69 -0
  277. data/vendor/behave/issue.features/issue0084.feature +69 -0
  278. data/vendor/behave/issue.features/issue0085.feature +119 -0
  279. data/vendor/behave/issue.features/issue0092.feature +66 -0
  280. data/vendor/behave/issue.features/issue0096.feature +173 -0
  281. data/vendor/behave/issue.features/issue0099.feature +130 -0
  282. data/vendor/behave/issue.features/issue0109.feature +60 -0
  283. data/vendor/behave/issue.features/issue0111.feature +53 -0
  284. data/vendor/behave/issue.features/issue0112.feature +64 -0
  285. data/vendor/behave/issue.features/issue0114.feature +118 -0
  286. data/vendor/behave/issue.features/issue0116.feature +71 -0
  287. data/vendor/behave/issue.features/issue0125.feature +49 -0
  288. data/vendor/behave/issue.features/issue0127.feature +64 -0
  289. data/vendor/behave/issue.features/issue0139.feature +67 -0
  290. data/vendor/behave/issue.features/issue0142.feature +37 -0
  291. data/vendor/behave/issue.features/issue0143.feature +54 -0
  292. data/vendor/behave/issue.features/issue0145.feature +63 -0
  293. data/vendor/behave/issue.features/issue0148.feature +105 -0
  294. data/vendor/behave/issue.features/issue0152.feature +52 -0
  295. data/vendor/behave/issue.features/issue0159.feature +74 -0
  296. data/vendor/behave/issue.features/issue0162.feature +86 -0
  297. data/vendor/behave/issue.features/issue0171.feature +16 -0
  298. data/vendor/behave/issue.features/issue0172.feature +51 -0
  299. data/vendor/behave/issue.features/issue0175.feature +91 -0
  300. data/vendor/behave/issue.features/issue0177.feature +40 -0
  301. data/vendor/behave/issue.features/issue0181.feature +36 -0
  302. data/vendor/behave/issue.features/issue0184.feature +144 -0
  303. data/vendor/behave/issue.features/issue0186.feature +12 -0
  304. data/vendor/behave/issue.features/issue0188.feature +60 -0
  305. data/vendor/behave/issue.features/issue0191.feature +178 -0
  306. data/vendor/behave/issue.features/issue0194.feature +215 -0
  307. data/vendor/behave/issue.features/issue0197.feature +11 -0
  308. data/vendor/behave/issue.features/issue0216.feature +129 -0
  309. data/vendor/behave/issue.features/issue0226.feature +51 -0
  310. data/vendor/behave/issue.features/issue0228.feature +41 -0
  311. data/vendor/behave/issue.features/issue0230.feature +46 -0
  312. data/vendor/behave/issue.features/issue0231.feature +77 -0
  313. data/vendor/behave/issue.features/issue0238.feature +52 -0
  314. data/vendor/behave/issue.features/issue0251.feature +15 -0
  315. data/vendor/behave/issue.features/issue0280.feature +118 -0
  316. data/vendor/behave/issue.features/issue0288.feature +95 -0
  317. data/vendor/behave/issue.features/issue0300.feature +49 -0
  318. data/vendor/behave/issue.features/issue0302.feature +91 -0
  319. data/vendor/behave/issue.features/issue0309.feature +52 -0
  320. data/vendor/behave/issue.features/issue0330.feature +124 -0
  321. data/vendor/behave/issue.features/issue0349.feature +9 -0
  322. data/vendor/behave/issue.features/issue0361.feature +79 -0
  323. data/vendor/behave/issue.features/issue0383.feature +76 -0
  324. data/vendor/behave/issue.features/issue0384.feature +103 -0
  325. data/vendor/behave/issue.features/issue0385.feature +109 -0
  326. data/vendor/behave/issue.features/issue0424.feature +66 -0
  327. data/vendor/behave/issue.features/issue0446.feature +116 -0
  328. data/vendor/behave/issue.features/issue0449.feature +42 -0
  329. data/vendor/behave/issue.features/issue0453.feature +42 -0
  330. data/vendor/behave/issue.features/issue0457.feature +65 -0
  331. data/vendor/behave/issue.features/issue0462.feature +38 -0
  332. data/vendor/behave/issue.features/issue0476.feature +39 -0
  333. data/vendor/behave/issue.features/issue0487.feature +92 -0
  334. data/vendor/behave/issue.features/issue0506.feature +77 -0
  335. data/vendor/behave/issue.features/issue0510.feature +51 -0
  336. data/vendor/behave/issue.features/requirements.txt +12 -0
  337. data/vendor/behave/issue.features/steps/ansi_steps.py +20 -0
  338. data/vendor/behave/issue.features/steps/behave_hooks_steps.py +10 -0
  339. data/vendor/behave/issue.features/steps/use_steplib_behave4cmd.py +13 -0
  340. data/vendor/behave/more.features/formatter.json.validate_output.feature +37 -0
  341. data/vendor/behave/more.features/steps/tutorial_steps.py +16 -0
  342. data/vendor/behave/more.features/steps/use_steplib_behave4cmd.py +7 -0
  343. data/vendor/behave/more.features/tutorial.feature +6 -0
  344. data/vendor/behave/py.requirements/README.txt +5 -0
  345. data/vendor/behave/py.requirements/all.txt +16 -0
  346. data/vendor/behave/py.requirements/basic.txt +21 -0
  347. data/vendor/behave/py.requirements/develop.txt +28 -0
  348. data/vendor/behave/py.requirements/docs.txt +6 -0
  349. data/vendor/behave/py.requirements/json.txt +7 -0
  350. data/vendor/behave/py.requirements/more_py26.txt +8 -0
  351. data/vendor/behave/py.requirements/testing.txt +10 -0
  352. data/vendor/behave/pytest.ini +24 -0
  353. data/vendor/behave/setup.cfg +29 -0
  354. data/vendor/behave/setup.py +118 -0
  355. data/vendor/behave/setuptools_behave.py +130 -0
  356. data/vendor/behave/tasks/__behave.py +45 -0
  357. data/vendor/behave/tasks/__init__.py +55 -0
  358. data/vendor/behave/tasks/__main__.py +70 -0
  359. data/vendor/behave/tasks/_setup.py +135 -0
  360. data/vendor/behave/tasks/_vendor/README.rst +35 -0
  361. data/vendor/behave/tasks/_vendor/invoke.zip +0 -0
  362. data/vendor/behave/tasks/_vendor/path.py +1725 -0
  363. data/vendor/behave/tasks/_vendor/pathlib.py +1280 -0
  364. data/vendor/behave/tasks/_vendor/six.py +868 -0
  365. data/vendor/behave/tasks/clean.py +246 -0
  366. data/vendor/behave/tasks/docs.py +97 -0
  367. data/vendor/behave/tasks/requirements.txt +17 -0
  368. data/vendor/behave/tasks/test.py +192 -0
  369. data/vendor/behave/test/__init__.py +0 -0
  370. data/vendor/behave/test/_importer_candidate.py +3 -0
  371. data/vendor/behave/test/reporters/__init__.py +0 -0
  372. data/vendor/behave/test/reporters/test_summary.py +240 -0
  373. data/vendor/behave/test/test_ansi_escapes.py +73 -0
  374. data/vendor/behave/test/test_configuration.py +172 -0
  375. data/vendor/behave/test/test_formatter.py +265 -0
  376. data/vendor/behave/test/test_formatter_progress.py +39 -0
  377. data/vendor/behave/test/test_formatter_rerun.py +97 -0
  378. data/vendor/behave/test/test_formatter_tags.py +57 -0
  379. data/vendor/behave/test/test_importer.py +151 -0
  380. data/vendor/behave/test/test_log_capture.py +29 -0
  381. data/vendor/behave/test/test_matchers.py +236 -0
  382. data/vendor/behave/test/test_model.py +871 -0
  383. data/vendor/behave/test/test_parser.py +1590 -0
  384. data/vendor/behave/test/test_runner.py +1074 -0
  385. data/vendor/behave/test/test_step_registry.py +96 -0
  386. data/vendor/behave/test/test_tag_expression.py +506 -0
  387. data/vendor/behave/test/test_tag_expression2.py +462 -0
  388. data/vendor/behave/test/test_tag_matcher.py +729 -0
  389. data/vendor/behave/test/test_userdata.py +184 -0
  390. data/vendor/behave/tests/README.txt +12 -0
  391. data/vendor/behave/tests/__init__.py +0 -0
  392. data/vendor/behave/tests/api/__ONLY_PY34_or_newer.txt +0 -0
  393. data/vendor/behave/tests/api/__init__.py +0 -0
  394. data/vendor/behave/tests/api/_test_async_step34.py +130 -0
  395. data/vendor/behave/tests/api/_test_async_step35.py +75 -0
  396. data/vendor/behave/tests/api/test_async_step.py +18 -0
  397. data/vendor/behave/tests/api/testing_support.py +94 -0
  398. data/vendor/behave/tests/api/testing_support_async.py +21 -0
  399. data/vendor/behave/tests/issues/test_issue0336.py +66 -0
  400. data/vendor/behave/tests/issues/test_issue0449.py +55 -0
  401. data/vendor/behave/tests/issues/test_issue0453.py +62 -0
  402. data/vendor/behave/tests/issues/test_issue0458.py +54 -0
  403. data/vendor/behave/tests/issues/test_issue0495.py +65 -0
  404. data/vendor/behave/tests/unit/__init__.py +0 -0
  405. data/vendor/behave/tests/unit/test_behave4cmd_command_shell_proc.py +135 -0
  406. data/vendor/behave/tests/unit/test_capture.py +280 -0
  407. data/vendor/behave/tests/unit/test_model_core.py +56 -0
  408. data/vendor/behave/tests/unit/test_textutil.py +267 -0
  409. data/vendor/behave/tools/test-features/background.feature +9 -0
  410. data/vendor/behave/tools/test-features/environment.py +8 -0
  411. data/vendor/behave/tools/test-features/french.feature +11 -0
  412. data/vendor/behave/tools/test-features/outline.feature +39 -0
  413. data/vendor/behave/tools/test-features/parse.feature +10 -0
  414. data/vendor/behave/tools/test-features/step-data.feature +60 -0
  415. data/vendor/behave/tools/test-features/steps/steps.py +120 -0
  416. data/vendor/behave/tools/test-features/tags.feature +18 -0
  417. data/vendor/behave/tox.ini +159 -0
  418. metadata +562 -0
@@ -0,0 +1,95 @@
1
+ @issue
2
+ Feature: Issue #288 -- Use print function instead print statement in environment/steps files
3
+
4
+ . Loaded files have future flags of importing module "behave.runner".
5
+ . This should be removed.
6
+ .
7
+ . AFFECTED FILES:
8
+ . * features/environment.py
9
+ . * features/steps/*.py
10
+ .
11
+ . AFFECTED FUTURE FLAGS:
12
+ . * print_function
13
+ . * absolute_import
14
+ . * ...
15
+
16
+ @setup
17
+ Scenario: Feature Setup
18
+ Given a new working directory
19
+ And a file named "features/steps/reuse_steps.py" with:
20
+ """
21
+ from behave4cmd0 import passing_steps
22
+ """
23
+ And a file named "features/passing.feature" with:
24
+ """
25
+ Feature:
26
+ Scenario:
27
+ Given a step passes
28
+ """
29
+
30
+ @preferred
31
+ Scenario: Use print function with future-statement in steps/environment (PY2, PY3)
32
+ Given a file named "features/steps/my_steps.py" with:
33
+ """
34
+ from __future__ import print_function
35
+ print("Hello step")
36
+ """
37
+ And a file named "features/environment.py" with:
38
+ """
39
+ from __future__ import print_function
40
+ print("Hello environment")
41
+ """
42
+ When I run "behave -f plain features/passing.feature"
43
+ Then it should pass with:
44
+ """
45
+ 1 scenario passed, 0 failed, 0 skipped
46
+ 1 step passed, 0 failed, 0 skipped, 0 undefined
47
+ """
48
+ And the command output should not contain:
49
+ """
50
+ Traceback (most recent call last):
51
+ """
52
+
53
+ @use.with_python2=true
54
+ Scenario: Use python2 print keyword in steps/environment
55
+ Given a file named "features/steps/my_steps.py" with:
56
+ """
57
+ print "Hello step"
58
+ """
59
+ And a file named "features/environment.py" with:
60
+ """
61
+ print "Hello step"
62
+ """
63
+ When I run "behave -f plain features/passing.feature"
64
+ Then it should pass with:
65
+ """
66
+ 1 scenario passed, 0 failed, 0 skipped
67
+ 1 step passed, 0 failed, 0 skipped, 0 undefined
68
+ """
69
+ And the command output should not contain "SyntaxError"
70
+ And the command output should not contain:
71
+ """
72
+ Traceback (most recent call last):
73
+ """
74
+
75
+ @use.with_python3=true
76
+ Scenario: Use print function without future-statement in steps/environment (PY3)
77
+ Given a file named "features/steps/my_steps.py" with:
78
+ """
79
+ print("Hello step")
80
+ """
81
+ And a file named "features/environment.py" with:
82
+ """
83
+ print("Hello environment")
84
+ """
85
+ When I run "behave -f plain features/passing.feature"
86
+ Then it should pass with:
87
+ """
88
+ 1 scenario passed, 0 failed, 0 skipped
89
+ 1 step passed, 0 failed, 0 skipped, 0 undefined
90
+ """
91
+ And the command output should not contain:
92
+ """
93
+ Traceback (most recent call last):
94
+ """
95
+
@@ -0,0 +1,49 @@
1
+ @issue
2
+ Feature: Issue #300 -- UnicodeDecodeError when read steps.py
3
+
4
+ . My system is running on Chinese GBK character set.
5
+ . But you know we make our files as utf-8 format generally, and so do I.
6
+ . I set my step file api1_steps.py as utf-8, and entered some Chinese characters in.
7
+ . I run "behave", but I got UnicodeDecodeError, just like this:
8
+ .
9
+ . File "D:\workspace\env_110\lib\site-packages\behave\runner.py", line 304, in exec_file
10
+ . code = compile(f.read(), filename2, 'exec')
11
+ . UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 510: illegal multibyte sequence
12
+
13
+ | OPEN ISSUES:
14
+ | * Acceptable/supported Python source file encodings
15
+ | * config: Add encoding option for feature files, step files or both.
16
+
17
+ Scenario: Cause BAD-ASCII Syndrome in steps file
18
+ Given a new working directory
19
+ And a file named "features/steps/bad_ascii_steps.py" with:
20
+ """
21
+ '''
22
+ BAD ASCII CASES (requires UTF-8/latin1 support):
23
+ * Café
24
+ * Ärgernis ist überall
25
+ '''
26
+ # COMMENT: Ärgernis ist überall
27
+ """
28
+ And a file named "features/steps/steps.py" with:
29
+ """
30
+ from __future__ import unicode_literals
31
+ from behave import step
32
+
33
+ @step('{word:w} step passes')
34
+ def step_passes(context, word):
35
+ pass
36
+ """
37
+ And a file named "features/e1.feature" with:
38
+ """
39
+ Feature:
40
+ Scenario: Alice
41
+ Given a step passes
42
+ Then another step passes
43
+ """
44
+ When I run "behave -f plain features/e1.feature"
45
+ Then it should pass with:
46
+ """
47
+ 1 scenario passed, 0 failed, 0 skipped
48
+ 2 steps passed, 0 failed, 0 skipped, 0 undefined
49
+ """
@@ -0,0 +1,91 @@
1
+ @issue
2
+ Feature: Issue #302: Cannot escape pipe in table field value
3
+
4
+ Support escaped-pipe characters in cells of a table.
5
+
6
+ @setup
7
+ Scenario: Feature Setup
8
+ Given a new working directory
9
+ And a file named "features/steps/steps.py" with:
10
+ """
11
+ from behave import then, step
12
+ from hamcrest import assert_that, equal_to
13
+
14
+ @step(u'I use table data with')
15
+ def step_use_table_data_with_table(context):
16
+ assert context.table, "REQUIRE: context.table is provided"
17
+ context.table.require_columns(["name", "value"])
18
+
19
+ context.table_data = {}
20
+ for row in context.table.rows:
21
+ name = row["name"]
22
+ value = row["value"]
23
+ context.table_data[name] = value
24
+
25
+ @then(u'table data "{name}" is "{value}"')
26
+ def step_table_data_name_is_value(context, name, value):
27
+ table_data = context.table_data
28
+ actual_value = table_data[name]
29
+ assert_that(actual_value, equal_to(value))
30
+ """
31
+
32
+ Scenario: Escaped-pipes in table cell
33
+ Given a file named "features/issue0302_example.feature" with:
34
+ """
35
+ Feature:
36
+ Scenario: Use a table
37
+ Given I use table data with:
38
+ | name | value |
39
+ | alice | one\|two\|three\|four |
40
+ Then table data "alice" is "one|two|three|four"
41
+ """
42
+ When I run "behave -f plain features/issue0302_example.feature"
43
+ Then it should pass
44
+ And the command output should not contain:
45
+ """
46
+ Traceback (most recent call last):
47
+ """
48
+
49
+
50
+ Scenario: Leading escaped-pipe in table cell
51
+ Given a file named "features/issue0302_example2.feature" with:
52
+ """
53
+ Feature:
54
+ Scenario: Use a table
55
+ Given I use table data with:
56
+ | name | value |
57
+ | bob |\|one |
58
+ Then table data "bob" is "|one"
59
+ """
60
+ When I run "behave -f plain features/issue0302_example2.feature"
61
+ Then it should pass
62
+
63
+
64
+ Scenario: Trailing escaped-pipe in table cell
65
+ Given a file named "features/issue0302_example3.feature" with:
66
+ """
67
+ Feature:
68
+ Scenario: Use a table
69
+ Given I use table data with:
70
+ | name | value |
71
+ | charly | one\||
72
+ Then table data "charly" is "one|"
73
+ """
74
+ When I run "behave -f plain features/issue0302_example3.feature"
75
+ Then it should pass
76
+
77
+
78
+ Scenario: Double escaped-pipe in table cell
79
+ Given a file named "features/issue0302_example4.feature" with:
80
+ """
81
+ Feature:
82
+ Scenario: Use a table
83
+ Given I use table data with:
84
+ | name | value |
85
+ | doro | one\\|two |
86
+ Then table data "doro" is "one\|two"
87
+ """
88
+ When I run "behave -f plain features/issue0302_example4.feature"
89
+ Then it should pass
90
+
91
+
@@ -0,0 +1,52 @@
1
+ @issue
2
+ Feature: Issue #309 -- behave --lang-list fails on Python3
3
+
4
+ . When I type "behave --lang-list", the following error occurs on Python 3.4:
5
+ .
6
+ . Traceback (most recent call last):
7
+ . File "/usr/local/bin/behave", line 11, in <module>
8
+ . sys.exit(main())
9
+ . File "/usr/local/lib/python3.4/dist-packages/behave/__main__.py", line 65, in main
10
+ . iso_codes.sort()
11
+ . AttributeError: 'dict_keys' object has no attribute 'sort'
12
+ .
13
+ . ADDITIONAL PROBLEM: On Python2 you may get an UnicodeDecodeError
14
+ . Traceback (most recent call last):
15
+ . ...
16
+ . Languages available:
17
+ . File "/Users/jens/se/behave_main.fix/behave/__main__.py", line 70, in main
18
+ . print(u'%s: %s / %s' % (iso_code, native, name))
19
+ . UnicodeEncodeError: 'ascii' codec can't encode characters in position 4-10: ordinal not in range(128)
20
+ .
21
+ . RELATED FEATURES:
22
+ . * features/cmdline.lang_list.feature
23
+ .
24
+
25
+
26
+ @problematic
27
+ @not.with_os=win32
28
+ Scenario: Use behave --lang-list
29
+ When I run "behave --lang-list"
30
+ Then it should pass with:
31
+ """
32
+ Languages available:
33
+ ar: العربية / Arabic
34
+ bg: български / Bulgarian
35
+ ca: català / Catalan
36
+ cs: Česky / Czech
37
+ cy-GB: Cymraeg / Welsh
38
+ da: dansk / Danish
39
+ de: Deutsch / German
40
+ en: English / English
41
+ """
42
+ And the command output should contain:
43
+ """
44
+ sv: Svenska / Swedish
45
+ tr: Türkçe / Turkish
46
+ uk: Українська / Ukrainian
47
+ uz: Узбекча / Uzbek
48
+ vi: Tiếng Việt / Vietnamese
49
+ zh-CN: 简体中文 / Chinese simplified
50
+ zh-TW: 繁體中文 / Chinese traditional
51
+ """
52
+ But the command output should not contain "Traceback"
@@ -0,0 +1,124 @@
1
+ @issue
2
+ Feature: Issue #330: Skipped scenarios are included in junit reports when --no-skipped is used
3
+
4
+ @setup
5
+ Scenario: Feature Setup
6
+ Given a new working directory
7
+ And a file named "features/steps/steps.py" with:
8
+ """
9
+ from behave import step
10
+
11
+ @step('{word:w} step passes')
12
+ def step_passes(context, word):
13
+ pass
14
+ """
15
+ And a file named "features/alice.feature" with:
16
+ """
17
+ @tag1
18
+ Feature: Alice
19
+ Scenario: Alice1
20
+ Given a step passes
21
+ """
22
+ And a file named "features/bob.feature" with:
23
+ """
24
+ Feature: Bob
25
+ Scenario: Bob1
26
+ Given another step passes
27
+ """
28
+ And a file named "features/charly.feature" with:
29
+ """
30
+ Feature: Charly
31
+
32
+ @tag1
33
+ Scenario: Charly1
34
+ Given some step passes
35
+
36
+ Scenario: Charly2
37
+ When another step passes
38
+ """
39
+ And a file named "alice_and_bob.featureset" with:
40
+ """
41
+ features/alice.feature
42
+ features/bob.feature
43
+ """
44
+ And a file named "behave.ini" with:
45
+ """
46
+ [behave]
47
+ default_format = plain
48
+ junit_directory = test_results
49
+
50
+ [behave.userdata]
51
+ behave.reporter.junit.show_timestamp = false
52
+ behave.reporter.junit.show_hostname = false
53
+ """
54
+
55
+ Scenario: Junit report for skipped feature is not created with --no-skipped
56
+ When I run "behave --junit -t @tag1 --no-skipped @alice_and_bob.featureset"
57
+ Then it should pass with:
58
+ """
59
+ 1 feature passed, 0 failed, 1 skipped
60
+ """
61
+ And a file named "test_results/TESTS-alice.xml" exists
62
+ And a file named "test_results/TESTS-bob.xml" does not exist
63
+ And the command output should contain:
64
+ """
65
+ Feature: Alice
66
+ Scenario: Alice1
67
+ Given a step passes ... passed
68
+ """
69
+ But the command output should not contain "Feature: Bob"
70
+ And note that "bob.feature is skipped"
71
+
72
+
73
+ Scenario: Junit report for skipped feature is created with --show-skipped
74
+ When I run "behave --junit -t @tag1 --show-skipped @alice_and_bob.featureset"
75
+ Then it should pass with:
76
+ """
77
+ 1 feature passed, 0 failed, 1 skipped
78
+ """
79
+ And a file named "test_results/TESTS-alice.xml" exists
80
+ And a file named "test_results/TESTS-bob.xml" exists
81
+ And the file "test_results/TESTS-bob.xml" should contain:
82
+ """
83
+ <testsuite errors="0" failures="0" name="bob.Bob" skipped="1" tests="1" time="0.0">
84
+ """
85
+
86
+ Scenario: Junit report for skipped scenario is neither shown nor counted with --no-skipped
87
+ When I run "behave --junit -t @tag1 --no-skipped"
88
+ Then it should pass with:
89
+ """
90
+ 2 features passed, 0 failed, 1 skipped
91
+ 2 scenarios passed, 0 failed, 2 skipped
92
+ """
93
+ And a file named "test_results/TESTS-alice.xml" exists
94
+ And a file named "test_results/TESTS-charly.xml" exists
95
+ And the file "test_results/TESTS-charly.xml" should contain:
96
+ """
97
+ <testsuite errors="0" failures="0" name="charly.Charly" skipped="0" tests="1"
98
+ """
99
+ And the file "test_results/TESTS-charly.xml" should not contain:
100
+ """
101
+ <testcase classname="charly.Charly" name="Charly2"
102
+ """
103
+ And note that "Charly2 is the skipped scenarion in charly.feature"
104
+
105
+
106
+ Scenario: Junit report for skipped scenario is shown and counted with --show-skipped
107
+ When I run "behave --junit -t @tag1 --show-skipped"
108
+ Then it should pass with:
109
+ """
110
+ 2 features passed, 0 failed, 1 skipped
111
+ 2 scenarios passed, 0 failed, 2 skipped
112
+ """
113
+ And a file named "test_results/TESTS-alice.xml" exists
114
+ And a file named "test_results/TESTS-charly.xml" exists
115
+ And the file "test_results/TESTS-charly.xml" should contain:
116
+ """
117
+ <testsuite errors="0" failures="0" name="charly.Charly" skipped="1" tests="2"
118
+ """
119
+ And the file "test_results/TESTS-charly.xml" should contain:
120
+ """
121
+ <testcase classname="charly.Charly" name="Charly2" status="skipped"
122
+ """
123
+ And note that "Charly2 is the skipped scenarion in charly.feature"
124
+
@@ -0,0 +1,9 @@
1
+ @issue
2
+ @todo
3
+ Feature: Issue #349 -- ScenarioOutline skipped with --format=json
4
+
5
+ . Scenario Outline feature selected and processed when called with --format=pretty
6
+ . but skipped when called with --format=json.
7
+ .
8
+ . TODO:
9
+ . Write feature test for problem (note: problem should be fixed by now).
@@ -0,0 +1,79 @@
1
+ @issue
2
+ Feature: Issue #361 -- UTF-8 File with BOM
3
+
4
+ . Using step files with "Byte-Order Mark" (BOM) prefix
5
+ . causes weird problems.
6
+ .
7
+ . FIXES ALSO: #300
8
+ . AFFECTED FILES:
9
+ . * features/environment.py
10
+ . * features/steps/*.py
11
+
12
+ @setup
13
+ Scenario: Feature Setup
14
+ Given a new working directory
15
+ And a file named "features/steps/reuse_steps.py" with:
16
+ """
17
+ from behave4cmd0 import passing_steps
18
+ """
19
+ And a file named "features/passing.feature" with:
20
+ """
21
+ Feature:
22
+ Scenario:
23
+ Given a step passes
24
+ Then a special step
25
+ """
26
+ And a file named "behave.ini" with:
27
+ """
28
+ [behave]
29
+ show_timings = false
30
+ """
31
+
32
+
33
+ @encoding.<encoding>
34
+ @not.with_python.implementation=<exclude_pyimpl>
35
+ Scenario Outline: Use step file with <case>
36
+ Given a file named "features/steps/my_steps.py" and encoding="<encoding>" with:
37
+ """
38
+ # -*- coding: <encoding> -*-
39
+ '''
40
+ <text>.
41
+ '''
42
+ from behave import step
43
+
44
+ @step(u'a special step')
45
+ def step_impl(context):
46
+ pass
47
+ """
48
+ When I run "behave -f plain features/passing.feature"
49
+ Then it should pass with:
50
+ """
51
+ 1 scenario passed, 0 failed, 0 skipped
52
+ 2 steps passed, 0 failed, 0 skipped, 0 undefined
53
+ """
54
+ And the command output should contain:
55
+ """
56
+ Feature:
57
+ Scenario:
58
+ Given a step passes ... passed
59
+ Then a special step ... passed
60
+ """
61
+ And the command output should not contain:
62
+ """
63
+ SyntaxError: invalid character in identifier
64
+ """
65
+
66
+ Examples:
67
+ | encoding | text | case | exclude_pyimpl | Comment |
68
+ | UTF-8-sig | Ärgernis ist überall | UTF-8 encoding and BOM | pypy | pypy SyntaxError: UTF-8 with BOM |
69
+ | latin1 | Café | Latin1 encoding | none | |
70
+ | iso-8859-1 | Ärgernis ist überall | iso-8859-1 encoding | none | Alias for latin1 |
71
+ | cp1252 | Ärgernis ist überall | cp1252 encoding | none | Windows: Western Europe |
72
+ | cp1251 | Привет! (=hello) | cp1251 encoding (Russia)| none | Windows: Russia |
73
+ | cp866 | Привет! (=hello) | cp688 encoding (Russia) | none | IBM866: Russia |
74
+ | euc_jp | こんにちは (=hello) | euc_jp encoding (Japan) | none | Japanese |
75
+ | gbk | 您好 (=hello) | gbk encoding (China) | none | Unified Chinese |
76
+ | gb2312 | 您好 (=hello) | gb2312 encoding (China) | none | Simplified Chinese |
77
+
78
+ # -- DISABLE EXAMPLE ROW: Pypy 4.x has SyntaxError with UTF-8 BOM
79
+ # | UTF-8-sig | Ärgernis ist überall | UTF-8 encoding and BOM | |