pad_character 0.1.0
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/.rspec +3 -0
- data/.ruby-version +1 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +35 -0
- data/LICENSE.txt +21 -0
- data/README.md +46 -0
- data/Rakefile +8 -0
- data/lib/pad_character/format_pad_character.rb +6 -0
- data/lib/pad_character/version.rb +5 -0
- data/lib/pad_character.rb +9 -0
- data/pad_character.gemspec +39 -0
- data/sig/pad_character.rbs +4 -0
- data/vendor/bundle/ruby/2.6.0/bin/htmldiff +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/ldiff +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/rake +29 -0
- data/vendor/bundle/ruby/2.6.0/bin/rspec +29 -0
- data/vendor/bundle/ruby/2.6.0/cache/diff-lcs-1.5.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rake-13.0.6.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-core-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-expectations-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.12.0.gem +0 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/.rspec +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Code-of-Conduct.md +74 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Contributing.md +119 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/History.md +400 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/License.md +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Manifest.txt +59 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/README.rdoc +84 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/Rakefile +121 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/bin/htmldiff +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/bin/ldiff +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/docs/COPYING.txt +339 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/docs/artistic.txt +127 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/array.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/backports.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/block.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/callbacks.rb +325 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/change.rb +174 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/htmldiff.rb +150 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/hunk.rb +358 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/internals.rb +308 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/ldiff.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs/string.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff/lcs.rb +739 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/lib/diff-lcs.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/change_spec.rb +89 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/diff_spec.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/aX +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/bXaX +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ds1.csv +50 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ds2.csv +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-c +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-e +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-f +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-u +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-c +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-e +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-f +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-u +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2 +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef2 +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef2 +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/hunk_spec.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/issues_spec.rb +154 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/lcs_spec.rb +56 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/ldiff_spec.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/patch_spec.rb +416 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/sdiff_spec.rb +214 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/spec_helper.rb +374 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/traverse_balanced_spec.rb +310 -0
- data/vendor/bundle/ruby/2.6.0/gems/diff-lcs-1.5.0/spec/traverse_sequences_spec.rb +137 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/History.rdoc +2403 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/README.rdoc +155 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rakefile.rdoc +622 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/exe/rake +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/application.rb +831 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/backtrace.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/clean.rb +78 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/cloneable.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/cpu_counter.rb +107 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/default_loader.rb +15 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/dsl_definition.rb +195 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/early_time.rb +22 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/ext/core.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/ext/string.rb +176 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_creation_task.rb +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_list.rb +435 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_task.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_utils.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/invocation_exception_mixin.rb +17 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/late_time.rb +18 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/linked_list.rb +112 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/loaders/makefile.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/multi_task.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/packagetask.rb +222 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/phony.rb +16 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/private_reader.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/promise.rb +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/pseudo_status.rb +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rake_module.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/scope.rb +43 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task.rb +434 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_argument_error.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_arguments.rb +109 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/task_manager.rb +331 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/tasklib.rb +12 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/testtask.rb +189 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/thread_history_display.rb +49 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/thread_pool.rb +163 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/trace_output.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/version.rb +10 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake/win32.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/lib/rake.rb +71 -0
- data/vendor/bundle/ruby/2.6.0/gems/rake-13.0.6/rake.gemspec +100 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/LICENSE.md +27 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/README.md +47 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib/rspec/version.rb +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-3.12.0/lib/rspec.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/.yardopts +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/Changelog.md +2360 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/LICENSE.md +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/README.md +384 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/exe/rspec +4 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/autorun.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/backtrace_formatter.rb +65 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/coordinator.rb +62 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/example_minimizer.rb +173 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/fork_runner.rb +138 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/server.rb +61 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_command.rb +126 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_runner.rb +73 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/utilities.rb +69 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb +2385 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration_options.rb +233 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/did_you_mean.rb +46 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/drb.rb +120 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/dsl.rb +98 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example.rb +666 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb +905 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/example_status_persister.rb +235 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/filter_manager.rb +231 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/flat_map.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/console_codes.rb +76 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/exception_presenter.rb +525 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/helpers.rb +118 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_printer.rb +412 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/json_formatter.rb +102 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/protocol.rb +182 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters.rb +279 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb +646 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/invocations.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/memoized_helpers.rb +580 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata.rb +498 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata_filter.rb +255 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/notifications.rb +521 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/option_parser.rb +323 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb +169 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/output_wrapper.rb +29 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/pending.rb +157 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/profiler.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/.rspec +1 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/rake_task.rb +188 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb +265 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/ruby_project.rb +53 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/sandbox.rb +37 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/set.rb +54 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_context.rb +55 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_example_group.rb +271 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/shell_escape.rb +49 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/version.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/warnings.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core/world.rb +287 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-core-3.12.0/lib/rspec/core.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/.yardopts +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/Changelog.md +1285 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/LICENSE.md +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/README.md +320 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/configuration.rb +230 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/expectation_target.rb +163 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/fail_with.rb +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/failure_aggregator.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/handler.rb +182 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/minitest_integration.rb +58 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/syntax.rb +132 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/version.rb +8 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/all.rb +86 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/base_matcher.rb +198 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be.rb +191 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/change.rb +450 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/compound.rb +290 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/contain_exactly.rb +310 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/cover.rb +24 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/eq.rb +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/eql.rb +34 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/equal.rb +81 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/exist.rb +90 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/has.rb +167 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/include.rb +206 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/match.rb +106 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/operators.rb +128 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/output.rb +207 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/raise_error.rb +271 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/respond_to.rb +200 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/yield.rb +375 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in.rb +53 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/composable.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/dsl.rb +544 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/english_phrasing.rb +58 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/fail_matchers.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/generated_descriptions.rb +41 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/matcher_protocol.rb +105 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers.rb +1044 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/.document +5 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/.yardopts +6 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/Changelog.md +1212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/LICENSE.md +25 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/README.md +463 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/chain.rb +111 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/recorder.rb +295 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/any_instance.rb +11 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/argument_list_matcher.rb +115 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/argument_matchers.rb +322 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/configuration.rb +212 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/error_generator.rb +380 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/example_methods.rb +434 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/instance_method_stasher.rb +146 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/marshal_extension.rb +41 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/have_received.rb +134 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive.rb +133 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/message_chain.rb +87 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/message_expectation.rb +820 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/method_double.rb +291 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/method_reference.rb +214 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/minitest_integration.rb +68 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/mutate_const.rb +339 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/object_reference.rb +149 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/order_group.rb +81 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/proxy.rb +525 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/space.rb +238 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/standalone.rb +3 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/syntax.rb +325 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/targets.rb +124 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/test_double.rb +171 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_double.rb +121 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/verifying_proxy.rb +220 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks/version.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-mocks-3.12.0/lib/rspec/mocks.rb +133 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/Changelog.md +364 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/LICENSE.md +23 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/README.md +40 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/caller_filter.rb +83 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/comparable_version.rb +46 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/differ.rb +215 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/directory_maker.rb +63 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/encoded_string.rb +161 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/hunk_generator.rb +47 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/matcher_definition.rb +42 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/method_signature_verifier.rb +438 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/mutex.rb +73 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/object_formatter.rb +275 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/recursive_const_methods.rb +76 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/reentrant_mutex.rb +78 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/ruby_features.rb +198 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/location.rb +21 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/node.rb +110 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source/token.rb +94 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/source.rb +85 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/diff_helpers.rb +31 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/formatting_support.rb +9 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/in_sub_process.rb +67 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/shell_out.rb +105 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/stderr_splitter.rb +75 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/string_matcher.rb +45 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/spec.rb +82 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/version.rb +7 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/warnings.rb +39 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support/with_keywords_when_needed.rb +33 -0
- data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.12.0/lib/rspec/support.rb +154 -0
- data/vendor/bundle/ruby/2.6.0/specifications/diff-lcs-1.5.0.gemspec +50 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rake-13.0.6.gemspec +26 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-3.12.0.gemspec +39 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-core-3.12.0.gemspec +53 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-expectations-3.12.0.gemspec +44 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-mocks-3.12.0.gemspec +44 -0
- data/vendor/bundle/ruby/2.6.0/specifications/rspec-support-3.12.0.gemspec +36 -0
- metadata +419 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
# http://www.ruby-doc.org/stdlib/libdoc/optparse/rdoc/classes/OptionParser.html
|
|
2
|
+
require 'optparse'
|
|
3
|
+
|
|
4
|
+
module RSpec::Core
|
|
5
|
+
# @private
|
|
6
|
+
class Parser
|
|
7
|
+
def self.parse(args, source=nil)
|
|
8
|
+
new(args).parse(source)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
attr_reader :original_args
|
|
12
|
+
|
|
13
|
+
def initialize(original_args)
|
|
14
|
+
@original_args = original_args
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def parse(source=nil)
|
|
18
|
+
return { :files_or_directories_to_run => [] } if original_args.empty?
|
|
19
|
+
args = original_args.dup
|
|
20
|
+
|
|
21
|
+
options = args.delete('--tty') ? { :tty => true } : {}
|
|
22
|
+
begin
|
|
23
|
+
parser(options).parse!(args)
|
|
24
|
+
rescue OptionParser::InvalidOption => e
|
|
25
|
+
abort "#{e.message}#{" (defined in #{source})" if source}\n\n" \
|
|
26
|
+
"Please use --help for a listing of valid options"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
options[:files_or_directories_to_run] = args
|
|
30
|
+
options
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
|
|
35
|
+
# rubocop:disable Metrics/AbcSize
|
|
36
|
+
# rubocop:disable Metrics/MethodLength
|
|
37
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
|
38
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
|
39
|
+
def parser(options)
|
|
40
|
+
OptionParser.new do |parser|
|
|
41
|
+
parser.summary_width = 34
|
|
42
|
+
|
|
43
|
+
parser.banner = "Usage: rspec [options] [files or directories]\n\n"
|
|
44
|
+
|
|
45
|
+
parser.on('-I PATH', 'Specify PATH to add to $LOAD_PATH (may be used more than once).') do |dirs|
|
|
46
|
+
options[:libs] ||= []
|
|
47
|
+
options[:libs].concat(dirs.split(File::PATH_SEPARATOR))
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
parser.on('-r', '--require PATH', 'Require a file.') do |path|
|
|
51
|
+
options[:requires] ||= []
|
|
52
|
+
options[:requires] << path
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
parser.on('-O', '--options PATH', 'Specify the path to a custom options file.') do |path|
|
|
56
|
+
options[:custom_options_file] = path
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
parser.on('--order TYPE[:SEED]', 'Run examples by the specified order type.',
|
|
60
|
+
' [defined] examples and groups are run in the order they are defined',
|
|
61
|
+
' [rand] randomize the order of groups and examples',
|
|
62
|
+
' [random] alias for rand',
|
|
63
|
+
' [random:SEED] e.g. --order random:123',
|
|
64
|
+
' [recently-modified] run the most recently modified files first') do |o|
|
|
65
|
+
options[:order] = o
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
parser.on('--seed SEED', Integer, 'Equivalent of --order rand:SEED.') do |seed|
|
|
69
|
+
options[:order] = "rand:#{seed}"
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
parser.on('--bisect[=verbose]', 'Repeatedly runs the suite in order to isolate the failures to the ',
|
|
73
|
+
' smallest reproducible case.') do |argument|
|
|
74
|
+
options[:bisect] = argument || true
|
|
75
|
+
options[:runner] = RSpec::Core::Invocations::Bisect.new
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
parser.on('--[no-]fail-fast[=COUNT]', 'Abort the run after a certain number of failures (1 by default).') do |argument|
|
|
79
|
+
if argument == true
|
|
80
|
+
value = 1
|
|
81
|
+
elsif argument == false || argument == 0
|
|
82
|
+
value = false
|
|
83
|
+
else
|
|
84
|
+
begin
|
|
85
|
+
value = Integer(argument)
|
|
86
|
+
rescue ArgumentError
|
|
87
|
+
RSpec.warning "Expected an integer value for `--fail-fast`, got: #{argument.inspect}", :call_site => nil
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
set_fail_fast(options, value)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
parser.on('--failure-exit-code CODE', Integer,
|
|
94
|
+
'Override the exit code used when there are failing specs.') do |code|
|
|
95
|
+
options[:failure_exit_code] = code
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
parser.on('--error-exit-code CODE', Integer,
|
|
99
|
+
'Override the exit code used when there are errors loading or running specs outside of examples.') do |code|
|
|
100
|
+
options[:error_exit_code] = code
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
parser.on('-X', '--[no-]drb', 'Run examples via DRb.') do |use_drb|
|
|
104
|
+
options[:drb] = use_drb
|
|
105
|
+
options[:runner] = RSpec::Core::Invocations::DRbWithFallback.new if use_drb
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
parser.on('--drb-port PORT', 'Port to connect to the DRb server.') do |o|
|
|
109
|
+
options[:drb_port] = o.to_i
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
parser.separator("\n **** Output ****\n\n")
|
|
113
|
+
|
|
114
|
+
parser.on('-f', '--format FORMATTER', 'Choose a formatter.',
|
|
115
|
+
' [p]rogress (default - dots)',
|
|
116
|
+
' [d]ocumentation (group and example names)',
|
|
117
|
+
' [h]tml',
|
|
118
|
+
' [j]son',
|
|
119
|
+
' [f]ailures ("file:line:reason", suitable for editors integration)',
|
|
120
|
+
' custom formatter class name') do |o|
|
|
121
|
+
options[:formatters] ||= []
|
|
122
|
+
options[:formatters] << [o]
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
parser.on('-o', '--out FILE',
|
|
126
|
+
'Write output to a file instead of $stdout. This option applies',
|
|
127
|
+
' to the previously specified --format, or the default format',
|
|
128
|
+
' if no format is specified.'
|
|
129
|
+
) do |o|
|
|
130
|
+
options[:formatters] ||= [['progress']]
|
|
131
|
+
options[:formatters].last << o
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
parser.on('--deprecation-out FILE', 'Write deprecation warnings to a file instead of $stderr.') do |file|
|
|
135
|
+
options[:deprecation_stream] = file
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
parser.on('-b', '--backtrace', 'Enable full backtrace.') do |_o|
|
|
139
|
+
options[:full_backtrace] = true
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
parser.on('-c', '--color', '--colour', '') do |_o|
|
|
143
|
+
# flag will be excluded from `--help` output because it is deprecated
|
|
144
|
+
options[:color] = true
|
|
145
|
+
options[:color_mode] = :automatic
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
parser.on('--force-color', '--force-colour', 'Force the output to be in color, even if the output is not a TTY') do |_o|
|
|
149
|
+
if options[:color_mode] == :off
|
|
150
|
+
abort "Please only use one of `--force-color` and `--no-color`"
|
|
151
|
+
end
|
|
152
|
+
options[:color_mode] = :on
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
parser.on('--no-color', '--no-colour', 'Force the output to not be in color, even if the output is a TTY') do |_o|
|
|
156
|
+
if options[:color_mode] == :on
|
|
157
|
+
abort "Please only use one of --force-color and --no-color"
|
|
158
|
+
end
|
|
159
|
+
options[:color_mode] = :off
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
parser.on('-p', '--[no-]profile [COUNT]',
|
|
163
|
+
'Enable profiling of examples and list the slowest examples (default: 10).') do |argument|
|
|
164
|
+
options[:profile_examples] = if argument.nil?
|
|
165
|
+
true
|
|
166
|
+
elsif argument == false
|
|
167
|
+
false
|
|
168
|
+
else
|
|
169
|
+
begin
|
|
170
|
+
Integer(argument)
|
|
171
|
+
rescue ArgumentError
|
|
172
|
+
RSpec.warning "Non integer specified as profile count, separate " \
|
|
173
|
+
"your path from options with -- e.g. " \
|
|
174
|
+
"`rspec --profile -- #{argument}`",
|
|
175
|
+
:call_site => nil
|
|
176
|
+
true
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
parser.on('--dry-run', 'Print the formatter output of your suite without',
|
|
182
|
+
' running any examples or hooks') do |_o|
|
|
183
|
+
options[:dry_run] = true
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
parser.on('-w', '--warnings', 'Enable ruby warnings') do
|
|
187
|
+
if Object.const_defined?(:Warning) && Warning.respond_to?(:[]=)
|
|
188
|
+
Warning[:deprecated] = true
|
|
189
|
+
end
|
|
190
|
+
$VERBOSE = true
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
parser.separator <<-FILTERING
|
|
194
|
+
|
|
195
|
+
**** Filtering/tags ****
|
|
196
|
+
|
|
197
|
+
In addition to the following options for selecting specific files, groups, or
|
|
198
|
+
examples, you can select individual examples by appending the line number(s) to
|
|
199
|
+
the filename:
|
|
200
|
+
|
|
201
|
+
rspec path/to/a_spec.rb:37:87
|
|
202
|
+
|
|
203
|
+
You can also pass example ids enclosed in square brackets:
|
|
204
|
+
|
|
205
|
+
rspec path/to/a_spec.rb[1:5,1:6] # run the 5th and 6th examples/groups defined in the 1st group
|
|
206
|
+
|
|
207
|
+
FILTERING
|
|
208
|
+
|
|
209
|
+
parser.on('--only-failures', "Filter to just the examples that failed the last time they ran.") do
|
|
210
|
+
configure_only_failures(options)
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
parser.on("-n", "--next-failure", "Apply `--only-failures` and abort after one failure.",
|
|
214
|
+
" (Equivalent to `--only-failures --fail-fast --order defined`)") do
|
|
215
|
+
configure_only_failures(options)
|
|
216
|
+
set_fail_fast(options, 1)
|
|
217
|
+
options[:order] ||= 'defined'
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
parser.on('-P', '--pattern PATTERN', 'Load files matching pattern (default: "spec/**/*_spec.rb").') do |o|
|
|
221
|
+
if options[:pattern]
|
|
222
|
+
options[:pattern] += ',' + o
|
|
223
|
+
else
|
|
224
|
+
options[:pattern] = o
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
parser.on('--exclude-pattern PATTERN',
|
|
229
|
+
'Load files except those matching pattern. Opposite effect of --pattern.') do |o|
|
|
230
|
+
options[:exclude_pattern] = o
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
parser.on('-e', '--example STRING', "Run examples whose full nested names include STRING (may be",
|
|
234
|
+
" used more than once)") do |o|
|
|
235
|
+
(options[:full_description] ||= []) << Regexp.compile(Regexp.escape(o))
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
parser.on('-E', '--example-matches REGEX', "Run examples whose full nested names match REGEX (may be",
|
|
239
|
+
" used more than once)") do |o|
|
|
240
|
+
(options[:full_description] ||= []) << Regexp.compile(o)
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
parser.on('-t', '--tag TAG[:VALUE]',
|
|
244
|
+
'Run examples with the specified tag, or exclude examples',
|
|
245
|
+
'by adding ~ before the tag.',
|
|
246
|
+
' - e.g. ~slow',
|
|
247
|
+
' - TAG is always converted to a symbol') do |tag|
|
|
248
|
+
filter_type = tag =~ /^~/ ? :exclusion_filter : :inclusion_filter
|
|
249
|
+
|
|
250
|
+
name, value = tag.gsub(/^(~@|~|@)/, '').split(':', 2)
|
|
251
|
+
name = name.to_sym
|
|
252
|
+
|
|
253
|
+
parsed_value = case value
|
|
254
|
+
when nil then true # The default value for tags is true
|
|
255
|
+
when 'true' then true
|
|
256
|
+
when 'false' then false
|
|
257
|
+
when 'nil' then nil
|
|
258
|
+
when /^:/ then value[1..-1].to_sym
|
|
259
|
+
when /^\d+$/ then Integer(value)
|
|
260
|
+
when /^\d+.\d+$/ then Float(value)
|
|
261
|
+
else
|
|
262
|
+
value
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
add_tag_filter(options, filter_type, name, parsed_value)
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
parser.on('--default-path PATH', 'Set the default path where RSpec looks for examples (can',
|
|
269
|
+
' be a path to a file or a directory).') do |path|
|
|
270
|
+
options[:default_path] = path
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
parser.separator("\n **** Utility ****\n\n")
|
|
274
|
+
|
|
275
|
+
parser.on('--init', 'Initialize your project with RSpec.') do |_cmd|
|
|
276
|
+
options[:runner] = RSpec::Core::Invocations::InitializeProject.new
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
parser.on('-v', '--version', 'Display the version.') do
|
|
280
|
+
options[:runner] = RSpec::Core::Invocations::PrintVersion.new
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
# These options would otherwise be confusing to users, so we forcibly
|
|
284
|
+
# prevent them from executing.
|
|
285
|
+
#
|
|
286
|
+
# * --I is too similar to -I.
|
|
287
|
+
# * -d was a shorthand for --debugger, which is removed, but now would
|
|
288
|
+
# trigger --default-path.
|
|
289
|
+
invalid_options = %w[-d --I]
|
|
290
|
+
|
|
291
|
+
hidden_options = invalid_options + %w[-c]
|
|
292
|
+
|
|
293
|
+
parser.on_tail('-h', '--help', "You're looking at it.") do
|
|
294
|
+
options[:runner] = RSpec::Core::Invocations::PrintHelp.new(parser, hidden_options)
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
# This prevents usage of the invalid_options.
|
|
298
|
+
invalid_options.each do |option|
|
|
299
|
+
parser.on(option) do
|
|
300
|
+
raise OptionParser::InvalidOption.new
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
end
|
|
304
|
+
end
|
|
305
|
+
# rubocop:enable Metrics/AbcSize
|
|
306
|
+
# rubocop:enable Metrics/MethodLength
|
|
307
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
|
308
|
+
# rubocop:enable Metrics/PerceivedComplexity
|
|
309
|
+
|
|
310
|
+
def add_tag_filter(options, filter_type, tag_name, value=true)
|
|
311
|
+
(options[filter_type] ||= {})[tag_name] = value
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
def set_fail_fast(options, value)
|
|
315
|
+
options[:fail_fast] = value
|
|
316
|
+
end
|
|
317
|
+
|
|
318
|
+
def configure_only_failures(options)
|
|
319
|
+
options[:only_failures] = true
|
|
320
|
+
add_tag_filter(options, :inclusion_filter, :last_run_status, 'failed')
|
|
321
|
+
end
|
|
322
|
+
end
|
|
323
|
+
end
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Core
|
|
3
|
+
# @private
|
|
4
|
+
module Ordering
|
|
5
|
+
# @private
|
|
6
|
+
# The default global ordering (defined order).
|
|
7
|
+
class Identity
|
|
8
|
+
def order(items)
|
|
9
|
+
items
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @private
|
|
14
|
+
# Orders items randomly.
|
|
15
|
+
class Random
|
|
16
|
+
def initialize(configuration)
|
|
17
|
+
@configuration = configuration
|
|
18
|
+
@used = false
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def used?
|
|
22
|
+
@used
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def order(items)
|
|
26
|
+
@used = true
|
|
27
|
+
|
|
28
|
+
seed = @configuration.seed.to_s
|
|
29
|
+
items.sort_by { |item| jenkins_hash_digest(seed + item.id) }
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
# http://en.wikipedia.org/wiki/Jenkins_hash_function
|
|
35
|
+
# Jenkins provides a good distribution and is simpler than MD5.
|
|
36
|
+
# It's a bit slower than MD5 (primarily because `Digest::MD5` is
|
|
37
|
+
# implemented in C) but has the advantage of not requiring us
|
|
38
|
+
# to load another part of stdlib, which we try to minimize.
|
|
39
|
+
def jenkins_hash_digest(string)
|
|
40
|
+
hash = 0
|
|
41
|
+
|
|
42
|
+
string.each_byte do |byte|
|
|
43
|
+
hash += byte
|
|
44
|
+
hash &= MAX_32_BIT
|
|
45
|
+
hash += ((hash << 10) & MAX_32_BIT)
|
|
46
|
+
hash &= MAX_32_BIT
|
|
47
|
+
hash ^= hash >> 6
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
hash += ((hash << 3) & MAX_32_BIT)
|
|
51
|
+
hash &= MAX_32_BIT
|
|
52
|
+
hash ^= hash >> 11
|
|
53
|
+
hash += ((hash << 15) & MAX_32_BIT)
|
|
54
|
+
hash &= MAX_32_BIT
|
|
55
|
+
hash
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
MAX_32_BIT = 4_294_967_295
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# @private
|
|
62
|
+
# Orders items by modification time (most recent modified first).
|
|
63
|
+
class RecentlyModified
|
|
64
|
+
def order(list)
|
|
65
|
+
list.sort_by { |item| -File.mtime(item.metadata[:absolute_file_path]).to_i }
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# @private
|
|
70
|
+
# Orders items based on a custom block.
|
|
71
|
+
class Custom
|
|
72
|
+
def initialize(callable)
|
|
73
|
+
@callable = callable
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def order(list)
|
|
77
|
+
@callable.call(list)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# @private
|
|
82
|
+
# Stores the different ordering strategies.
|
|
83
|
+
class Registry
|
|
84
|
+
def initialize(configuration)
|
|
85
|
+
@configuration = configuration
|
|
86
|
+
@strategies = {}
|
|
87
|
+
|
|
88
|
+
register(:random, Random.new(configuration))
|
|
89
|
+
register(:recently_modified, RecentlyModified.new)
|
|
90
|
+
|
|
91
|
+
identity = Identity.new
|
|
92
|
+
register(:defined, identity)
|
|
93
|
+
|
|
94
|
+
# The default global ordering is --defined.
|
|
95
|
+
register(:global, identity)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def fetch(name, &fallback)
|
|
99
|
+
@strategies.fetch(name, &fallback)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def register(sym, strategy)
|
|
103
|
+
@strategies[sym] = strategy
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def used_random_seed?
|
|
107
|
+
@strategies[:random].used?
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# @private
|
|
112
|
+
# Manages ordering configuration.
|
|
113
|
+
#
|
|
114
|
+
# @note This is not intended to be used externally. Use
|
|
115
|
+
# the APIs provided by `RSpec::Core::Configuration` instead.
|
|
116
|
+
class ConfigurationManager
|
|
117
|
+
attr_reader :seed, :ordering_registry
|
|
118
|
+
|
|
119
|
+
def initialize
|
|
120
|
+
@ordering_registry = Registry.new(self)
|
|
121
|
+
@seed = rand(0xFFFF)
|
|
122
|
+
@seed_forced = false
|
|
123
|
+
@order_forced = false
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def seed_used?
|
|
127
|
+
ordering_registry.used_random_seed?
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def seed=(seed)
|
|
131
|
+
return if @seed_forced
|
|
132
|
+
register_ordering(:global, ordering_registry.fetch(:random))
|
|
133
|
+
@seed = seed.to_i
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def order=(type)
|
|
137
|
+
order, seed = type.to_s.split(':')
|
|
138
|
+
@seed = seed.to_i if seed
|
|
139
|
+
|
|
140
|
+
ordering_name = if order.include?('rand')
|
|
141
|
+
:random
|
|
142
|
+
elsif order == 'defined'
|
|
143
|
+
:defined
|
|
144
|
+
elsif order == 'recently-modified'
|
|
145
|
+
:recently_modified
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
register_ordering(:global, ordering_registry.fetch(ordering_name)) if ordering_name
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
def force(hash)
|
|
152
|
+
if hash.key?(:seed)
|
|
153
|
+
self.seed = hash[:seed]
|
|
154
|
+
@seed_forced = true
|
|
155
|
+
@order_forced = true
|
|
156
|
+
elsif hash.key?(:order)
|
|
157
|
+
self.order = hash[:order]
|
|
158
|
+
@order_forced = true
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
def register_ordering(name, strategy=Custom.new(Proc.new { |l| yield l }))
|
|
163
|
+
return if @order_forced && name == :global
|
|
164
|
+
ordering_registry.register(name, strategy)
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Core
|
|
3
|
+
# @private
|
|
4
|
+
class OutputWrapper
|
|
5
|
+
# @private
|
|
6
|
+
attr_accessor :output
|
|
7
|
+
|
|
8
|
+
# @private
|
|
9
|
+
def initialize(output)
|
|
10
|
+
@output = output
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def respond_to?(name, priv=false)
|
|
14
|
+
output.respond_to?(name, priv)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def method_missing(name, *args, &block)
|
|
18
|
+
output.send(name, *args, &block)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Redirect calls for IO interface methods
|
|
22
|
+
IO.instance_methods(false).each do |method|
|
|
23
|
+
define_method(method) do |*args, &block|
|
|
24
|
+
output.send(method, *args, &block)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Core
|
|
3
|
+
# Provides methods to mark examples as pending. These methods are available
|
|
4
|
+
# to be called from within any example or hook.
|
|
5
|
+
module Pending
|
|
6
|
+
# Raised in the middle of an example to indicate that it should be marked
|
|
7
|
+
# as skipped.
|
|
8
|
+
class SkipDeclaredInExample < StandardError
|
|
9
|
+
attr_reader :argument
|
|
10
|
+
|
|
11
|
+
def initialize(argument)
|
|
12
|
+
@argument = argument
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# If Test::Unit is loaded, we'll use its error as baseclass, so that
|
|
17
|
+
# Test::Unit will report unmet RSpec expectations as failures rather than
|
|
18
|
+
# errors.
|
|
19
|
+
begin
|
|
20
|
+
class PendingExampleFixedError < Test::Unit::AssertionFailedError; end
|
|
21
|
+
rescue
|
|
22
|
+
class PendingExampleFixedError < StandardError; end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @private
|
|
26
|
+
NO_REASON_GIVEN = 'No reason given'
|
|
27
|
+
|
|
28
|
+
# @private
|
|
29
|
+
NOT_YET_IMPLEMENTED = 'Not yet implemented'
|
|
30
|
+
|
|
31
|
+
# @overload pending()
|
|
32
|
+
# @overload pending(message)
|
|
33
|
+
#
|
|
34
|
+
# Marks an example as pending. The rest of the example will still be
|
|
35
|
+
# executed, and if it passes the example will fail to indicate that the
|
|
36
|
+
# pending can be removed.
|
|
37
|
+
#
|
|
38
|
+
# @param message [String] optional message to add to the summary report.
|
|
39
|
+
#
|
|
40
|
+
# @example
|
|
41
|
+
# describe "some behaviour" do
|
|
42
|
+
# # reported as "Pending: no reason given"
|
|
43
|
+
# it "is pending with no message" do
|
|
44
|
+
# pending
|
|
45
|
+
# raise "broken"
|
|
46
|
+
# end
|
|
47
|
+
#
|
|
48
|
+
# # reported as "Pending: something else getting finished"
|
|
49
|
+
# it "is pending with a custom message" do
|
|
50
|
+
# pending("something else getting finished")
|
|
51
|
+
# raise "broken"
|
|
52
|
+
# end
|
|
53
|
+
# end
|
|
54
|
+
#
|
|
55
|
+
# @note When using `pending` inside an example body using this method
|
|
56
|
+
# hooks, such as `before(:example)`, have already be run. This means that
|
|
57
|
+
# a failure from the code in the `before` hook will prevent the example
|
|
58
|
+
# from being considered pending, as the example body would not be
|
|
59
|
+
# executed. If you need to consider hooks as pending as well you can use
|
|
60
|
+
# the pending metadata as an alternative, e.g.
|
|
61
|
+
# `it "does something", pending: "message"`.
|
|
62
|
+
def pending(message=nil)
|
|
63
|
+
current_example = RSpec.current_example
|
|
64
|
+
|
|
65
|
+
if block_given?
|
|
66
|
+
raise ArgumentError, <<-EOS.gsub(/^\s+\|/, '')
|
|
67
|
+
|The semantics of `RSpec::Core::Pending#pending` have changed in
|
|
68
|
+
|RSpec 3. In RSpec 2.x, it caused the example to be skipped. In
|
|
69
|
+
|RSpec 3, the rest of the example is still run but is expected to
|
|
70
|
+
|fail, and will be marked as a failure (rather than as pending) if
|
|
71
|
+
|the example passes.
|
|
72
|
+
|
|
|
73
|
+
|Passing a block within an example is now deprecated. Marking the
|
|
74
|
+
|example as pending provides the same behavior in RSpec 3 which was
|
|
75
|
+
|provided only by the block in RSpec 2.x.
|
|
76
|
+
|
|
|
77
|
+
|Move the code in the block provided to `pending` into the rest of
|
|
78
|
+
|the example body.
|
|
79
|
+
|
|
|
80
|
+
|Called from #{CallerFilter.first_non_rspec_line}.
|
|
81
|
+
|
|
|
82
|
+
EOS
|
|
83
|
+
elsif current_example
|
|
84
|
+
Pending.mark_pending! current_example, message
|
|
85
|
+
else
|
|
86
|
+
raise "`pending` may not be used outside of examples, such as in " \
|
|
87
|
+
"before(:context). Maybe you want `skip`?"
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# @overload skip()
|
|
92
|
+
# @overload skip(message)
|
|
93
|
+
#
|
|
94
|
+
# Marks an example as pending and skips execution.
|
|
95
|
+
#
|
|
96
|
+
# @param message [String] optional message to add to the summary report.
|
|
97
|
+
#
|
|
98
|
+
# @example
|
|
99
|
+
# describe "an example" do
|
|
100
|
+
# # reported as "Pending: no reason given"
|
|
101
|
+
# it "is skipped with no message" do
|
|
102
|
+
# skip
|
|
103
|
+
# end
|
|
104
|
+
#
|
|
105
|
+
# # reported as "Pending: something else getting finished"
|
|
106
|
+
# it "is skipped with a custom message" do
|
|
107
|
+
# skip "something else getting finished"
|
|
108
|
+
# end
|
|
109
|
+
# end
|
|
110
|
+
def skip(message=nil)
|
|
111
|
+
current_example = RSpec.current_example
|
|
112
|
+
|
|
113
|
+
Pending.mark_skipped!(current_example, message) if current_example
|
|
114
|
+
|
|
115
|
+
raise SkipDeclaredInExample.new(message)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# @private
|
|
119
|
+
#
|
|
120
|
+
# Mark example as skipped.
|
|
121
|
+
#
|
|
122
|
+
# @param example [RSpec::Core::Example] the example to mark as skipped
|
|
123
|
+
# @param message_or_bool [Boolean, String] the message to use, or true
|
|
124
|
+
def self.mark_skipped!(example, message_or_bool)
|
|
125
|
+
Pending.mark_pending! example, message_or_bool
|
|
126
|
+
example.metadata[:skip] = true
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# @private
|
|
130
|
+
#
|
|
131
|
+
# Mark example as pending.
|
|
132
|
+
#
|
|
133
|
+
# @param example [RSpec::Core::Example] the example to mark as pending
|
|
134
|
+
# @param message_or_bool [Boolean, String] the message to use, or true
|
|
135
|
+
def self.mark_pending!(example, message_or_bool)
|
|
136
|
+
message = if !message_or_bool || !(String === message_or_bool)
|
|
137
|
+
NO_REASON_GIVEN
|
|
138
|
+
else
|
|
139
|
+
message_or_bool
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
example.metadata[:pending] = true
|
|
143
|
+
example.execution_result.pending_message = message
|
|
144
|
+
example.execution_result.pending_fixed = false
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# @private
|
|
148
|
+
#
|
|
149
|
+
# Mark example as fixed.
|
|
150
|
+
#
|
|
151
|
+
# @param example [RSpec::Core::Example] the example to mark as fixed
|
|
152
|
+
def self.mark_fixed!(example)
|
|
153
|
+
example.execution_result.pending_fixed = true
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
end
|