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.
- checksums.yaml +7 -0
- data/.cane +0 -0
- data/.gitignore +17 -0
- data/.tailor +4 -0
- data/.travis.yml +11 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +3 -0
- data/LICENSE +15 -0
- data/README.md +41 -0
- data/Rakefile +68 -0
- data/busser-behave.gemspec +30 -0
- data/features/plugin_install_command.feature +11 -0
- data/features/plugin_list_command.feature +8 -0
- data/features/support/env.rb +13 -0
- data/features/test_command.feature +31 -0
- data/lib/busser/behave/version.rb +26 -0
- data/lib/busser/runner_plugin/behave.rb +37 -0
- data/vendor/behave/CHANGES.rst +483 -0
- data/vendor/behave/LICENSE +23 -0
- data/vendor/behave/MANIFEST.in +37 -0
- data/vendor/behave/PROJECT_INFO.rst +21 -0
- data/vendor/behave/README.rst +112 -0
- data/vendor/behave/VERSION.txt +1 -0
- data/vendor/behave/behave.ini +22 -0
- data/vendor/behave/behave/__init__.py +30 -0
- data/vendor/behave/behave/__main__.py +187 -0
- data/vendor/behave/behave/_stepimport.py +185 -0
- data/vendor/behave/behave/_types.py +134 -0
- data/vendor/behave/behave/api/__init__.py +7 -0
- data/vendor/behave/behave/api/async_step.py +283 -0
- data/vendor/behave/behave/capture.py +227 -0
- data/vendor/behave/behave/compat/__init__.py +5 -0
- data/vendor/behave/behave/compat/collections.py +20 -0
- data/vendor/behave/behave/configuration.py +788 -0
- data/vendor/behave/behave/contrib/__init__.py +0 -0
- data/vendor/behave/behave/contrib/scenario_autoretry.py +73 -0
- data/vendor/behave/behave/formatter/__init__.py +12 -0
- data/vendor/behave/behave/formatter/_builtins.py +39 -0
- data/vendor/behave/behave/formatter/_registry.py +135 -0
- data/vendor/behave/behave/formatter/ansi_escapes.py +91 -0
- data/vendor/behave/behave/formatter/base.py +200 -0
- data/vendor/behave/behave/formatter/formatters.py +57 -0
- data/vendor/behave/behave/formatter/json.py +253 -0
- data/vendor/behave/behave/formatter/null.py +12 -0
- data/vendor/behave/behave/formatter/plain.py +158 -0
- data/vendor/behave/behave/formatter/pretty.py +351 -0
- data/vendor/behave/behave/formatter/progress.py +287 -0
- data/vendor/behave/behave/formatter/rerun.py +114 -0
- data/vendor/behave/behave/formatter/sphinx_steps.py +372 -0
- data/vendor/behave/behave/formatter/sphinx_util.py +118 -0
- data/vendor/behave/behave/formatter/steps.py +497 -0
- data/vendor/behave/behave/formatter/tags.py +178 -0
- data/vendor/behave/behave/i18n.py +614 -0
- data/vendor/behave/behave/importer.py +102 -0
- data/vendor/behave/behave/json_parser.py +264 -0
- data/vendor/behave/behave/log_capture.py +233 -0
- data/vendor/behave/behave/matchers.py +402 -0
- data/vendor/behave/behave/model.py +1737 -0
- data/vendor/behave/behave/model_core.py +416 -0
- data/vendor/behave/behave/model_describe.py +105 -0
- data/vendor/behave/behave/parser.py +615 -0
- data/vendor/behave/behave/reporter/__init__.py +0 -0
- data/vendor/behave/behave/reporter/base.py +45 -0
- data/vendor/behave/behave/reporter/junit.py +473 -0
- data/vendor/behave/behave/reporter/summary.py +94 -0
- data/vendor/behave/behave/runner.py +753 -0
- data/vendor/behave/behave/runner_util.py +417 -0
- data/vendor/behave/behave/step_registry.py +112 -0
- data/vendor/behave/behave/tag_expression.py +111 -0
- data/vendor/behave/behave/tag_matcher.py +465 -0
- data/vendor/behave/behave/textutil.py +137 -0
- data/vendor/behave/behave/userdata.py +130 -0
- data/vendor/behave/behave4cmd0/__all_steps__.py +12 -0
- data/vendor/behave/behave4cmd0/__init__.py +5 -0
- data/vendor/behave/behave4cmd0/__setup.py +11 -0
- data/vendor/behave/behave4cmd0/command_shell.py +216 -0
- data/vendor/behave/behave4cmd0/command_shell_proc.py +256 -0
- data/vendor/behave/behave4cmd0/command_steps.py +532 -0
- data/vendor/behave/behave4cmd0/command_util.py +147 -0
- data/vendor/behave/behave4cmd0/failing_steps.py +49 -0
- data/vendor/behave/behave4cmd0/log/__init__.py +1 -0
- data/vendor/behave/behave4cmd0/log/steps.py +395 -0
- data/vendor/behave/behave4cmd0/note_steps.py +29 -0
- data/vendor/behave/behave4cmd0/passing_steps.py +36 -0
- data/vendor/behave/behave4cmd0/pathutil.py +146 -0
- data/vendor/behave/behave4cmd0/setup_command_shell.py +24 -0
- data/vendor/behave/behave4cmd0/textutil.py +304 -0
- data/vendor/behave/bin/behave +44 -0
- data/vendor/behave/bin/behave.cmd +10 -0
- data/vendor/behave/bin/behave.junit_filter.py +85 -0
- data/vendor/behave/bin/behave.step_durations.py +163 -0
- data/vendor/behave/bin/behave2cucumber_json.py +63 -0
- data/vendor/behave/bin/behave_cmd.py +44 -0
- data/vendor/behave/bin/convert_i18n_yaml.py +77 -0
- data/vendor/behave/bin/explore_platform_encoding.py +24 -0
- data/vendor/behave/bin/i18n.yml +621 -0
- data/vendor/behave/bin/invoke +8 -0
- data/vendor/behave/bin/invoke.cmd +9 -0
- data/vendor/behave/bin/json.format.py +167 -0
- data/vendor/behave/bin/jsonschema_validate.py +122 -0
- data/vendor/behave/bin/make_localpi.py +279 -0
- data/vendor/behave/bin/project_bootstrap.sh +30 -0
- data/vendor/behave/bin/toxcmd.py +270 -0
- data/vendor/behave/bin/toxcmd3.py +270 -0
- data/vendor/behave/conftest.py +27 -0
- data/vendor/behave/docs/Makefile +154 -0
- data/vendor/behave/docs/_static/agogo.css +501 -0
- data/vendor/behave/docs/_static/behave_logo.png +0 -0
- data/vendor/behave/docs/_static/behave_logo1.png +0 -0
- data/vendor/behave/docs/_static/behave_logo2.png +0 -0
- data/vendor/behave/docs/_static/behave_logo3.png +0 -0
- data/vendor/behave/docs/_themes/LICENSE +45 -0
- data/vendor/behave/docs/_themes/kr/layout.html +17 -0
- data/vendor/behave/docs/_themes/kr/relations.html +19 -0
- data/vendor/behave/docs/_themes/kr/static/flasky.css_t +480 -0
- data/vendor/behave/docs/_themes/kr/static/small_flask.css +90 -0
- data/vendor/behave/docs/_themes/kr/theme.conf +7 -0
- data/vendor/behave/docs/_themes/kr_small/layout.html +22 -0
- data/vendor/behave/docs/_themes/kr_small/static/flasky.css_t +287 -0
- data/vendor/behave/docs/_themes/kr_small/theme.conf +10 -0
- data/vendor/behave/docs/api.rst +408 -0
- data/vendor/behave/docs/appendix.rst +19 -0
- data/vendor/behave/docs/behave.rst +640 -0
- data/vendor/behave/docs/behave.rst-template +86 -0
- data/vendor/behave/docs/behave_ecosystem.rst +81 -0
- data/vendor/behave/docs/comparison.rst +85 -0
- data/vendor/behave/docs/conf.py +293 -0
- data/vendor/behave/docs/context_attributes.rst +66 -0
- data/vendor/behave/docs/django.rst +192 -0
- data/vendor/behave/docs/formatters.rst +61 -0
- data/vendor/behave/docs/gherkin.rst +673 -0
- data/vendor/behave/docs/index.rst +57 -0
- data/vendor/behave/docs/install.rst +60 -0
- data/vendor/behave/docs/more_info.rst +184 -0
- data/vendor/behave/docs/new_and_noteworthy.rst +18 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.4.rst +11 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.5.rst +814 -0
- data/vendor/behave/docs/new_and_noteworthy_v1.2.6.rst +255 -0
- data/vendor/behave/docs/parse_builtin_types.rst +59 -0
- data/vendor/behave/docs/philosophy.rst +235 -0
- data/vendor/behave/docs/regular_expressions.rst +71 -0
- data/vendor/behave/docs/related.rst +14 -0
- data/vendor/behave/docs/test_domains.rst +62 -0
- data/vendor/behave/docs/tutorial.rst +636 -0
- data/vendor/behave/docs/update_behave_rst.py +100 -0
- data/vendor/behave/etc/json/behave.json-schema +172 -0
- data/vendor/behave/etc/junit.xml/behave_junit.xsd +103 -0
- data/vendor/behave/etc/junit.xml/junit-4.xsd +92 -0
- data/vendor/behave/examples/async_step/README.txt +8 -0
- data/vendor/behave/examples/async_step/behave.ini +14 -0
- data/vendor/behave/examples/async_step/features/async_dispatch.feature +8 -0
- data/vendor/behave/examples/async_step/features/async_run.feature +6 -0
- data/vendor/behave/examples/async_step/features/environment.py +28 -0
- data/vendor/behave/examples/async_step/features/steps/async_dispatch_steps.py +26 -0
- data/vendor/behave/examples/async_step/features/steps/async_steps34.py +10 -0
- data/vendor/behave/examples/async_step/features/steps/async_steps35.py +10 -0
- data/vendor/behave/examples/async_step/testrun_example.async_dispatch.txt +11 -0
- data/vendor/behave/examples/async_step/testrun_example.async_run.txt +9 -0
- data/vendor/behave/examples/env_vars/README.rst +26 -0
- data/vendor/behave/examples/env_vars/behave.ini +15 -0
- data/vendor/behave/examples/env_vars/behave_run.output_example.txt +12 -0
- data/vendor/behave/examples/env_vars/features/env_var.feature +6 -0
- data/vendor/behave/examples/env_vars/features/steps/env_var_steps.py +38 -0
- data/vendor/behave/features/README.txt +12 -0
- data/vendor/behave/features/background.feature +392 -0
- data/vendor/behave/features/capture_stderr.feature +172 -0
- data/vendor/behave/features/capture_stdout.feature +125 -0
- data/vendor/behave/features/cmdline.lang_list.feature +33 -0
- data/vendor/behave/features/configuration.default_paths.feature +116 -0
- data/vendor/behave/features/context.global_params.feature +35 -0
- data/vendor/behave/features/context.local_params.feature +17 -0
- data/vendor/behave/features/directory_layout.advanced.feature +147 -0
- data/vendor/behave/features/directory_layout.basic.feature +75 -0
- data/vendor/behave/features/directory_layout.basic2.feature +87 -0
- data/vendor/behave/features/environment.py +53 -0
- data/vendor/behave/features/exploratory_testing.with_table.feature +141 -0
- data/vendor/behave/features/feature.description.feature +0 -0
- data/vendor/behave/features/feature.exclude_from_run.feature +96 -0
- data/vendor/behave/features/formatter.help.feature +30 -0
- data/vendor/behave/features/formatter.json.feature +420 -0
- data/vendor/behave/features/formatter.progress3.feature +235 -0
- data/vendor/behave/features/formatter.rerun.feature +296 -0
- data/vendor/behave/features/formatter.steps.feature +181 -0
- data/vendor/behave/features/formatter.steps_catalog.feature +100 -0
- data/vendor/behave/features/formatter.steps_doc.feature +140 -0
- data/vendor/behave/features/formatter.steps_usage.feature +404 -0
- data/vendor/behave/features/formatter.tags.feature +134 -0
- data/vendor/behave/features/formatter.tags_location.feature +183 -0
- data/vendor/behave/features/formatter.user_defined.feature +196 -0
- data/vendor/behave/features/i18n.unicode_problems.feature +445 -0
- data/vendor/behave/features/logcapture.clear_handlers.feature +114 -0
- data/vendor/behave/features/logcapture.feature +188 -0
- data/vendor/behave/features/logcapture.filter.feature +130 -0
- data/vendor/behave/features/logging.no_capture.feature +99 -0
- data/vendor/behave/features/logging.setup_format.feature +157 -0
- data/vendor/behave/features/logging.setup_level.feature +168 -0
- data/vendor/behave/features/logging.setup_with_configfile.feature +137 -0
- data/vendor/behave/features/parser.background.sad_cases.feature +129 -0
- data/vendor/behave/features/parser.feature.sad_cases.feature +144 -0
- data/vendor/behave/features/runner.abort_by_user.feature +305 -0
- data/vendor/behave/features/runner.continue_after_failed_step.feature +136 -0
- data/vendor/behave/features/runner.default_format.feature +175 -0
- data/vendor/behave/features/runner.dry_run.feature +184 -0
- data/vendor/behave/features/runner.feature_listfile.feature +223 -0
- data/vendor/behave/features/runner.hook_errors.feature +382 -0
- data/vendor/behave/features/runner.multiple_formatters.feature +285 -0
- data/vendor/behave/features/runner.scenario_autoretry.feature +131 -0
- data/vendor/behave/features/runner.select_files_by_regexp.example.feature +71 -0
- data/vendor/behave/features/runner.select_files_by_regexp.feature +84 -0
- data/vendor/behave/features/runner.select_scenarios_by_file_location.feature +403 -0
- data/vendor/behave/features/runner.select_scenarios_by_name.feature +289 -0
- data/vendor/behave/features/runner.select_scenarios_by_tag.feature +225 -0
- data/vendor/behave/features/runner.stop_after_failure.feature +122 -0
- data/vendor/behave/features/runner.tag_logic.feature +67 -0
- data/vendor/behave/features/runner.unknown_formatter.feature +23 -0
- data/vendor/behave/features/runner.use_stage_implementations.feature +126 -0
- data/vendor/behave/features/scenario.description.feature +171 -0
- data/vendor/behave/features/scenario.exclude_from_run.feature +217 -0
- data/vendor/behave/features/scenario_outline.basics.feature +100 -0
- data/vendor/behave/features/scenario_outline.improved.feature +177 -0
- data/vendor/behave/features/scenario_outline.name_annotation.feature +157 -0
- data/vendor/behave/features/scenario_outline.parametrized.feature +401 -0
- data/vendor/behave/features/scenario_outline.tagged_examples.feature +118 -0
- data/vendor/behave/features/step.async_steps.feature +225 -0
- data/vendor/behave/features/step.duplicated_step.feature +106 -0
- data/vendor/behave/features/step.execute_steps.feature +59 -0
- data/vendor/behave/features/step.execute_steps.with_table.feature +65 -0
- data/vendor/behave/features/step.import_other_step_module.feature +103 -0
- data/vendor/behave/features/step.pending_steps.feature +128 -0
- data/vendor/behave/features/step.undefined_steps.feature +307 -0
- data/vendor/behave/features/step.use_step_library.feature +44 -0
- data/vendor/behave/features/step_dialect.generic_steps.feature +189 -0
- data/vendor/behave/features/step_dialect.given_when_then.feature +89 -0
- data/vendor/behave/features/step_param.builtin_types.with_float.feature +239 -0
- data/vendor/behave/features/step_param.builtin_types.with_integer.feature +305 -0
- data/vendor/behave/features/step_param.custom_types.feature +134 -0
- data/vendor/behave/features/steps/behave_active_tags_steps.py +86 -0
- data/vendor/behave/features/steps/behave_context_steps.py +67 -0
- data/vendor/behave/features/steps/behave_model_tag_logic_steps.py +105 -0
- data/vendor/behave/features/steps/behave_model_util.py +105 -0
- data/vendor/behave/features/steps/behave_select_files_steps.py +83 -0
- data/vendor/behave/features/steps/behave_tag_expression_steps.py +166 -0
- data/vendor/behave/features/steps/behave_undefined_steps.py +101 -0
- data/vendor/behave/features/steps/use_steplib_behave4cmd.py +12 -0
- data/vendor/behave/features/summary.undefined_steps.feature +114 -0
- data/vendor/behave/features/tags.active_tags.feature +385 -0
- data/vendor/behave/features/tags.default_tags.feature +104 -0
- data/vendor/behave/features/tags.tag_expression.feature +105 -0
- data/vendor/behave/features/userdata.feature +331 -0
- data/vendor/behave/invoke.yaml +21 -0
- data/vendor/behave/issue.features/README.txt +17 -0
- data/vendor/behave/issue.features/environment.py +97 -0
- data/vendor/behave/issue.features/issue0030.feature +21 -0
- data/vendor/behave/issue.features/issue0031.feature +16 -0
- data/vendor/behave/issue.features/issue0032.feature +28 -0
- data/vendor/behave/issue.features/issue0035.feature +74 -0
- data/vendor/behave/issue.features/issue0040.feature +154 -0
- data/vendor/behave/issue.features/issue0041.feature +135 -0
- data/vendor/behave/issue.features/issue0042.feature +230 -0
- data/vendor/behave/issue.features/issue0044.feature +51 -0
- data/vendor/behave/issue.features/issue0046.feature +77 -0
- data/vendor/behave/issue.features/issue0052.feature +66 -0
- data/vendor/behave/issue.features/issue0059.feature +29 -0
- data/vendor/behave/issue.features/issue0063.feature +102 -0
- data/vendor/behave/issue.features/issue0064.feature +97 -0
- data/vendor/behave/issue.features/issue0065.feature +18 -0
- data/vendor/behave/issue.features/issue0066.feature +80 -0
- data/vendor/behave/issue.features/issue0067.feature +90 -0
- data/vendor/behave/issue.features/issue0069.feature +64 -0
- data/vendor/behave/issue.features/issue0072.feature +32 -0
- data/vendor/behave/issue.features/issue0073.feature +228 -0
- data/vendor/behave/issue.features/issue0075.feature +18 -0
- data/vendor/behave/issue.features/issue0077.feature +89 -0
- data/vendor/behave/issue.features/issue0080.feature +49 -0
- data/vendor/behave/issue.features/issue0081.feature +138 -0
- data/vendor/behave/issue.features/issue0083.feature +69 -0
- data/vendor/behave/issue.features/issue0084.feature +69 -0
- data/vendor/behave/issue.features/issue0085.feature +119 -0
- data/vendor/behave/issue.features/issue0092.feature +66 -0
- data/vendor/behave/issue.features/issue0096.feature +173 -0
- data/vendor/behave/issue.features/issue0099.feature +130 -0
- data/vendor/behave/issue.features/issue0109.feature +60 -0
- data/vendor/behave/issue.features/issue0111.feature +53 -0
- data/vendor/behave/issue.features/issue0112.feature +64 -0
- data/vendor/behave/issue.features/issue0114.feature +118 -0
- data/vendor/behave/issue.features/issue0116.feature +71 -0
- data/vendor/behave/issue.features/issue0125.feature +49 -0
- data/vendor/behave/issue.features/issue0127.feature +64 -0
- data/vendor/behave/issue.features/issue0139.feature +67 -0
- data/vendor/behave/issue.features/issue0142.feature +37 -0
- data/vendor/behave/issue.features/issue0143.feature +54 -0
- data/vendor/behave/issue.features/issue0145.feature +63 -0
- data/vendor/behave/issue.features/issue0148.feature +105 -0
- data/vendor/behave/issue.features/issue0152.feature +52 -0
- data/vendor/behave/issue.features/issue0159.feature +74 -0
- data/vendor/behave/issue.features/issue0162.feature +86 -0
- data/vendor/behave/issue.features/issue0171.feature +16 -0
- data/vendor/behave/issue.features/issue0172.feature +51 -0
- data/vendor/behave/issue.features/issue0175.feature +91 -0
- data/vendor/behave/issue.features/issue0177.feature +40 -0
- data/vendor/behave/issue.features/issue0181.feature +36 -0
- data/vendor/behave/issue.features/issue0184.feature +144 -0
- data/vendor/behave/issue.features/issue0186.feature +12 -0
- data/vendor/behave/issue.features/issue0188.feature +60 -0
- data/vendor/behave/issue.features/issue0191.feature +178 -0
- data/vendor/behave/issue.features/issue0194.feature +215 -0
- data/vendor/behave/issue.features/issue0197.feature +11 -0
- data/vendor/behave/issue.features/issue0216.feature +129 -0
- data/vendor/behave/issue.features/issue0226.feature +51 -0
- data/vendor/behave/issue.features/issue0228.feature +41 -0
- data/vendor/behave/issue.features/issue0230.feature +46 -0
- data/vendor/behave/issue.features/issue0231.feature +77 -0
- data/vendor/behave/issue.features/issue0238.feature +52 -0
- data/vendor/behave/issue.features/issue0251.feature +15 -0
- data/vendor/behave/issue.features/issue0280.feature +118 -0
- data/vendor/behave/issue.features/issue0288.feature +95 -0
- data/vendor/behave/issue.features/issue0300.feature +49 -0
- data/vendor/behave/issue.features/issue0302.feature +91 -0
- data/vendor/behave/issue.features/issue0309.feature +52 -0
- data/vendor/behave/issue.features/issue0330.feature +124 -0
- data/vendor/behave/issue.features/issue0349.feature +9 -0
- data/vendor/behave/issue.features/issue0361.feature +79 -0
- data/vendor/behave/issue.features/issue0383.feature +76 -0
- data/vendor/behave/issue.features/issue0384.feature +103 -0
- data/vendor/behave/issue.features/issue0385.feature +109 -0
- data/vendor/behave/issue.features/issue0424.feature +66 -0
- data/vendor/behave/issue.features/issue0446.feature +116 -0
- data/vendor/behave/issue.features/issue0449.feature +42 -0
- data/vendor/behave/issue.features/issue0453.feature +42 -0
- data/vendor/behave/issue.features/issue0457.feature +65 -0
- data/vendor/behave/issue.features/issue0462.feature +38 -0
- data/vendor/behave/issue.features/issue0476.feature +39 -0
- data/vendor/behave/issue.features/issue0487.feature +92 -0
- data/vendor/behave/issue.features/issue0506.feature +77 -0
- data/vendor/behave/issue.features/issue0510.feature +51 -0
- data/vendor/behave/issue.features/requirements.txt +12 -0
- data/vendor/behave/issue.features/steps/ansi_steps.py +20 -0
- data/vendor/behave/issue.features/steps/behave_hooks_steps.py +10 -0
- data/vendor/behave/issue.features/steps/use_steplib_behave4cmd.py +13 -0
- data/vendor/behave/more.features/formatter.json.validate_output.feature +37 -0
- data/vendor/behave/more.features/steps/tutorial_steps.py +16 -0
- data/vendor/behave/more.features/steps/use_steplib_behave4cmd.py +7 -0
- data/vendor/behave/more.features/tutorial.feature +6 -0
- data/vendor/behave/py.requirements/README.txt +5 -0
- data/vendor/behave/py.requirements/all.txt +16 -0
- data/vendor/behave/py.requirements/basic.txt +21 -0
- data/vendor/behave/py.requirements/develop.txt +28 -0
- data/vendor/behave/py.requirements/docs.txt +6 -0
- data/vendor/behave/py.requirements/json.txt +7 -0
- data/vendor/behave/py.requirements/more_py26.txt +8 -0
- data/vendor/behave/py.requirements/testing.txt +10 -0
- data/vendor/behave/pytest.ini +24 -0
- data/vendor/behave/setup.cfg +29 -0
- data/vendor/behave/setup.py +118 -0
- data/vendor/behave/setuptools_behave.py +130 -0
- data/vendor/behave/tasks/__behave.py +45 -0
- data/vendor/behave/tasks/__init__.py +55 -0
- data/vendor/behave/tasks/__main__.py +70 -0
- data/vendor/behave/tasks/_setup.py +135 -0
- data/vendor/behave/tasks/_vendor/README.rst +35 -0
- data/vendor/behave/tasks/_vendor/invoke.zip +0 -0
- data/vendor/behave/tasks/_vendor/path.py +1725 -0
- data/vendor/behave/tasks/_vendor/pathlib.py +1280 -0
- data/vendor/behave/tasks/_vendor/six.py +868 -0
- data/vendor/behave/tasks/clean.py +246 -0
- data/vendor/behave/tasks/docs.py +97 -0
- data/vendor/behave/tasks/requirements.txt +17 -0
- data/vendor/behave/tasks/test.py +192 -0
- data/vendor/behave/test/__init__.py +0 -0
- data/vendor/behave/test/_importer_candidate.py +3 -0
- data/vendor/behave/test/reporters/__init__.py +0 -0
- data/vendor/behave/test/reporters/test_summary.py +240 -0
- data/vendor/behave/test/test_ansi_escapes.py +73 -0
- data/vendor/behave/test/test_configuration.py +172 -0
- data/vendor/behave/test/test_formatter.py +265 -0
- data/vendor/behave/test/test_formatter_progress.py +39 -0
- data/vendor/behave/test/test_formatter_rerun.py +97 -0
- data/vendor/behave/test/test_formatter_tags.py +57 -0
- data/vendor/behave/test/test_importer.py +151 -0
- data/vendor/behave/test/test_log_capture.py +29 -0
- data/vendor/behave/test/test_matchers.py +236 -0
- data/vendor/behave/test/test_model.py +871 -0
- data/vendor/behave/test/test_parser.py +1590 -0
- data/vendor/behave/test/test_runner.py +1074 -0
- data/vendor/behave/test/test_step_registry.py +96 -0
- data/vendor/behave/test/test_tag_expression.py +506 -0
- data/vendor/behave/test/test_tag_expression2.py +462 -0
- data/vendor/behave/test/test_tag_matcher.py +729 -0
- data/vendor/behave/test/test_userdata.py +184 -0
- data/vendor/behave/tests/README.txt +12 -0
- data/vendor/behave/tests/__init__.py +0 -0
- data/vendor/behave/tests/api/__ONLY_PY34_or_newer.txt +0 -0
- data/vendor/behave/tests/api/__init__.py +0 -0
- data/vendor/behave/tests/api/_test_async_step34.py +130 -0
- data/vendor/behave/tests/api/_test_async_step35.py +75 -0
- data/vendor/behave/tests/api/test_async_step.py +18 -0
- data/vendor/behave/tests/api/testing_support.py +94 -0
- data/vendor/behave/tests/api/testing_support_async.py +21 -0
- data/vendor/behave/tests/issues/test_issue0336.py +66 -0
- data/vendor/behave/tests/issues/test_issue0449.py +55 -0
- data/vendor/behave/tests/issues/test_issue0453.py +62 -0
- data/vendor/behave/tests/issues/test_issue0458.py +54 -0
- data/vendor/behave/tests/issues/test_issue0495.py +65 -0
- data/vendor/behave/tests/unit/__init__.py +0 -0
- data/vendor/behave/tests/unit/test_behave4cmd_command_shell_proc.py +135 -0
- data/vendor/behave/tests/unit/test_capture.py +280 -0
- data/vendor/behave/tests/unit/test_model_core.py +56 -0
- data/vendor/behave/tests/unit/test_textutil.py +267 -0
- data/vendor/behave/tools/test-features/background.feature +9 -0
- data/vendor/behave/tools/test-features/environment.py +8 -0
- data/vendor/behave/tools/test-features/french.feature +11 -0
- data/vendor/behave/tools/test-features/outline.feature +39 -0
- data/vendor/behave/tools/test-features/parse.feature +10 -0
- data/vendor/behave/tools/test-features/step-data.feature +60 -0
- data/vendor/behave/tools/test-features/steps/steps.py +120 -0
- data/vendor/behave/tools/test-features/tags.feature +18 -0
- data/vendor/behave/tox.ini +159 -0
- 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 | |
|