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
data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/expectations/handler.rb
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Expectations
|
|
3
|
+
# @private
|
|
4
|
+
module ExpectationHelper
|
|
5
|
+
def self.check_message(msg)
|
|
6
|
+
unless msg.nil? || msg.respond_to?(:to_str) || msg.respond_to?(:call)
|
|
7
|
+
::Kernel.warn [
|
|
8
|
+
"WARNING: ignoring the provided expectation message argument (",
|
|
9
|
+
msg.inspect,
|
|
10
|
+
") since it is not a string or a proc."
|
|
11
|
+
].join
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Returns an RSpec-3+ compatible matcher, wrapping a legacy one
|
|
16
|
+
# in an adapter if necessary.
|
|
17
|
+
#
|
|
18
|
+
# @private
|
|
19
|
+
def self.modern_matcher_from(matcher)
|
|
20
|
+
LegacyMatcherAdapter::RSpec2.wrap(matcher) ||
|
|
21
|
+
LegacyMatcherAdapter::RSpec1.wrap(matcher) || matcher
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def self.with_matcher(handler, matcher, message)
|
|
25
|
+
check_message(message)
|
|
26
|
+
matcher = modern_matcher_from(matcher)
|
|
27
|
+
yield matcher
|
|
28
|
+
ensure
|
|
29
|
+
::RSpec::Matchers.last_expectation_handler = handler
|
|
30
|
+
::RSpec::Matchers.last_matcher = matcher
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def self.handle_failure(matcher, message, failure_message_method)
|
|
34
|
+
message = message.call if message.respond_to?(:call)
|
|
35
|
+
message ||= matcher.__send__(failure_message_method)
|
|
36
|
+
|
|
37
|
+
if matcher.respond_to?(:diffable?) && matcher.diffable?
|
|
38
|
+
::RSpec::Expectations.fail_with message, matcher.expected, matcher.actual
|
|
39
|
+
else
|
|
40
|
+
::RSpec::Expectations.fail_with message
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# @private
|
|
46
|
+
class PositiveExpectationHandler
|
|
47
|
+
def self.handle_matcher(actual, initial_matcher, custom_message=nil, &block)
|
|
48
|
+
ExpectationHelper.with_matcher(self, initial_matcher, custom_message) do |matcher|
|
|
49
|
+
return ::RSpec::Matchers::BuiltIn::PositiveOperatorMatcher.new(actual) unless initial_matcher
|
|
50
|
+
|
|
51
|
+
match_result = matcher.matches?(actual, &block)
|
|
52
|
+
if custom_message && match_result.respond_to?(:error_generator)
|
|
53
|
+
match_result.error_generator.opts[:message] = custom_message
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
match_result || ExpectationHelper.handle_failure(matcher, custom_message, :failure_message)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def self.verb
|
|
61
|
+
'is expected to'
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def self.should_method
|
|
65
|
+
:should
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def self.opposite_should_method
|
|
69
|
+
:should_not
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# @private
|
|
74
|
+
class NegativeExpectationHandler
|
|
75
|
+
def self.handle_matcher(actual, initial_matcher, custom_message=nil, &block)
|
|
76
|
+
ExpectationHelper.with_matcher(self, initial_matcher, custom_message) do |matcher|
|
|
77
|
+
return ::RSpec::Matchers::BuiltIn::NegativeOperatorMatcher.new(actual) unless initial_matcher
|
|
78
|
+
|
|
79
|
+
negated_match_result = does_not_match?(matcher, actual, &block)
|
|
80
|
+
if custom_message && negated_match_result.respond_to?(:error_generator)
|
|
81
|
+
negated_match_result.error_generator.opts[:message] = custom_message
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
negated_match_result || ExpectationHelper.handle_failure(matcher, custom_message, :failure_message_when_negated)
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def self.does_not_match?(matcher, actual, &block)
|
|
89
|
+
if matcher.respond_to?(:does_not_match?)
|
|
90
|
+
matcher.does_not_match?(actual, &block)
|
|
91
|
+
else
|
|
92
|
+
!matcher.matches?(actual, &block)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def self.verb
|
|
97
|
+
'is expected not to'
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def self.should_method
|
|
101
|
+
:should_not
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def self.opposite_should_method
|
|
105
|
+
:should
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Wraps a matcher written against one of the legacy protocols in
|
|
110
|
+
# order to present the current protocol.
|
|
111
|
+
#
|
|
112
|
+
# @private
|
|
113
|
+
class LegacyMatcherAdapter < Matchers::MatcherDelegator
|
|
114
|
+
def initialize(matcher)
|
|
115
|
+
super
|
|
116
|
+
::RSpec.warn_deprecation(<<-EOS.gsub(/^\s+\|/, ''), :type => "legacy_matcher")
|
|
117
|
+
|#{matcher.class.name || matcher.inspect} implements a legacy RSpec matcher
|
|
118
|
+
|protocol. For the current protocol you should expose the failure messages
|
|
119
|
+
|via the `failure_message` and `failure_message_when_negated` methods.
|
|
120
|
+
|(Used from #{CallerFilter.first_non_rspec_line})
|
|
121
|
+
EOS
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def self.wrap(matcher)
|
|
125
|
+
new(matcher) if interface_matches?(matcher)
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Starting in RSpec 1.2 (and continuing through all 2.x releases),
|
|
129
|
+
# the failure message protocol was:
|
|
130
|
+
# * `failure_message_for_should`
|
|
131
|
+
# * `failure_message_for_should_not`
|
|
132
|
+
# @private
|
|
133
|
+
class RSpec2 < self
|
|
134
|
+
def failure_message
|
|
135
|
+
base_matcher.failure_message_for_should
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def failure_message_when_negated
|
|
139
|
+
base_matcher.failure_message_for_should_not
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
def self.interface_matches?(matcher)
|
|
143
|
+
(
|
|
144
|
+
!matcher.respond_to?(:failure_message) &&
|
|
145
|
+
matcher.respond_to?(:failure_message_for_should)
|
|
146
|
+
) || (
|
|
147
|
+
!matcher.respond_to?(:failure_message_when_negated) &&
|
|
148
|
+
matcher.respond_to?(:failure_message_for_should_not)
|
|
149
|
+
)
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Before RSpec 1.2, the failure message protocol was:
|
|
154
|
+
# * `failure_message`
|
|
155
|
+
# * `negative_failure_message`
|
|
156
|
+
# @private
|
|
157
|
+
class RSpec1 < self
|
|
158
|
+
def failure_message
|
|
159
|
+
base_matcher.failure_message
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
def failure_message_when_negated
|
|
163
|
+
base_matcher.negative_failure_message
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
# Note: `failure_message` is part of the RSpec 3 protocol
|
|
167
|
+
# (paired with `failure_message_when_negated`), so we don't check
|
|
168
|
+
# for `failure_message` here.
|
|
169
|
+
def self.interface_matches?(matcher)
|
|
170
|
+
!matcher.respond_to?(:failure_message_when_negated) &&
|
|
171
|
+
matcher.respond_to?(:negative_failure_message)
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# RSpec 3.0 was released with the class name misspelled. For SemVer compatibility,
|
|
177
|
+
# we will provide this misspelled alias until 4.0.
|
|
178
|
+
# @deprecated Use LegacyMatcherAdapter instead.
|
|
179
|
+
# @private
|
|
180
|
+
LegacyMacherAdapter = LegacyMatcherAdapter
|
|
181
|
+
end
|
|
182
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
require 'rspec/expectations'
|
|
2
|
+
|
|
3
|
+
Minitest::Test.class_eval do
|
|
4
|
+
include ::RSpec::Matchers
|
|
5
|
+
|
|
6
|
+
# This `expect` will only be called if the user is using Minitest < 5.6
|
|
7
|
+
# or if they are _not_ using Minitest::Spec on 5.6+. Minitest::Spec on 5.6+
|
|
8
|
+
# defines its own `expect` and will have the assertions incremented via our
|
|
9
|
+
# definitions of `to`/`not_to`/`to_not` below.
|
|
10
|
+
def expect(*a, &b)
|
|
11
|
+
self.assertions += 1
|
|
12
|
+
super
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Convert a `MultipleExpectationsNotMetError` to a `Minitest::Assertion` error so
|
|
16
|
+
# it gets counted in minitest's summary stats as a failure rather than an error.
|
|
17
|
+
# It would be nice to make `MultipleExpectationsNotMetError` subclass
|
|
18
|
+
# `Minitest::Assertion`, but Minitest's implementation does not treat subclasses
|
|
19
|
+
# the same, so this is the best we can do.
|
|
20
|
+
def aggregate_failures(*args, &block)
|
|
21
|
+
super
|
|
22
|
+
rescue RSpec::Expectations::MultipleExpectationsNotMetError => e
|
|
23
|
+
assertion_failed = Minitest::Assertion.new(e.message)
|
|
24
|
+
assertion_failed.set_backtrace e.backtrace
|
|
25
|
+
raise assertion_failed
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Older versions of Minitest (e.g. before 5.6) do not define
|
|
30
|
+
# `Minitest::Expectation`.
|
|
31
|
+
if defined?(::Minitest::Expectation)
|
|
32
|
+
Minitest::Expectation.class_eval do
|
|
33
|
+
include RSpec::Expectations::ExpectationTarget::InstanceMethods
|
|
34
|
+
|
|
35
|
+
def to(*args)
|
|
36
|
+
ctx.assertions += 1
|
|
37
|
+
super
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def not_to(*args)
|
|
41
|
+
ctx.assertions += 1
|
|
42
|
+
super
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def to_not(*args)
|
|
46
|
+
ctx.assertions += 1
|
|
47
|
+
super
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
module RSpec
|
|
53
|
+
module Expectations
|
|
54
|
+
remove_const :ExpectationNotMetError
|
|
55
|
+
# Exception raised when an expectation fails.
|
|
56
|
+
const_set :ExpectationNotMetError, ::Minitest::Assertion
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Expectations
|
|
3
|
+
# @api private
|
|
4
|
+
# Provides methods for enabling and disabling the available
|
|
5
|
+
# syntaxes provided by rspec-expectations.
|
|
6
|
+
module Syntax
|
|
7
|
+
module_function
|
|
8
|
+
|
|
9
|
+
# @api private
|
|
10
|
+
# Determines where we add `should` and `should_not`.
|
|
11
|
+
def default_should_host
|
|
12
|
+
@default_should_host ||= ::Object.ancestors.last
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @api private
|
|
16
|
+
# Instructs rspec-expectations to warn on first usage of `should` or `should_not`.
|
|
17
|
+
# Enabled by default. This is largely here to facilitate testing.
|
|
18
|
+
def warn_about_should!
|
|
19
|
+
@warn_about_should = true
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# @api private
|
|
23
|
+
# Generates a deprecation warning for the given method if no warning
|
|
24
|
+
# has already been issued.
|
|
25
|
+
def warn_about_should_unless_configured(method_name)
|
|
26
|
+
return unless @warn_about_should
|
|
27
|
+
|
|
28
|
+
RSpec.deprecate(
|
|
29
|
+
"Using `#{method_name}` from rspec-expectations' old `:should` syntax without explicitly enabling the syntax",
|
|
30
|
+
:replacement => "the new `:expect` syntax or explicitly enable `:should` with `config.expect_with(:rspec) { |c| c.syntax = :should }`"
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
@warn_about_should = false
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# @api private
|
|
37
|
+
# Enables the `should` syntax.
|
|
38
|
+
def enable_should(syntax_host=default_should_host)
|
|
39
|
+
@warn_about_should = false if syntax_host == default_should_host
|
|
40
|
+
return if should_enabled?(syntax_host)
|
|
41
|
+
|
|
42
|
+
syntax_host.module_exec do
|
|
43
|
+
def should(matcher=nil, message=nil, &block)
|
|
44
|
+
::RSpec::Expectations::Syntax.warn_about_should_unless_configured(::Kernel.__method__)
|
|
45
|
+
::RSpec::Expectations::PositiveExpectationHandler.handle_matcher(self, matcher, message, &block)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def should_not(matcher=nil, message=nil, &block)
|
|
49
|
+
::RSpec::Expectations::Syntax.warn_about_should_unless_configured(::Kernel.__method__)
|
|
50
|
+
::RSpec::Expectations::NegativeExpectationHandler.handle_matcher(self, matcher, message, &block)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# @api private
|
|
56
|
+
# Disables the `should` syntax.
|
|
57
|
+
def disable_should(syntax_host=default_should_host)
|
|
58
|
+
return unless should_enabled?(syntax_host)
|
|
59
|
+
|
|
60
|
+
syntax_host.module_exec do
|
|
61
|
+
undef should
|
|
62
|
+
undef should_not
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# @api private
|
|
67
|
+
# Enables the `expect` syntax.
|
|
68
|
+
def enable_expect(syntax_host=::RSpec::Matchers)
|
|
69
|
+
return if expect_enabled?(syntax_host)
|
|
70
|
+
|
|
71
|
+
syntax_host.module_exec do
|
|
72
|
+
def expect(value=::RSpec::Expectations::ExpectationTarget::UndefinedValue, &block)
|
|
73
|
+
::RSpec::Expectations::ExpectationTarget.for(value, block)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# @api private
|
|
79
|
+
# Disables the `expect` syntax.
|
|
80
|
+
def disable_expect(syntax_host=::RSpec::Matchers)
|
|
81
|
+
return unless expect_enabled?(syntax_host)
|
|
82
|
+
|
|
83
|
+
syntax_host.module_exec do
|
|
84
|
+
undef expect
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# @api private
|
|
89
|
+
# Indicates whether or not the `should` syntax is enabled.
|
|
90
|
+
def should_enabled?(syntax_host=default_should_host)
|
|
91
|
+
syntax_host.method_defined?(:should)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# @api private
|
|
95
|
+
# Indicates whether or not the `expect` syntax is enabled.
|
|
96
|
+
def expect_enabled?(syntax_host=::RSpec::Matchers)
|
|
97
|
+
syntax_host.method_defined?(:expect)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
if defined?(BasicObject)
|
|
104
|
+
# The legacy `:should` syntax adds the following methods directly to
|
|
105
|
+
# `BasicObject` so that they are available off of any object. Note, however,
|
|
106
|
+
# that this syntax does not always play nice with delegate/proxy objects.
|
|
107
|
+
# We recommend you use the non-monkeypatching `:expect` syntax instead.
|
|
108
|
+
class BasicObject
|
|
109
|
+
# @method should(matcher, message)
|
|
110
|
+
# Passes if `matcher` returns true. Available on every `Object`.
|
|
111
|
+
# @example
|
|
112
|
+
# actual.should eq expected
|
|
113
|
+
# actual.should match /expression/
|
|
114
|
+
# @param [Matcher]
|
|
115
|
+
# matcher
|
|
116
|
+
# @param [String] message optional message to display when the expectation fails
|
|
117
|
+
# @return [Boolean] true if the expectation succeeds (else raises)
|
|
118
|
+
# @note This is only available when you have enabled the `:should` syntax.
|
|
119
|
+
# @see RSpec::Matchers
|
|
120
|
+
|
|
121
|
+
# @method should_not(matcher, message)
|
|
122
|
+
# Passes if `matcher` returns false. Available on every `Object`.
|
|
123
|
+
# @example
|
|
124
|
+
# actual.should_not eq expected
|
|
125
|
+
# @param [Matcher]
|
|
126
|
+
# matcher
|
|
127
|
+
# @param [String] message optional message to display when the expectation fails
|
|
128
|
+
# @return [Boolean] false if the negative expectation succeeds (else raises)
|
|
129
|
+
# @note This is only available when you have enabled the `:should` syntax.
|
|
130
|
+
# @see RSpec::Matchers
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
require 'rspec/support'
|
|
2
|
+
RSpec::Support.require_rspec_support "caller_filter"
|
|
3
|
+
RSpec::Support.require_rspec_support "warnings"
|
|
4
|
+
RSpec::Support.require_rspec_support "object_formatter"
|
|
5
|
+
|
|
6
|
+
require 'rspec/matchers'
|
|
7
|
+
|
|
8
|
+
RSpec::Support.define_optimized_require_for_rspec(:expectations) { |f| require_relative(f) }
|
|
9
|
+
|
|
10
|
+
%w[
|
|
11
|
+
expectation_target
|
|
12
|
+
configuration
|
|
13
|
+
fail_with
|
|
14
|
+
handler
|
|
15
|
+
version
|
|
16
|
+
].each { |file| RSpec::Support.require_rspec_expectations(file) }
|
|
17
|
+
|
|
18
|
+
module RSpec
|
|
19
|
+
# RSpec::Expectations provides a simple, readable API to express
|
|
20
|
+
# the expected outcomes in a code example. To express an expected
|
|
21
|
+
# outcome, wrap an object or block in `expect`, call `to` or `to_not`
|
|
22
|
+
# (aliased as `not_to`) and pass it a matcher object:
|
|
23
|
+
#
|
|
24
|
+
# expect(order.total).to eq(Money.new(5.55, :USD))
|
|
25
|
+
# expect(list).to include(user)
|
|
26
|
+
# expect(message).not_to match(/foo/)
|
|
27
|
+
# expect { do_something }.to raise_error
|
|
28
|
+
#
|
|
29
|
+
# The last form (the block form) is needed to match against ruby constructs
|
|
30
|
+
# that are not objects, but can only be observed when executing a block
|
|
31
|
+
# of code. This includes raising errors, throwing symbols, yielding,
|
|
32
|
+
# and changing values.
|
|
33
|
+
#
|
|
34
|
+
# When `expect(...).to` is invoked with a matcher, it turns around
|
|
35
|
+
# and calls `matcher.matches?(<object wrapped by expect>)`. For example,
|
|
36
|
+
# in the expression:
|
|
37
|
+
#
|
|
38
|
+
# expect(order.total).to eq(Money.new(5.55, :USD))
|
|
39
|
+
#
|
|
40
|
+
# ...`eq(Money.new(5.55, :USD))` returns a matcher object, and it results
|
|
41
|
+
# in the equivalent of `eq.matches?(order.total)`. If `matches?` returns
|
|
42
|
+
# `true`, the expectation is met and execution continues. If `false`, then
|
|
43
|
+
# the spec fails with the message returned by `eq.failure_message`.
|
|
44
|
+
#
|
|
45
|
+
# Given the expression:
|
|
46
|
+
#
|
|
47
|
+
# expect(order.entries).not_to include(entry)
|
|
48
|
+
#
|
|
49
|
+
# ...the `not_to` method (also available as `to_not`) invokes the equivalent of
|
|
50
|
+
# `include.matches?(order.entries)`, but it interprets `false` as success, and
|
|
51
|
+
# `true` as a failure, using the message generated by
|
|
52
|
+
# `include.failure_message_when_negated`.
|
|
53
|
+
#
|
|
54
|
+
# rspec-expectations ships with a standard set of useful matchers, and writing
|
|
55
|
+
# your own matchers is quite simple.
|
|
56
|
+
#
|
|
57
|
+
# See [RSpec::Matchers](../RSpec/Matchers) for more information about the
|
|
58
|
+
# built-in matchers that ship with rspec-expectations, and how to write your
|
|
59
|
+
# own custom matchers.
|
|
60
|
+
module Expectations
|
|
61
|
+
# Exception raised when an expectation fails.
|
|
62
|
+
#
|
|
63
|
+
# @note We subclass Exception so that in a stub implementation if
|
|
64
|
+
# the user sets an expectation, it can't be caught in their
|
|
65
|
+
# code by a bare `rescue`.
|
|
66
|
+
# @api public
|
|
67
|
+
class ExpectationNotMetError < Exception
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Exception raised from `aggregate_failures` when multiple expectations fail.
|
|
71
|
+
#
|
|
72
|
+
# @note The constant is defined here but the extensive logic of this class
|
|
73
|
+
# is lazily defined when `FailureAggregator` is autoloaded, since we do
|
|
74
|
+
# not need to waste time defining that functionality unless
|
|
75
|
+
# `aggregate_failures` is used.
|
|
76
|
+
class MultipleExpectationsNotMetError < ExpectationNotMetError
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
autoload :BlockSnippetExtractor, "rspec/expectations/block_snippet_extractor"
|
|
80
|
+
autoload :FailureAggregator, "rspec/expectations/failure_aggregator"
|
|
81
|
+
end
|
|
82
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/aliased_matcher.rb
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
# Decorator that wraps a matcher and overrides `description`
|
|
4
|
+
# using the provided block in order to support an alias
|
|
5
|
+
# of a matcher. This is intended for use when composing
|
|
6
|
+
# matchers, so that you can use an expression like
|
|
7
|
+
# `include( a_value_within(0.1).of(3) )` rather than
|
|
8
|
+
# `include( be_within(0.1).of(3) )`, and have the corresponding
|
|
9
|
+
# description read naturally.
|
|
10
|
+
#
|
|
11
|
+
# @api private
|
|
12
|
+
class AliasedMatcher < MatcherDelegator
|
|
13
|
+
def initialize(base_matcher, description_block)
|
|
14
|
+
@description_block = description_block
|
|
15
|
+
super(base_matcher)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Forward messages on to the wrapped matcher.
|
|
19
|
+
# Since many matchers provide a fluent interface
|
|
20
|
+
# (e.g. `a_value_within(0.1).of(3)`), we need to wrap
|
|
21
|
+
# the returned value if it responds to `description`,
|
|
22
|
+
# so that our override can be applied when it is eventually
|
|
23
|
+
# used.
|
|
24
|
+
def method_missing(*)
|
|
25
|
+
return_val = super
|
|
26
|
+
return return_val unless RSpec::Matchers.is_a_matcher?(return_val)
|
|
27
|
+
self.class.new(return_val, @description_block)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Provides the description of the aliased matcher. Aliased matchers
|
|
31
|
+
# are designed to behave identically to the original matcher except
|
|
32
|
+
# for the description and failure messages. The description is different
|
|
33
|
+
# to reflect the aliased name.
|
|
34
|
+
#
|
|
35
|
+
# @api private
|
|
36
|
+
def description
|
|
37
|
+
@description_block.call(super)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Provides the failure_message of the aliased matcher. Aliased matchers
|
|
41
|
+
# are designed to behave identically to the original matcher except
|
|
42
|
+
# for the description and failure messages. The failure_message is different
|
|
43
|
+
# to reflect the aliased name.
|
|
44
|
+
#
|
|
45
|
+
# @api private
|
|
46
|
+
def failure_message
|
|
47
|
+
@description_block.call(super)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Provides the failure_message_when_negated of the aliased matcher. Aliased matchers
|
|
51
|
+
# are designed to behave identically to the original matcher except
|
|
52
|
+
# for the description and failure messages. The failure_message_when_negated is different
|
|
53
|
+
# to reflect the aliased name.
|
|
54
|
+
#
|
|
55
|
+
# @api private
|
|
56
|
+
def failure_message_when_negated
|
|
57
|
+
@description_block.call(super)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Decorator used for matchers that have special implementations of
|
|
62
|
+
# operators like `==` and `===`.
|
|
63
|
+
# @private
|
|
64
|
+
class AliasedMatcherWithOperatorSupport < AliasedMatcher
|
|
65
|
+
# We undef these so that they get delegated via `method_missing`.
|
|
66
|
+
undef ==
|
|
67
|
+
undef ===
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# @private
|
|
71
|
+
class AliasedNegatedMatcher < AliasedMatcher
|
|
72
|
+
def matches?(*args, &block)
|
|
73
|
+
if @base_matcher.respond_to?(:does_not_match?)
|
|
74
|
+
@base_matcher.does_not_match?(*args, &block)
|
|
75
|
+
else
|
|
76
|
+
!super
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def does_not_match?(*args, &block)
|
|
81
|
+
@base_matcher.matches?(*args, &block)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def failure_message
|
|
85
|
+
optimal_failure_message(__method__, :failure_message_when_negated)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def failure_message_when_negated
|
|
89
|
+
optimal_failure_message(__method__, :failure_message)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
private
|
|
93
|
+
|
|
94
|
+
DefaultFailureMessages = BuiltIn::BaseMatcher::DefaultFailureMessages
|
|
95
|
+
|
|
96
|
+
# For a matcher that uses the default failure messages, we prefer to
|
|
97
|
+
# use the override provided by the `description_block`, because it
|
|
98
|
+
# includes the phrasing that the user has expressed a preference for
|
|
99
|
+
# by going through the effort of defining a negated matcher.
|
|
100
|
+
#
|
|
101
|
+
# However, if the override didn't actually change anything, then we
|
|
102
|
+
# should return the opposite failure message instead -- the overriden
|
|
103
|
+
# message is going to be confusing if we return it as-is, as it represents
|
|
104
|
+
# the non-negated failure message for a negated match (or vice versa).
|
|
105
|
+
def optimal_failure_message(same, inverted)
|
|
106
|
+
if DefaultFailureMessages.has_default_failure_messages?(@base_matcher)
|
|
107
|
+
base_message = @base_matcher.__send__(same)
|
|
108
|
+
overriden = @description_block.call(base_message)
|
|
109
|
+
return overriden if overriden != base_message
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
@base_matcher.__send__(inverted)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/all.rb
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Provides the implementation for `all`.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class All < BaseMatcher
|
|
8
|
+
# @private
|
|
9
|
+
attr_reader :matcher, :failed_objects
|
|
10
|
+
|
|
11
|
+
def initialize(matcher)
|
|
12
|
+
@matcher = matcher
|
|
13
|
+
@failed_objects = {}
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @private
|
|
17
|
+
def does_not_match?(_actual)
|
|
18
|
+
raise NotImplementedError, '`expect().not_to all( matcher )` is not supported.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @api private
|
|
22
|
+
# @return [String]
|
|
23
|
+
def failure_message
|
|
24
|
+
unless iterable?
|
|
25
|
+
return "#{improve_hash_formatting(super)}, but was not iterable"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
all_messages = [improve_hash_formatting(super)]
|
|
29
|
+
failed_objects.each do |index, matcher_failure_message|
|
|
30
|
+
all_messages << failure_message_for_item(index, matcher_failure_message)
|
|
31
|
+
end
|
|
32
|
+
all_messages.join("\n\n")
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# @api private
|
|
36
|
+
# @return [String]
|
|
37
|
+
def description
|
|
38
|
+
improve_hash_formatting "all #{description_of matcher}"
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
|
|
43
|
+
def match(_expected, _actual)
|
|
44
|
+
return false unless iterable?
|
|
45
|
+
|
|
46
|
+
index_failed_objects
|
|
47
|
+
failed_objects.empty?
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def index_failed_objects
|
|
51
|
+
actual.each_with_index do |actual_item, index|
|
|
52
|
+
cloned_matcher = matcher.clone
|
|
53
|
+
matches = cloned_matcher.matches?(actual_item)
|
|
54
|
+
failed_objects[index] = cloned_matcher.failure_message unless matches
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def failure_message_for_item(index, failure_message)
|
|
59
|
+
failure_message = indent_multiline_message(add_new_line_if_needed(failure_message))
|
|
60
|
+
indent_multiline_message("object at index #{index} failed to match:#{failure_message}")
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def add_new_line_if_needed(message)
|
|
64
|
+
message.start_with?("\n") ? message : "\n#{message}"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def indent_multiline_message(message)
|
|
68
|
+
message = message.sub(/\n+\z/, '')
|
|
69
|
+
message.lines.map do |line|
|
|
70
|
+
line =~ /\S/ ? ' ' + line : line
|
|
71
|
+
end.join
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def initialize_copy(other)
|
|
75
|
+
@matcher = @matcher.clone
|
|
76
|
+
@failed_objects = @failed_objects.clone
|
|
77
|
+
super
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def iterable?
|
|
81
|
+
@actual.respond_to?(:each_with_index)
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|