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,44 @@
|
|
|
1
|
+
Feature: Use a step library
|
|
2
|
+
|
|
3
|
+
As a tester
|
|
4
|
+
I want to use steps from one or more step libraries
|
|
5
|
+
To simplify the reuse of problem domain specific steps in multiple projects.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Scenario: Use a simple step library
|
|
9
|
+
Given a new working directory
|
|
10
|
+
And an empty file named "step_library1/__init__.py"
|
|
11
|
+
And a file named "step_library1/alice_steps.py" with:
|
|
12
|
+
"""
|
|
13
|
+
from behave import step
|
|
14
|
+
|
|
15
|
+
@step('I meet Alice')
|
|
16
|
+
def step_meet_alice(context):
|
|
17
|
+
pass
|
|
18
|
+
"""
|
|
19
|
+
And a file named "step_library1/bob_steps.py" with:
|
|
20
|
+
"""
|
|
21
|
+
from behave import step
|
|
22
|
+
|
|
23
|
+
@step('I meet Bob')
|
|
24
|
+
def step_meet_bob(context):
|
|
25
|
+
pass
|
|
26
|
+
"""
|
|
27
|
+
And a file named "features/steps/use_step_library.py" with:
|
|
28
|
+
"""
|
|
29
|
+
from step_library1 import alice_steps, bob_steps
|
|
30
|
+
"""
|
|
31
|
+
And a file named "features/example_use_step_library.feature" with:
|
|
32
|
+
"""
|
|
33
|
+
Feature:
|
|
34
|
+
Scenario:
|
|
35
|
+
Given I meet Alice
|
|
36
|
+
And I meet Bob
|
|
37
|
+
"""
|
|
38
|
+
When I run "behave -f plain features/example_use_step_library.feature"
|
|
39
|
+
Then it should pass with:
|
|
40
|
+
"""
|
|
41
|
+
1 feature passed, 0 failed, 0 skipped
|
|
42
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
43
|
+
2 steps passed, 0 failed, 0 skipped, 0 undefined
|
|
44
|
+
"""
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
Feature: Step dialect for generic steps
|
|
2
|
+
|
|
3
|
+
As a test/story writer
|
|
4
|
+
I want to have a possibility to use generic steps
|
|
5
|
+
So that I can execute a sequence of steps without BDD keywords (Given/When/Then)
|
|
6
|
+
|
|
7
|
+
. SPECIFICATION: Generic step
|
|
8
|
+
. * Prefix each step with a '*' (asterisk/star) character to mark it as step
|
|
9
|
+
. * Provide step-functions/step definition with "@step" decorator
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@setup
|
|
13
|
+
Scenario: Feature Setup
|
|
14
|
+
Given a new working directory
|
|
15
|
+
And a file named "features/steps/steps.py" with:
|
|
16
|
+
"""
|
|
17
|
+
from behave import step
|
|
18
|
+
|
|
19
|
+
@step('{word:w} step passes')
|
|
20
|
+
def step_passes(context, word):
|
|
21
|
+
pass
|
|
22
|
+
|
|
23
|
+
@step('{word:w} step passes with "{param}"')
|
|
24
|
+
def step_passes_with_param(context, word, param):
|
|
25
|
+
pass
|
|
26
|
+
|
|
27
|
+
@step('a multi-line text step with')
|
|
28
|
+
def step_with_multiline_text(context):
|
|
29
|
+
assert context.text is not None, "REQUIRE: multi-line text"
|
|
30
|
+
|
|
31
|
+
@step('a step fails with "{param}"')
|
|
32
|
+
def step_fails_with_param(context, param=None):
|
|
33
|
+
assert False, "XFAIL-STEP: %s" % param
|
|
34
|
+
|
|
35
|
+
@step('a step fails')
|
|
36
|
+
def step_fails(context):
|
|
37
|
+
assert False, "XFAIL-STEP"
|
|
38
|
+
|
|
39
|
+
@step('a table step with')
|
|
40
|
+
def step_with_table(context):
|
|
41
|
+
assert context.table, "REQUIRES: table"
|
|
42
|
+
context.table.require_columns(["name", "age"])
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
Scenario: Simple step-by-step example
|
|
47
|
+
|
|
48
|
+
* a step passes
|
|
49
|
+
* another step passes
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
Scenario: Simple step-by-step example 2
|
|
53
|
+
Given a file named "features/generic_steps.feature" with:
|
|
54
|
+
"""
|
|
55
|
+
Feature:
|
|
56
|
+
Scenario:
|
|
57
|
+
* a step passes
|
|
58
|
+
* another step passes
|
|
59
|
+
* a step passes with "Alice"
|
|
60
|
+
* another step passes with "Bob"
|
|
61
|
+
"""
|
|
62
|
+
When I run "behave -f plain -T features/generic_steps.feature"
|
|
63
|
+
Then it should pass with:
|
|
64
|
+
"""
|
|
65
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
66
|
+
4 steps passed, 0 failed, 0 skipped
|
|
67
|
+
"""
|
|
68
|
+
And the command output should contain:
|
|
69
|
+
"""
|
|
70
|
+
Feature:
|
|
71
|
+
Scenario:
|
|
72
|
+
* a step passes ... passed
|
|
73
|
+
* another step passes ... passed
|
|
74
|
+
* a step passes with "Alice" ... passed
|
|
75
|
+
* another step passes with "Bob" ... passed
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
Scenario: Simple step-by-step example with failing steps
|
|
79
|
+
Given a file named "features/generic_steps.failing.feature" with:
|
|
80
|
+
"""
|
|
81
|
+
Feature:
|
|
82
|
+
Scenario:
|
|
83
|
+
* a step passes
|
|
84
|
+
* a step fails with "Alice"
|
|
85
|
+
* a step fails with "Bob"
|
|
86
|
+
* another step passes
|
|
87
|
+
"""
|
|
88
|
+
When I run "behave -f plain -T features/generic_steps.failing.feature"
|
|
89
|
+
Then it should fail with:
|
|
90
|
+
"""
|
|
91
|
+
0 scenarios passed, 1 failed, 0 skipped
|
|
92
|
+
1 step passed, 1 failed, 2 skipped
|
|
93
|
+
"""
|
|
94
|
+
And the command output should contain:
|
|
95
|
+
"""
|
|
96
|
+
Feature:
|
|
97
|
+
Scenario:
|
|
98
|
+
* a step passes ... passed
|
|
99
|
+
* a step fails with "Alice" ... failed
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
Scenario: Simple step-by-step example with scenario description
|
|
104
|
+
|
|
105
|
+
CASE: Ensure that first step is discovered after last description line.
|
|
106
|
+
|
|
107
|
+
Given a file named "features/generic_steps.with_description.feature" with:
|
|
108
|
+
'''
|
|
109
|
+
Feature:
|
|
110
|
+
Scenario:
|
|
111
|
+
|
|
112
|
+
First scenario description line.
|
|
113
|
+
Second scenario description line.
|
|
114
|
+
|
|
115
|
+
* a step passes
|
|
116
|
+
* another step passes
|
|
117
|
+
'''
|
|
118
|
+
When I run "behave -f plain -T features/generic_steps.with_description.feature"
|
|
119
|
+
Then it should pass with:
|
|
120
|
+
"""
|
|
121
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
122
|
+
2 steps passed, 0 failed, 0 skipped
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
Scenario: Simple step-by-step example with multi-line text
|
|
127
|
+
Given a file named "features/generic_steps.with_text.feature" with:
|
|
128
|
+
'''
|
|
129
|
+
Feature:
|
|
130
|
+
Scenario:
|
|
131
|
+
* a step passes
|
|
132
|
+
* a multi-line text step with:
|
|
133
|
+
"""
|
|
134
|
+
First line of multi-line text.
|
|
135
|
+
Second-line of multi-line text.
|
|
136
|
+
"""
|
|
137
|
+
* another step passes with "Charly"
|
|
138
|
+
'''
|
|
139
|
+
When I run "behave -f plain -T features/generic_steps.with_text.feature"
|
|
140
|
+
Then it should pass with:
|
|
141
|
+
"""
|
|
142
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
143
|
+
3 steps passed, 0 failed, 0 skipped
|
|
144
|
+
"""
|
|
145
|
+
And the command output should contain:
|
|
146
|
+
'''
|
|
147
|
+
Feature:
|
|
148
|
+
|
|
149
|
+
Scenario:
|
|
150
|
+
* a step passes ... passed
|
|
151
|
+
* a multi-line text step with ... passed
|
|
152
|
+
"""
|
|
153
|
+
First line of multi-line text.
|
|
154
|
+
Second-line of multi-line text.
|
|
155
|
+
"""
|
|
156
|
+
* another step passes with "Charly" ... passed
|
|
157
|
+
'''
|
|
158
|
+
|
|
159
|
+
Scenario: Simple step-by-step example with table
|
|
160
|
+
Given a file named "features/generic_steps.with_table.feature" with:
|
|
161
|
+
'''
|
|
162
|
+
Feature:
|
|
163
|
+
Scenario:
|
|
164
|
+
* a step passes
|
|
165
|
+
* a table step with:
|
|
166
|
+
| name | age |
|
|
167
|
+
| Alice | 10 |
|
|
168
|
+
| Bob | 12 |
|
|
169
|
+
* another step passes with "Dodo"
|
|
170
|
+
'''
|
|
171
|
+
When I run "behave -f plain -T features/generic_steps.with_table.feature"
|
|
172
|
+
Then it should pass with:
|
|
173
|
+
"""
|
|
174
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
175
|
+
3 steps passed, 0 failed, 0 skipped
|
|
176
|
+
"""
|
|
177
|
+
And the command output should contain:
|
|
178
|
+
'''
|
|
179
|
+
Feature:
|
|
180
|
+
Scenario:
|
|
181
|
+
* a step passes ... passed
|
|
182
|
+
* a table step with ... passed
|
|
183
|
+
| name | age |
|
|
184
|
+
| Alice | 10 |
|
|
185
|
+
| Bob | 12 |
|
|
186
|
+
* another step passes with "Dodo" ... passed
|
|
187
|
+
'''
|
|
188
|
+
|
|
189
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Feature: Step Dialect for BDD Steps with Given/When/Then Keywords
|
|
2
|
+
|
|
3
|
+
In order to execute a sequence of steps with BDD keywords (Given/When/Then)
|
|
4
|
+
As a test/story writer
|
|
5
|
+
I want to have the possibility to express myself.
|
|
6
|
+
|
|
7
|
+
. NOTE:
|
|
8
|
+
. * More details are provided in other features.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Scenario: Simple example
|
|
12
|
+
|
|
13
|
+
Normally preferred style with BDD keywords.
|
|
14
|
+
Note that BDD keywords are dependent on language settings.
|
|
15
|
+
|
|
16
|
+
Given a step passes
|
|
17
|
+
When a step passes
|
|
18
|
+
And a step passes
|
|
19
|
+
Then a step passes
|
|
20
|
+
And a step passes
|
|
21
|
+
But a step passes
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
Scenario: Simple example (with lower-case keywords)
|
|
25
|
+
|
|
26
|
+
Alternative style with lower-case BDD keywords.
|
|
27
|
+
|
|
28
|
+
given a step passes
|
|
29
|
+
when a step passes
|
|
30
|
+
and a step passes
|
|
31
|
+
then a step passes
|
|
32
|
+
and a step passes
|
|
33
|
+
but a step passes
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Scenario: Step usage example with details by running behave
|
|
37
|
+
Given a new working directory
|
|
38
|
+
And a file named "features/steps/steps.py" with:
|
|
39
|
+
"""
|
|
40
|
+
from behave import given, when, then, step
|
|
41
|
+
|
|
42
|
+
@given('a step passes')
|
|
43
|
+
def given_step_passes(context):
|
|
44
|
+
pass
|
|
45
|
+
|
|
46
|
+
@when('a step passes')
|
|
47
|
+
def when_step_passes(context):
|
|
48
|
+
pass
|
|
49
|
+
|
|
50
|
+
@then('a step passes')
|
|
51
|
+
def then_step_passes(context):
|
|
52
|
+
pass
|
|
53
|
+
|
|
54
|
+
@step('a step passes with "{param}"')
|
|
55
|
+
def step_passes_with_param(context, param):
|
|
56
|
+
pass
|
|
57
|
+
|
|
58
|
+
@step('another step passes')
|
|
59
|
+
def step_passes(context):
|
|
60
|
+
pass
|
|
61
|
+
|
|
62
|
+
@step('another step passes with "{param}"')
|
|
63
|
+
def step_passes(context, param):
|
|
64
|
+
pass
|
|
65
|
+
"""
|
|
66
|
+
And a file named "features/basic_steps.feature" with:
|
|
67
|
+
"""
|
|
68
|
+
Feature:
|
|
69
|
+
Scenario:
|
|
70
|
+
Given a step passes
|
|
71
|
+
And another step passes
|
|
72
|
+
When a step passes with "Alice"
|
|
73
|
+
Then another step passes with "Bob"
|
|
74
|
+
"""
|
|
75
|
+
When I run "behave -f plain -T features/basic_steps.feature"
|
|
76
|
+
Then it should pass with:
|
|
77
|
+
"""
|
|
78
|
+
1 scenario passed, 0 failed, 0 skipped
|
|
79
|
+
4 steps passed, 0 failed, 0 skipped
|
|
80
|
+
"""
|
|
81
|
+
And the command output should contain:
|
|
82
|
+
"""
|
|
83
|
+
Feature:
|
|
84
|
+
Scenario:
|
|
85
|
+
Given a step passes ... passed
|
|
86
|
+
And another step passes ... passed
|
|
87
|
+
When a step passes with "Alice" ... passed
|
|
88
|
+
Then another step passes with "Bob" ... passed
|
|
89
|
+
"""
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
@sequential
|
|
2
|
+
Feature: Parse data types in step parameters (type transformation)
|
|
3
|
+
|
|
4
|
+
As a test writer
|
|
5
|
+
I want write steps with parameter that should have floating-point data types
|
|
6
|
+
So that I can just use the step parameter with the correct type
|
|
7
|
+
|
|
8
|
+
behave uses the parse module (inverse of Python string.format).
|
|
9
|
+
Therefore, the following ``parse types`` for floats are already supported:
|
|
10
|
+
|
|
11
|
+
===== =========================================== ============= ================================
|
|
12
|
+
Type Characters Matched (regex class) Output Type Example(s)
|
|
13
|
+
===== =========================================== ============= ================================
|
|
14
|
+
% Percentage (converted to value/100.0) float 51.2%
|
|
15
|
+
f Fixed-point numbers float 1.23 -1.45
|
|
16
|
+
e Floating-point numbers with exponent float 1.1e-10 -12.3E+5
|
|
17
|
+
g General number format (either d, f or e) float 123 1.23 -1.45E+12
|
|
18
|
+
===== =========================================== ============= ================================
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
SEE ALSO:
|
|
22
|
+
* http://pypi.python.org/pypi/parse
|
|
23
|
+
* string.format: http://docs.python.org/library/string.html#format-string-syntax
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@setup
|
|
27
|
+
Scenario: Feature Setup
|
|
28
|
+
Given a new working directory
|
|
29
|
+
And a file named "features/steps/float_param_steps.py" with:
|
|
30
|
+
"""
|
|
31
|
+
from behave import then, step
|
|
32
|
+
class NotMatched(object): pass
|
|
33
|
+
|
|
34
|
+
@step('a float param with "{value:g}"')
|
|
35
|
+
def step_float_param_with(context, value):
|
|
36
|
+
assert type(value) is float
|
|
37
|
+
context.value = value
|
|
38
|
+
|
|
39
|
+
@step('a float param with "{value}"')
|
|
40
|
+
def step_float_param_otherwise(context, value):
|
|
41
|
+
context.value = NotMatched
|
|
42
|
+
|
|
43
|
+
@step('a generic float param with "{value:g}"')
|
|
44
|
+
def step_generic_float_param_with(context, value):
|
|
45
|
+
step_float_param_with(context, value)
|
|
46
|
+
|
|
47
|
+
@step('a generic float param with "{value}"')
|
|
48
|
+
def step_generic_float_param_otherwise(context, value):
|
|
49
|
+
step_float_param_otherwise(context, value)
|
|
50
|
+
|
|
51
|
+
@step('a float with exponent param with "{value:e}"')
|
|
52
|
+
def step_float_with_exponent_param_with(context, value):
|
|
53
|
+
step_float_param_with(context, value)
|
|
54
|
+
|
|
55
|
+
@step('a float with exponent param with "{value}"')
|
|
56
|
+
def step_float_with_exponent_param_otherwise(context, value):
|
|
57
|
+
step_float_param_otherwise(context, value)
|
|
58
|
+
|
|
59
|
+
@step('a percentage param with "{value:%}"')
|
|
60
|
+
def step_percentage_param_with(context, value):
|
|
61
|
+
step_float_param_with(context, value)
|
|
62
|
+
|
|
63
|
+
@step('a percentage param with "{value}"')
|
|
64
|
+
def step_percentage_param_otherwise(context, value):
|
|
65
|
+
step_float_param_otherwise(context, value)
|
|
66
|
+
|
|
67
|
+
@step('a fixed-point number param with "{value:f}"')
|
|
68
|
+
def step_fixed_point_number_param_with(context, value):
|
|
69
|
+
step_float_param_with(context, value)
|
|
70
|
+
|
|
71
|
+
@step('a fixed-point number param with "{value}"')
|
|
72
|
+
def step_fixed_point_number_param_otherwise(context, value):
|
|
73
|
+
step_float_param_otherwise(context, value)
|
|
74
|
+
|
|
75
|
+
@then('the value should be {outcome} as float number')
|
|
76
|
+
def step_value_should_be_matched_as_float_number(context, outcome):
|
|
77
|
+
expected_type = float
|
|
78
|
+
if outcome == "matched":
|
|
79
|
+
assert type(context.value) is expected_type, \
|
|
80
|
+
"Unexpected type: %s" % type(context.value)
|
|
81
|
+
else:
|
|
82
|
+
assert context.value is NotMatched
|
|
83
|
+
|
|
84
|
+
@then('the value should be {outcome} as float number with "{expected:g}"')
|
|
85
|
+
def step_value_should_be_matched_as_float_number_with_expected(context, outcome, expected):
|
|
86
|
+
step_value_should_be_matched_as_float_number(context, outcome)
|
|
87
|
+
assert context.value == expected, \
|
|
88
|
+
"FAILED: value(%s) == expected(%s)" % (context.value, expected)
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
Scenario: Float parameter values with type "%" (percentage)
|
|
93
|
+
Given a file named "features/example.float_param.with_percent.feature" with:
|
|
94
|
+
"""
|
|
95
|
+
Feature: Float parameter values with type "%" (percentage)
|
|
96
|
+
|
|
97
|
+
Scenario Outline: Good cases
|
|
98
|
+
Given a percentage param with "<Value>"
|
|
99
|
+
Then the value should be matched as float number with "<Expected Value>"
|
|
100
|
+
|
|
101
|
+
Examples:
|
|
102
|
+
| Value | Expected Value | Case |
|
|
103
|
+
| 0% | 0 | Zero |
|
|
104
|
+
| 20% | 0.2 | Positive number |
|
|
105
|
+
| 120% | 1.2 | Larger than 100% |
|
|
106
|
+
| 10.5% | 0.105 | Float number |
|
|
107
|
+
| -10% | -0.1 | Negative number |
|
|
108
|
+
| +10% | 0.1 | With plus sign |
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
Scenario Outline: Bad cases (not matched)
|
|
112
|
+
Given a percentage param with "<Value>"
|
|
113
|
+
Then the value should be <Outcome> as float number
|
|
114
|
+
|
|
115
|
+
Examples:
|
|
116
|
+
| Value | Outcome | Reason |
|
|
117
|
+
| 123 | not-matched | Percentage sign is missing |
|
|
118
|
+
| 1.23 | not-matched | Float number without percentage sign |
|
|
119
|
+
| Alice | not-matched | Not a number |
|
|
120
|
+
"""
|
|
121
|
+
When I run "behave -f plain features/example.float_param.with_percent.feature"
|
|
122
|
+
Then it should pass with:
|
|
123
|
+
"""
|
|
124
|
+
9 scenarios passed, 0 failed, 0 skipped
|
|
125
|
+
"""
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
Scenario: Fixed-point parameter values with type "f"
|
|
129
|
+
Given a file named "features/example.float_param.with_type_f.feature" with:
|
|
130
|
+
"""
|
|
131
|
+
Feature: Float parameter values with type "f" (fixed-point number)
|
|
132
|
+
|
|
133
|
+
Scenario Outline: Good cases
|
|
134
|
+
Given a fixed-point number param with "<Value>"
|
|
135
|
+
Then the value should be matched as float number with "<Expected Value>"
|
|
136
|
+
|
|
137
|
+
Examples:
|
|
138
|
+
| Value | Expected Value | Case |
|
|
139
|
+
| 0.23 | 0.23 | |
|
|
140
|
+
| 1.23 | 1.23 | |
|
|
141
|
+
| 123.45 | 123.45 | |
|
|
142
|
+
| +1.23 | 1.23 | With plus sign |
|
|
143
|
+
| -1.23 | -1.23 | Negative float |
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
Scenario Outline: Bad cases (not matched)
|
|
147
|
+
Given a fixed-point number param with "<Value>"
|
|
148
|
+
Then the value should be <Outcome> as float number
|
|
149
|
+
|
|
150
|
+
Examples:
|
|
151
|
+
| Value | Outcome | Reason |
|
|
152
|
+
| 123 | not-matched | Integer number |
|
|
153
|
+
| 1.23E-7 | not-matched | Float number with exponent |
|
|
154
|
+
| Alice | not-matched | Not a number |
|
|
155
|
+
"""
|
|
156
|
+
When I run "behave -f plain features/example.float_param.with_type_f.feature"
|
|
157
|
+
Then it should pass with:
|
|
158
|
+
"""
|
|
159
|
+
8 scenarios passed, 0 failed, 0 skipped
|
|
160
|
+
"""
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
Scenario: Float with exponent parameter values with type "e"
|
|
164
|
+
Given a file named "features/example.float_param.with_type_e.feature" with:
|
|
165
|
+
"""
|
|
166
|
+
Feature: Float parameter values with type "e" (float with exponents)
|
|
167
|
+
|
|
168
|
+
Scenario Outline: Good cases
|
|
169
|
+
Given a float with exponent param with "<Value>"
|
|
170
|
+
Then the value should be matched as float number with "<Expected Value>"
|
|
171
|
+
|
|
172
|
+
Examples:
|
|
173
|
+
| Value | Expected Value | Case |
|
|
174
|
+
| 1.0E-10 | 1E-10 | With mantisse, negative exponent |
|
|
175
|
+
| 1.23E+5 | 123E3 | Exponent with plus sign |
|
|
176
|
+
| 123.0E+3 | 1.23E5 | Exponent with plus sign |
|
|
177
|
+
| -1.23E5 | -123E3 | Negative number with mantisse and exponent |
|
|
178
|
+
| INF | +INF | Infinity (INF) |
|
|
179
|
+
| +INF | INF | |
|
|
180
|
+
| -INF | -INF | |
|
|
181
|
+
| +inf | INF | Lower-case special names |
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
Scenario Outline: Bad cases (not matched)
|
|
185
|
+
Given a float with exponent param with "<Value>"
|
|
186
|
+
Then the value should be <Outcome> as float number
|
|
187
|
+
|
|
188
|
+
Examples:
|
|
189
|
+
| Value | Outcome | Reason |
|
|
190
|
+
| 1E10 | not-matched | Without mantissa |
|
|
191
|
+
| 1.E10 | not-matched | Short mantissa |
|
|
192
|
+
| 123 | not-matched | Integer number |
|
|
193
|
+
| Alice | not-matched | Not a number |
|
|
194
|
+
"""
|
|
195
|
+
When I run "behave -f plain features/example.float_param.with_type_e.feature"
|
|
196
|
+
Then it should pass with:
|
|
197
|
+
"""
|
|
198
|
+
12 scenarios passed, 0 failed, 0 skipped
|
|
199
|
+
"""
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
Scenario: Generic float parameter values with type "g"
|
|
203
|
+
Given a file named "features/example.float_param.with_type_g.feature" with:
|
|
204
|
+
"""
|
|
205
|
+
Feature: Float parameter values with type "g" (generic float)
|
|
206
|
+
|
|
207
|
+
Scenario Outline: Good cases
|
|
208
|
+
Given a generic float param with "<Value>"
|
|
209
|
+
Then the value should be matched as float number with "<Expected Value>"
|
|
210
|
+
|
|
211
|
+
Examples:
|
|
212
|
+
| Value | Expected Value | Case |
|
|
213
|
+
| 1 | 1.0 | Integer number format |
|
|
214
|
+
| 1E10 | 1.0E10 | Float with exponent and shortened mantissa |
|
|
215
|
+
| 1.23E5 | 1.23E5 | Float with exponent and mantissa |
|
|
216
|
+
| 1.23e5 | 1.23E5 | Float with exponent and mantissa (lower-case) |
|
|
217
|
+
| 1.0E-10 | 1E-10 | With mantisse, negative exponent |
|
|
218
|
+
| 1.23E+5 | 123E3 | Exponent with plus sign |
|
|
219
|
+
| 123.0E+3 | 1.23E5 | Exponent with plus sign |
|
|
220
|
+
| -1.23E5 | -123E3 | Negative number with mantisse and exponent |
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
Scenario Outline: Bad cases (not matched)
|
|
224
|
+
Given a generic float param with "<Value>"
|
|
225
|
+
Then the value should be <Outcome> as float number
|
|
226
|
+
|
|
227
|
+
Examples:
|
|
228
|
+
| Value | Outcome | Reason |
|
|
229
|
+
| 0b101 | not-matched | Binary number |
|
|
230
|
+
| 0o17 | not-matched | Octal number |
|
|
231
|
+
| 0x1A | not-matched | Hexadecimal number |
|
|
232
|
+
| 1.E10 | not-matched | Short mantissa |
|
|
233
|
+
| Alice | not-matched | Not a number |
|
|
234
|
+
"""
|
|
235
|
+
When I run "behave -f plain features/example.float_param.with_type_g.feature"
|
|
236
|
+
Then it should pass with:
|
|
237
|
+
"""
|
|
238
|
+
13 scenarios passed, 0 failed, 0 skipped
|
|
239
|
+
"""
|