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,265 @@
|
|
|
1
|
+
# -*- coding: UTF-8 -*-
|
|
2
|
+
|
|
3
|
+
from __future__ import absolute_import
|
|
4
|
+
import struct
|
|
5
|
+
import sys
|
|
6
|
+
import tempfile
|
|
7
|
+
import unittest
|
|
8
|
+
import six
|
|
9
|
+
from mock import Mock, patch
|
|
10
|
+
from nose.tools import * # pylint: disable=wildcard-import, unused-wildcard-import
|
|
11
|
+
|
|
12
|
+
from behave.formatter._registry import make_formatters
|
|
13
|
+
from behave.formatter import pretty
|
|
14
|
+
from behave.formatter.base import StreamOpener
|
|
15
|
+
from behave.model import Tag, Feature, Scenario, Step
|
|
16
|
+
from behave.model_core import Status
|
|
17
|
+
from behave.matchers import Match
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class TestGetTerminalSize(unittest.TestCase):
|
|
21
|
+
def setUp(self):
|
|
22
|
+
try:
|
|
23
|
+
self.ioctl_patch = patch("fcntl.ioctl")
|
|
24
|
+
self.ioctl = self.ioctl_patch.start()
|
|
25
|
+
except ImportError:
|
|
26
|
+
self.ioctl_patch = None
|
|
27
|
+
self.ioctl = None
|
|
28
|
+
self.zero_struct = struct.pack("HHHH", 0, 0, 0, 0)
|
|
29
|
+
|
|
30
|
+
def tearDown(self):
|
|
31
|
+
if self.ioctl_patch:
|
|
32
|
+
self.ioctl_patch.stop()
|
|
33
|
+
|
|
34
|
+
def test_windows_fallback(self): # pylint: disable=no-self-use
|
|
35
|
+
platform = sys.platform
|
|
36
|
+
sys.platform = "windows"
|
|
37
|
+
|
|
38
|
+
eq_(pretty.get_terminal_size(), (80, 24))
|
|
39
|
+
|
|
40
|
+
sys.platform = platform
|
|
41
|
+
|
|
42
|
+
def test_termios_fallback(self): # pylint: disable=no-self-use
|
|
43
|
+
try:
|
|
44
|
+
import termios
|
|
45
|
+
return
|
|
46
|
+
except ImportError:
|
|
47
|
+
pass
|
|
48
|
+
|
|
49
|
+
eq_(pretty.get_terminal_size(), (80, 24))
|
|
50
|
+
|
|
51
|
+
def test_exception_in_ioctl(self):
|
|
52
|
+
try:
|
|
53
|
+
import termios
|
|
54
|
+
except ImportError:
|
|
55
|
+
return
|
|
56
|
+
|
|
57
|
+
def raiser(*args, **kwargs): # pylint: disable=unused-argument
|
|
58
|
+
raise Exception("yeehar!")
|
|
59
|
+
|
|
60
|
+
self.ioctl.side_effect = raiser
|
|
61
|
+
|
|
62
|
+
eq_(pretty.get_terminal_size(), (80, 24))
|
|
63
|
+
self.ioctl.assert_called_with(0, termios.TIOCGWINSZ, self.zero_struct)
|
|
64
|
+
|
|
65
|
+
def test_happy_path(self):
|
|
66
|
+
try:
|
|
67
|
+
import termios
|
|
68
|
+
except ImportError:
|
|
69
|
+
return
|
|
70
|
+
|
|
71
|
+
self.ioctl.return_value = struct.pack("HHHH", 17, 23, 5, 5)
|
|
72
|
+
|
|
73
|
+
eq_(pretty.get_terminal_size(), (23, 17))
|
|
74
|
+
self.ioctl.assert_called_with(0, termios.TIOCGWINSZ, self.zero_struct)
|
|
75
|
+
|
|
76
|
+
def test_zero_size_fallback(self):
|
|
77
|
+
try:
|
|
78
|
+
import termios
|
|
79
|
+
except ImportError:
|
|
80
|
+
return
|
|
81
|
+
|
|
82
|
+
self.ioctl.return_value = self.zero_struct
|
|
83
|
+
|
|
84
|
+
eq_(pretty.get_terminal_size(), (80, 24))
|
|
85
|
+
self.ioctl.assert_called_with(0, termios.TIOCGWINSZ, self.zero_struct)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def _tf():
|
|
89
|
+
"""Open a temp file that looks a bunch like stdout."""
|
|
90
|
+
if six.PY3:
|
|
91
|
+
# in python3 it's got an encoding and accepts new-style strings
|
|
92
|
+
return tempfile.TemporaryFile(mode="w", encoding="UTF-8")
|
|
93
|
+
|
|
94
|
+
# pre-python3 it's not got an encoding and accepts encoded data
|
|
95
|
+
# (old-style strings)
|
|
96
|
+
return tempfile.TemporaryFile(mode="w")
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class FormatterTests(unittest.TestCase):
|
|
100
|
+
formatter_name = "plain" # SANE DEFAULT, overwritten by concrete classes
|
|
101
|
+
|
|
102
|
+
def setUp(self):
|
|
103
|
+
self.config = Mock()
|
|
104
|
+
self.config.color = True
|
|
105
|
+
self.config.outputs = [StreamOpener(stream=sys.stdout)]
|
|
106
|
+
self.config.format = [self.formatter_name]
|
|
107
|
+
|
|
108
|
+
_line = 0
|
|
109
|
+
@property
|
|
110
|
+
def line(self):
|
|
111
|
+
self._line += 1
|
|
112
|
+
return self._line
|
|
113
|
+
|
|
114
|
+
def _formatter(self, file_object, config): # pylint: disable=no-self-use
|
|
115
|
+
stream_opener = StreamOpener(stream=file_object)
|
|
116
|
+
f = make_formatters(config, [stream_opener])[0]
|
|
117
|
+
f.uri("<string>")
|
|
118
|
+
return f
|
|
119
|
+
|
|
120
|
+
def _feature(self, keyword=u"k\xe9yword", name=u"name", tags=None,
|
|
121
|
+
location=u"location", # pylint: disable=unused-argument
|
|
122
|
+
description=None, scenarios=None, background=None):
|
|
123
|
+
if tags is None:
|
|
124
|
+
tags = [u"spam", u"ham"]
|
|
125
|
+
if description is None:
|
|
126
|
+
description = [u"description"]
|
|
127
|
+
if scenarios is None:
|
|
128
|
+
scenarios = []
|
|
129
|
+
line = self.line
|
|
130
|
+
tags = [Tag(name, line) for name in tags]
|
|
131
|
+
return Feature("<string>", line, keyword, name, tags=tags,
|
|
132
|
+
description=description, scenarios=scenarios,
|
|
133
|
+
background=background)
|
|
134
|
+
|
|
135
|
+
def _scenario(self, keyword=u"k\xe9yword", name=u"name", tags=None, steps=None):
|
|
136
|
+
if tags is None:
|
|
137
|
+
tags = []
|
|
138
|
+
if steps is None:
|
|
139
|
+
steps = []
|
|
140
|
+
line = self.line
|
|
141
|
+
tags = [Tag(name, line) for name in tags]
|
|
142
|
+
return Scenario("<string>", line, keyword, name, tags=tags, steps=steps)
|
|
143
|
+
|
|
144
|
+
def _step(self, keyword=u"k\xe9yword", step_type="given", name=u"name",
|
|
145
|
+
text=None, table=None):
|
|
146
|
+
line = self.line
|
|
147
|
+
return Step("<string>", line, keyword, step_type, name, text=text,
|
|
148
|
+
table=table)
|
|
149
|
+
|
|
150
|
+
def _match(self, arguments=None): # pylint: disable=no-self-use
|
|
151
|
+
def dummy():
|
|
152
|
+
pass
|
|
153
|
+
|
|
154
|
+
return Match(dummy, arguments)
|
|
155
|
+
|
|
156
|
+
def test_feature(self):
|
|
157
|
+
# this test does not actually check the result of the formatting; it
|
|
158
|
+
# just exists to make sure that formatting doesn't explode in the face of
|
|
159
|
+
# unicode and stuff
|
|
160
|
+
p = self._formatter(_tf(), self.config)
|
|
161
|
+
f = self._feature()
|
|
162
|
+
p.feature(f)
|
|
163
|
+
|
|
164
|
+
def test_scenario(self):
|
|
165
|
+
p = self._formatter(_tf(), self.config)
|
|
166
|
+
f = self._feature()
|
|
167
|
+
p.feature(f)
|
|
168
|
+
s = self._scenario()
|
|
169
|
+
p.scenario(s)
|
|
170
|
+
|
|
171
|
+
def test_step(self):
|
|
172
|
+
p = self._formatter(_tf(), self.config)
|
|
173
|
+
f = self._feature()
|
|
174
|
+
p.feature(f)
|
|
175
|
+
scenario = self._scenario()
|
|
176
|
+
p.scenario(scenario)
|
|
177
|
+
s = self._step()
|
|
178
|
+
p.step(s)
|
|
179
|
+
p.match(self._match([]))
|
|
180
|
+
s.status = Status.passed
|
|
181
|
+
p.result(s)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
class TestPretty(FormatterTests):
|
|
185
|
+
formatter_name = "pretty"
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
class TestPlain(FormatterTests):
|
|
189
|
+
formatter_name = "plain"
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
class TestJson(FormatterTests):
|
|
193
|
+
formatter_name = "json"
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
class TestTagsCount(FormatterTests):
|
|
197
|
+
formatter_name = "tags"
|
|
198
|
+
|
|
199
|
+
def test_tag_counts(self):
|
|
200
|
+
p = self._formatter(_tf(), self.config)
|
|
201
|
+
|
|
202
|
+
s = self._scenario(tags=[u"ham", u"foo"])
|
|
203
|
+
f = self._feature(scenarios=[s]) # feature.tags= ham, spam
|
|
204
|
+
p.feature(f)
|
|
205
|
+
p.scenario(s)
|
|
206
|
+
|
|
207
|
+
eq_(p.tag_counts, {"ham": [f, s], "spam": [f], "foo": [s]})
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
class MultipleFormattersTests(FormatterTests):
|
|
211
|
+
formatters = []
|
|
212
|
+
|
|
213
|
+
def setUp(self):
|
|
214
|
+
self.config = Mock()
|
|
215
|
+
self.config.color = True
|
|
216
|
+
self.config.outputs = [StreamOpener(stream=sys.stdout)
|
|
217
|
+
for i in self.formatters]
|
|
218
|
+
self.config.format = self.formatters
|
|
219
|
+
|
|
220
|
+
def _formatters(self, file_object, config): # pylint: disable=no-self-use
|
|
221
|
+
stream_opener = StreamOpener(stream=file_object)
|
|
222
|
+
formatters = make_formatters(config, [stream_opener])
|
|
223
|
+
for f in formatters:
|
|
224
|
+
f.uri("<string>")
|
|
225
|
+
return formatters
|
|
226
|
+
|
|
227
|
+
def test_feature(self):
|
|
228
|
+
# this test does not actually check the result of the formatting; it
|
|
229
|
+
# just exists to make sure that formatting doesn't explode in the face of
|
|
230
|
+
# unicode and stuff
|
|
231
|
+
formatters = self._formatters(_tf(), self.config)
|
|
232
|
+
f = self._feature()
|
|
233
|
+
for p in formatters:
|
|
234
|
+
p.feature(f)
|
|
235
|
+
|
|
236
|
+
def test_scenario(self):
|
|
237
|
+
formatters = self._formatters(_tf(), self.config)
|
|
238
|
+
f = self._feature()
|
|
239
|
+
for p in formatters:
|
|
240
|
+
p.feature(f)
|
|
241
|
+
s = self._scenario()
|
|
242
|
+
p.scenario(s)
|
|
243
|
+
|
|
244
|
+
def test_step(self):
|
|
245
|
+
formatters = self._formatters(_tf(), self.config)
|
|
246
|
+
f = self._feature()
|
|
247
|
+
for p in formatters:
|
|
248
|
+
p.feature(f)
|
|
249
|
+
scenario = self._scenario()
|
|
250
|
+
p.scenario(scenario)
|
|
251
|
+
s = self._step()
|
|
252
|
+
p.step(s)
|
|
253
|
+
p.match(self._match([]))
|
|
254
|
+
s.status = Status.passed
|
|
255
|
+
p.result(s)
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
class TestPrettyAndPlain(MultipleFormattersTests):
|
|
259
|
+
formatters = ["pretty", "plain"]
|
|
260
|
+
|
|
261
|
+
class TestPrettyAndJSON(MultipleFormattersTests):
|
|
262
|
+
formatters = ["pretty", "json"]
|
|
263
|
+
|
|
264
|
+
class TestJSONAndPlain(MultipleFormattersTests):
|
|
265
|
+
formatters = ["json", "plain"]
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
Test progress formatters:
|
|
4
|
+
* behave.formatter.progress.ScenarioProgressFormatter
|
|
5
|
+
* behave.formatter.progress.StepProgressFormatter
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import absolute_import
|
|
9
|
+
from .test_formatter import FormatterTests as FormatterTest
|
|
10
|
+
from .test_formatter import MultipleFormattersTests as MultipleFormattersTest
|
|
11
|
+
|
|
12
|
+
class TestScenarioProgressFormatter(FormatterTest):
|
|
13
|
+
formatter_name = "progress"
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class TestStepProgressFormatter(FormatterTest):
|
|
17
|
+
formatter_name = "progress2"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class TestPrettyAndScenarioProgress(MultipleFormattersTest):
|
|
21
|
+
formatters = ['pretty', 'progress']
|
|
22
|
+
|
|
23
|
+
class TestPlainAndScenarioProgress(MultipleFormattersTest):
|
|
24
|
+
formatters = ['plain', 'progress']
|
|
25
|
+
|
|
26
|
+
class TestJSONAndScenarioProgress(MultipleFormattersTest):
|
|
27
|
+
formatters = ['json', 'progress']
|
|
28
|
+
|
|
29
|
+
class TestPrettyAndStepProgress(MultipleFormattersTest):
|
|
30
|
+
formatters = ['pretty', 'progress2']
|
|
31
|
+
|
|
32
|
+
class TestPlainAndStepProgress(MultipleFormattersTest):
|
|
33
|
+
formatters = ['plain', 'progress2']
|
|
34
|
+
|
|
35
|
+
class TestJSONAndStepProgress(MultipleFormattersTest):
|
|
36
|
+
formatters = ['json', 'progress2']
|
|
37
|
+
|
|
38
|
+
class TestScenarioProgressAndStepProgress(MultipleFormattersTest):
|
|
39
|
+
formatters = ['progress', 'progress2']
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
Test behave formatters:
|
|
4
|
+
* behave.formatter.rerun.RerunFormatter
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from __future__ import absolute_import
|
|
8
|
+
from behave.model_core import Status
|
|
9
|
+
from .test_formatter import FormatterTests as FormatterTest, _tf
|
|
10
|
+
from .test_formatter import MultipleFormattersTests as MultipleFormattersTest
|
|
11
|
+
from nose.tools import *
|
|
12
|
+
|
|
13
|
+
class TestRerunFormatter(FormatterTest):
|
|
14
|
+
formatter_name = "rerun"
|
|
15
|
+
|
|
16
|
+
def test_feature_with_two_passing_scenarios(self):
|
|
17
|
+
p = self._formatter(_tf(), self.config)
|
|
18
|
+
f = self._feature()
|
|
19
|
+
scenarios = [ self._scenario(), self._scenario() ]
|
|
20
|
+
for scenario in scenarios:
|
|
21
|
+
f.add_scenario(scenario)
|
|
22
|
+
|
|
23
|
+
# -- FORMATTER CALLBACKS:
|
|
24
|
+
p.feature(f)
|
|
25
|
+
for scenario in f.scenarios:
|
|
26
|
+
p.scenario(scenario)
|
|
27
|
+
assert scenario.status == Status.passed
|
|
28
|
+
p.eof()
|
|
29
|
+
eq_([], p.failed_scenarios)
|
|
30
|
+
# -- EMIT REPORT:
|
|
31
|
+
p.close()
|
|
32
|
+
|
|
33
|
+
def test_feature_with_one_passing_one_failing_scenario(self):
|
|
34
|
+
p = self._formatter(_tf(), self.config)
|
|
35
|
+
f = self._feature()
|
|
36
|
+
passing_scenario = self._scenario()
|
|
37
|
+
failing_scenario = self._scenario()
|
|
38
|
+
failing_scenario.steps.append(self._step())
|
|
39
|
+
scenarios = [ passing_scenario, failing_scenario ]
|
|
40
|
+
for scenario in scenarios:
|
|
41
|
+
f.add_scenario(scenario)
|
|
42
|
+
|
|
43
|
+
# -- FORMATTER CALLBACKS:
|
|
44
|
+
p.feature(f)
|
|
45
|
+
for scenario in f.scenarios:
|
|
46
|
+
p.scenario(scenario)
|
|
47
|
+
|
|
48
|
+
failing_scenario.steps[0].status = Status.failed
|
|
49
|
+
assert scenarios[0].status == Status.passed
|
|
50
|
+
assert scenarios[1].status == Status.failed
|
|
51
|
+
p.eof()
|
|
52
|
+
eq_([ failing_scenario ], p.failed_scenarios)
|
|
53
|
+
# -- EMIT REPORT:
|
|
54
|
+
p.close()
|
|
55
|
+
|
|
56
|
+
def test_feature_with_one_passing_two_failing_scenario(self):
|
|
57
|
+
p = self._formatter(_tf(), self.config)
|
|
58
|
+
f = self._feature()
|
|
59
|
+
passing_scenario = self._scenario()
|
|
60
|
+
failing_scenario1 = self._scenario()
|
|
61
|
+
failing_scenario1.steps.append(self._step())
|
|
62
|
+
failing_scenario2 = self._scenario()
|
|
63
|
+
failing_scenario2.steps.append(self._step())
|
|
64
|
+
scenarios = [ failing_scenario1, passing_scenario, failing_scenario2 ]
|
|
65
|
+
for scenario in scenarios:
|
|
66
|
+
f.add_scenario(scenario)
|
|
67
|
+
|
|
68
|
+
# -- FORMATTER CALLBACKS:
|
|
69
|
+
p.feature(f)
|
|
70
|
+
for scenario in f.scenarios:
|
|
71
|
+
p.scenario(scenario)
|
|
72
|
+
|
|
73
|
+
failing_scenario1.steps[0].status = Status.failed
|
|
74
|
+
failing_scenario2.steps[0].status = Status.failed
|
|
75
|
+
assert scenarios[0].status == Status.failed
|
|
76
|
+
assert scenarios[1].status == Status.passed
|
|
77
|
+
assert scenarios[2].status == Status.failed
|
|
78
|
+
p.eof()
|
|
79
|
+
eq_([ failing_scenario1, failing_scenario2 ], p.failed_scenarios)
|
|
80
|
+
# -- EMIT REPORT:
|
|
81
|
+
p.close()
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class TestRerunAndPrettyFormatters(MultipleFormattersTest):
|
|
85
|
+
formatters = ["rerun", "pretty"]
|
|
86
|
+
|
|
87
|
+
class TestRerunAndPlainFormatters(MultipleFormattersTest):
|
|
88
|
+
formatters = ["rerun", "plain"]
|
|
89
|
+
|
|
90
|
+
class TestRerunAndScenarioProgressFormatters(MultipleFormattersTest):
|
|
91
|
+
formatters = ["rerun", "progress"]
|
|
92
|
+
|
|
93
|
+
class TestRerunAndStepProgressFormatters(MultipleFormattersTest):
|
|
94
|
+
formatters = ["rerun", "progress2"]
|
|
95
|
+
|
|
96
|
+
class TestRerunAndJsonFormatter(MultipleFormattersTest):
|
|
97
|
+
formatters = ["rerun", "json"]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
Test formatters:
|
|
4
|
+
* behave.formatter.tags.TagsCountFormatter
|
|
5
|
+
* behave.formatter.tags.TagsLocationFormatter
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from __future__ import absolute_import
|
|
9
|
+
from .test_formatter import FormatterTests as FormatterTest
|
|
10
|
+
from .test_formatter import MultipleFormattersTests as MultipleFormattersTest
|
|
11
|
+
|
|
12
|
+
# -----------------------------------------------------------------------------
|
|
13
|
+
# FORMATTER TESTS: With TagCountFormatter
|
|
14
|
+
# -----------------------------------------------------------------------------
|
|
15
|
+
class TestTagsCountFormatter(FormatterTest):
|
|
16
|
+
formatter_name = "tags"
|
|
17
|
+
|
|
18
|
+
# -----------------------------------------------------------------------------
|
|
19
|
+
# FORMATTER TESTS: With TagLocationFormatter
|
|
20
|
+
# -----------------------------------------------------------------------------
|
|
21
|
+
class TestTagsLocationFormatter(FormatterTest):
|
|
22
|
+
formatter_name = "tags.location"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# -----------------------------------------------------------------------------
|
|
26
|
+
# MULTI-FORMATTER TESTS: With TagCountFormatter
|
|
27
|
+
# -----------------------------------------------------------------------------
|
|
28
|
+
class TestPrettyAndTagsCount(MultipleFormattersTest):
|
|
29
|
+
formatters = ["pretty", "tags"]
|
|
30
|
+
|
|
31
|
+
class TestPlainAndTagsCount(MultipleFormattersTest):
|
|
32
|
+
formatters = ["plain", "tags"]
|
|
33
|
+
|
|
34
|
+
class TestJSONAndTagsCount(MultipleFormattersTest):
|
|
35
|
+
formatters = ["json", "tags"]
|
|
36
|
+
|
|
37
|
+
class TestRerunAndTagsCount(MultipleFormattersTest):
|
|
38
|
+
formatters = ["rerun", "tags"]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# -----------------------------------------------------------------------------
|
|
42
|
+
# MULTI-FORMATTER TESTS: With TagLocationFormatter
|
|
43
|
+
# -----------------------------------------------------------------------------
|
|
44
|
+
class TestPrettyAndTagsLocation(MultipleFormattersTest):
|
|
45
|
+
formatters = ["pretty", "tags.location"]
|
|
46
|
+
|
|
47
|
+
class TestPlainAndTagsLocation(MultipleFormattersTest):
|
|
48
|
+
formatters = ["plain", "tags.location"]
|
|
49
|
+
|
|
50
|
+
class TestJSONAndTagsLocation(MultipleFormattersTest):
|
|
51
|
+
formatters = ["json", "tags.location"]
|
|
52
|
+
|
|
53
|
+
class TestRerunAndTagsLocation(MultipleFormattersTest):
|
|
54
|
+
formatters = ["rerun", "tags.location"]
|
|
55
|
+
|
|
56
|
+
class TestTagsCountAndTagsLocation(MultipleFormattersTest):
|
|
57
|
+
formatters = ["tags", "tags.location"]
|