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/matchers/built_in/satisfy.rb
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Provides the implementation for `satisfy`.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class Satisfy < BaseMatcher
|
|
8
|
+
def initialize(description=nil, &block)
|
|
9
|
+
@description = description
|
|
10
|
+
@block = block
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @private
|
|
14
|
+
def matches?(actual, &block)
|
|
15
|
+
@block = block if block
|
|
16
|
+
@actual = actual
|
|
17
|
+
@block.call(actual)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @private
|
|
21
|
+
def description
|
|
22
|
+
@description ||= "satisfy #{block_representation}"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @api private
|
|
26
|
+
# @return [String]
|
|
27
|
+
def failure_message
|
|
28
|
+
"expected #{actual_formatted} to #{description}"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @api private
|
|
32
|
+
# @return [String]
|
|
33
|
+
def failure_message_when_negated
|
|
34
|
+
"expected #{actual_formatted} not to #{description}"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
private
|
|
38
|
+
|
|
39
|
+
if RSpec::Support::RubyFeatures.ripper_supported?
|
|
40
|
+
def block_representation
|
|
41
|
+
if (block_snippet = extract_block_snippet)
|
|
42
|
+
"expression `#{block_snippet}`"
|
|
43
|
+
else
|
|
44
|
+
'block'
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def extract_block_snippet
|
|
49
|
+
return nil unless @block
|
|
50
|
+
Expectations::BlockSnippetExtractor.try_extracting_single_line_body_of(@block, matcher_name)
|
|
51
|
+
end
|
|
52
|
+
else
|
|
53
|
+
def block_representation
|
|
54
|
+
'block'
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Base class for the `end_with` and `start_with` matchers.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class StartOrEndWith < BaseMatcher
|
|
8
|
+
def initialize(*expected)
|
|
9
|
+
@actual_does_not_have_ordered_elements = false
|
|
10
|
+
@expected = expected.length == 1 ? expected.first : expected
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @api private
|
|
14
|
+
# @return [String]
|
|
15
|
+
def failure_message
|
|
16
|
+
super.tap do |msg|
|
|
17
|
+
if @actual_does_not_have_ordered_elements
|
|
18
|
+
msg << ", but it does not have ordered elements"
|
|
19
|
+
elsif !actual.respond_to?(:[])
|
|
20
|
+
msg << ", but it cannot be indexed using #[]"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @api private
|
|
26
|
+
# @return [String]
|
|
27
|
+
def description
|
|
28
|
+
return super unless Hash === expected
|
|
29
|
+
english_name = EnglishPhrasing.split_words(self.class.matcher_name)
|
|
30
|
+
description_of_expected = surface_descriptions_in(expected).inspect
|
|
31
|
+
"#{english_name} #{description_of_expected}"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
def match(_expected, actual)
|
|
37
|
+
return false unless actual.respond_to?(:[])
|
|
38
|
+
|
|
39
|
+
begin
|
|
40
|
+
return true if subsets_comparable? && subset_matches?
|
|
41
|
+
element_matches?
|
|
42
|
+
rescue ArgumentError
|
|
43
|
+
@actual_does_not_have_ordered_elements = true
|
|
44
|
+
return false
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def subsets_comparable?
|
|
49
|
+
# Structs support the Enumerable interface but don't really have
|
|
50
|
+
# the semantics of a subset of a larger set...
|
|
51
|
+
return false if Struct === expected
|
|
52
|
+
|
|
53
|
+
expected.respond_to?(:length)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# For RSpec 3.1, the base class was named `StartAndEndWith`. For SemVer reasons,
|
|
58
|
+
# we still provide this constant until 4.0.
|
|
59
|
+
# @deprecated Use StartOrEndWith instead.
|
|
60
|
+
# @private
|
|
61
|
+
StartAndEndWith = StartOrEndWith
|
|
62
|
+
|
|
63
|
+
# @api private
|
|
64
|
+
# Provides the implementation for `start_with`.
|
|
65
|
+
# Not intended to be instantiated directly.
|
|
66
|
+
class StartWith < StartOrEndWith
|
|
67
|
+
private
|
|
68
|
+
|
|
69
|
+
def subset_matches?
|
|
70
|
+
values_match?(expected, actual[0, expected.length])
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def element_matches?
|
|
74
|
+
values_match?(expected, actual[0])
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# @api private
|
|
79
|
+
# Provides the implementation for `end_with`.
|
|
80
|
+
# Not intended to be instantiated directly.
|
|
81
|
+
class EndWith < StartOrEndWith
|
|
82
|
+
private
|
|
83
|
+
|
|
84
|
+
def subset_matches?
|
|
85
|
+
values_match?(expected, actual[-expected.length, expected.length])
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def element_matches?
|
|
89
|
+
values_match?(expected, actual[-1])
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
module RSpec
|
|
2
|
+
module Matchers
|
|
3
|
+
module BuiltIn
|
|
4
|
+
# @api private
|
|
5
|
+
# Provides the implementation for `throw_symbol`.
|
|
6
|
+
# Not intended to be instantiated directly.
|
|
7
|
+
class ThrowSymbol
|
|
8
|
+
include Composable
|
|
9
|
+
|
|
10
|
+
def initialize(expected_symbol=nil, expected_arg=nil)
|
|
11
|
+
@expected_symbol = expected_symbol
|
|
12
|
+
@expected_arg = expected_arg
|
|
13
|
+
@caught_symbol = @caught_arg = nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# rubocop:disable Metrics/MethodLength
|
|
17
|
+
# @private
|
|
18
|
+
def matches?(given_proc)
|
|
19
|
+
@block = given_proc
|
|
20
|
+
return false unless Proc === given_proc
|
|
21
|
+
|
|
22
|
+
begin
|
|
23
|
+
if @expected_symbol.nil?
|
|
24
|
+
given_proc.call
|
|
25
|
+
else
|
|
26
|
+
@caught_arg = catch :proc_did_not_throw_anything do
|
|
27
|
+
catch @expected_symbol do
|
|
28
|
+
given_proc.call
|
|
29
|
+
throw :proc_did_not_throw_anything, :nothing_thrown
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
if @caught_arg == :nothing_thrown
|
|
34
|
+
@caught_arg = nil
|
|
35
|
+
else
|
|
36
|
+
@caught_symbol = @expected_symbol
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Ruby 1.8 uses NameError with `symbol'
|
|
41
|
+
# Ruby 1.9 uses ArgumentError with :symbol
|
|
42
|
+
rescue NameError, ArgumentError => e
|
|
43
|
+
unless (match_data = e.message.match(/uncaught throw (`|\:)([a-zA-Z0-9_]*)(')?/))
|
|
44
|
+
other_exception = e
|
|
45
|
+
raise
|
|
46
|
+
end
|
|
47
|
+
@caught_symbol = match_data.captures[1].to_sym
|
|
48
|
+
rescue => other_exception
|
|
49
|
+
raise
|
|
50
|
+
ensure
|
|
51
|
+
# rubocop:disable Lint/EnsureReturn
|
|
52
|
+
unless other_exception
|
|
53
|
+
if @expected_symbol.nil?
|
|
54
|
+
return !!@caught_symbol
|
|
55
|
+
else
|
|
56
|
+
if @expected_arg.nil?
|
|
57
|
+
return @caught_symbol == @expected_symbol
|
|
58
|
+
else
|
|
59
|
+
return (@caught_symbol == @expected_symbol) && values_match?(@expected_arg, @caught_arg)
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
# rubocop:enable Lint/EnsureReturn
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
# rubocop:enable Metrics/MethodLength
|
|
67
|
+
|
|
68
|
+
def does_not_match?(given_proc)
|
|
69
|
+
!matches?(given_proc) && Proc === given_proc
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# @api private
|
|
73
|
+
# @return [String]
|
|
74
|
+
def failure_message
|
|
75
|
+
"expected #{expected} to be thrown, #{actual_result}"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# @api private
|
|
79
|
+
# @return [String]
|
|
80
|
+
def failure_message_when_negated
|
|
81
|
+
"expected #{expected('no Symbol')}#{' not' if @expected_symbol} to be thrown, #{actual_result}"
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# @api private
|
|
85
|
+
# @return [String]
|
|
86
|
+
def description
|
|
87
|
+
"throw #{expected}"
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# @api private
|
|
91
|
+
# Indicates this matcher matches against a block.
|
|
92
|
+
# @return [True]
|
|
93
|
+
def supports_block_expectations?
|
|
94
|
+
true
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# @api private
|
|
98
|
+
def supports_value_expectations?
|
|
99
|
+
false
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# @api private
|
|
103
|
+
def expects_call_stack_jump?
|
|
104
|
+
true
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
private
|
|
108
|
+
|
|
109
|
+
def actual_result
|
|
110
|
+
return "but was not a block" unless Proc === @block
|
|
111
|
+
"got #{caught}"
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def expected(symbol_desc='a Symbol')
|
|
115
|
+
throw_description(@expected_symbol || symbol_desc, @expected_arg)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def caught
|
|
119
|
+
throw_description(@caught_symbol || 'nothing', @caught_arg)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def throw_description(symbol, arg)
|
|
123
|
+
symbol_description = symbol.is_a?(String) ? symbol : description_of(symbol)
|
|
124
|
+
|
|
125
|
+
arg_description = if arg
|
|
126
|
+
" with #{description_of arg}"
|
|
127
|
+
elsif @expected_arg && @caught_symbol == @expected_symbol
|
|
128
|
+
" with no argument"
|
|
129
|
+
else
|
|
130
|
+
""
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
symbol_description + arg_description
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.12.0/lib/rspec/matchers/built_in/yield.rb
ADDED
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
require 'rspec/matchers/built_in/count_expectation'
|
|
2
|
+
|
|
3
|
+
RSpec::Support.require_rspec_support 'method_signature_verifier'
|
|
4
|
+
|
|
5
|
+
module RSpec
|
|
6
|
+
module Matchers
|
|
7
|
+
module BuiltIn
|
|
8
|
+
# @private
|
|
9
|
+
# Object that is yielded to `expect` when one of the
|
|
10
|
+
# yield matchers is used. Provides information about
|
|
11
|
+
# the yield behavior of the object-under-test.
|
|
12
|
+
class YieldProbe
|
|
13
|
+
def self.probe(block, &callback)
|
|
14
|
+
probe = new(block, &callback)
|
|
15
|
+
return probe unless probe.has_block?
|
|
16
|
+
probe.probe
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
attr_accessor :num_yields, :yielded_args
|
|
20
|
+
|
|
21
|
+
def initialize(block, &callback)
|
|
22
|
+
@block = block
|
|
23
|
+
@callback = callback || Proc.new {}
|
|
24
|
+
@used = false
|
|
25
|
+
self.num_yields = 0
|
|
26
|
+
self.yielded_args = []
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def has_block?
|
|
30
|
+
Proc === @block
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def probe
|
|
34
|
+
assert_valid_expect_block!
|
|
35
|
+
@block.call(self)
|
|
36
|
+
assert_used!
|
|
37
|
+
self
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def to_proc
|
|
41
|
+
@used = true
|
|
42
|
+
|
|
43
|
+
probe = self
|
|
44
|
+
callback = @callback
|
|
45
|
+
Proc.new do |*args|
|
|
46
|
+
probe.num_yields += 1
|
|
47
|
+
probe.yielded_args << args
|
|
48
|
+
callback.call(*args)
|
|
49
|
+
nil # to indicate the block does not return a meaningful value
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def single_yield_args
|
|
54
|
+
yielded_args.first
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def yielded_once?(matcher_name)
|
|
58
|
+
case num_yields
|
|
59
|
+
when 1 then true
|
|
60
|
+
when 0 then false
|
|
61
|
+
else
|
|
62
|
+
raise "The #{matcher_name} matcher is not designed to be used with a " \
|
|
63
|
+
'method that yields multiple times. Use the yield_successive_args ' \
|
|
64
|
+
'matcher for that case.'
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def assert_used!
|
|
69
|
+
return if @used
|
|
70
|
+
raise 'You must pass the argument yielded to your expect block on ' \
|
|
71
|
+
'to the method-under-test as a block. It acts as a probe that ' \
|
|
72
|
+
'allows the matcher to detect whether or not the method-under-test ' \
|
|
73
|
+
'yields, and, if so, how many times, and what the yielded arguments ' \
|
|
74
|
+
'are.'
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
if RUBY_VERSION.to_f > 1.8
|
|
78
|
+
def assert_valid_expect_block!
|
|
79
|
+
block_signature = RSpec::Support::BlockSignature.new(@block)
|
|
80
|
+
return if RSpec::Support::StrictSignatureVerifier.new(block_signature, [self]).valid?
|
|
81
|
+
raise 'Your expect block must accept an argument to be used with this ' \
|
|
82
|
+
'matcher. Pass the argument as a block on to the method you are testing.'
|
|
83
|
+
end
|
|
84
|
+
else
|
|
85
|
+
# :nocov:
|
|
86
|
+
# On 1.8.7, `lambda { }.arity` and `lambda { |*a| }.arity` both return -1,
|
|
87
|
+
# so we can't distinguish between accepting no args and an arg splat.
|
|
88
|
+
# It's OK to skip, this, though; it just provides a nice error message
|
|
89
|
+
# when the user forgets to accept an arg in their block. They'll still get
|
|
90
|
+
# the `assert_used!` error message from above, which is sufficient.
|
|
91
|
+
def assert_valid_expect_block!
|
|
92
|
+
# nothing to do
|
|
93
|
+
end
|
|
94
|
+
# :nocov:
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# @api private
|
|
99
|
+
# Provides the implementation for `yield_control`.
|
|
100
|
+
# Not intended to be instantiated directly.
|
|
101
|
+
class YieldControl < BaseMatcher
|
|
102
|
+
include CountExpectation
|
|
103
|
+
# @private
|
|
104
|
+
def matches?(block)
|
|
105
|
+
@probe = YieldProbe.probe(block)
|
|
106
|
+
return false unless @probe.has_block?
|
|
107
|
+
expected_count_matches?(@probe.num_yields)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# @private
|
|
111
|
+
def does_not_match?(block)
|
|
112
|
+
!matches?(block) && @probe.has_block?
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# @api private
|
|
116
|
+
# @return [String]
|
|
117
|
+
def failure_message
|
|
118
|
+
'expected given block to yield control' + failure_reason
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# @api private
|
|
122
|
+
# @return [String]
|
|
123
|
+
def failure_message_when_negated
|
|
124
|
+
'expected given block not to yield control' + failure_reason
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# @private
|
|
128
|
+
def supports_block_expectations?
|
|
129
|
+
true
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# @private
|
|
133
|
+
def supports_value_expectations?
|
|
134
|
+
false
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
private
|
|
138
|
+
|
|
139
|
+
def failure_reason
|
|
140
|
+
return ' but was not a block' unless @probe.has_block?
|
|
141
|
+
return "#{count_expectation_description} but did not yield" if @probe.num_yields == 0
|
|
142
|
+
count_failure_reason('yielded')
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# @api private
|
|
147
|
+
# Provides the implementation for `yield_with_no_args`.
|
|
148
|
+
# Not intended to be instantiated directly.
|
|
149
|
+
class YieldWithNoArgs < BaseMatcher
|
|
150
|
+
# @private
|
|
151
|
+
def matches?(block)
|
|
152
|
+
@probe = YieldProbe.probe(block)
|
|
153
|
+
return false unless @probe.has_block?
|
|
154
|
+
@probe.yielded_once?(:yield_with_no_args) && @probe.single_yield_args.empty?
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# @private
|
|
158
|
+
def does_not_match?(block)
|
|
159
|
+
!matches?(block) && @probe.has_block?
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# @private
|
|
163
|
+
def failure_message
|
|
164
|
+
"expected given block to yield with no arguments, but #{positive_failure_reason}"
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# @private
|
|
168
|
+
def failure_message_when_negated
|
|
169
|
+
"expected given block not to yield with no arguments, but #{negative_failure_reason}"
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# @private
|
|
173
|
+
def supports_block_expectations?
|
|
174
|
+
true
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# @private
|
|
178
|
+
def supports_value_expectations?
|
|
179
|
+
false
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
private
|
|
183
|
+
|
|
184
|
+
def positive_failure_reason
|
|
185
|
+
return 'was not a block' unless @probe.has_block?
|
|
186
|
+
return 'did not yield' if @probe.num_yields.zero?
|
|
187
|
+
"yielded with arguments: #{description_of @probe.single_yield_args}"
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
def negative_failure_reason
|
|
191
|
+
return 'was not a block' unless @probe.has_block?
|
|
192
|
+
'did'
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# @api private
|
|
197
|
+
# Provides the implementation for `yield_with_args`.
|
|
198
|
+
# Not intended to be instantiated directly.
|
|
199
|
+
class YieldWithArgs < BaseMatcher
|
|
200
|
+
def initialize(*args)
|
|
201
|
+
@expected = args
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
# @private
|
|
205
|
+
def matches?(block)
|
|
206
|
+
@args_matched_when_yielded = true
|
|
207
|
+
@probe = YieldProbe.new(block) do
|
|
208
|
+
@actual = @probe.single_yield_args
|
|
209
|
+
@actual_formatted = actual_formatted
|
|
210
|
+
@args_matched_when_yielded &&= args_currently_match?
|
|
211
|
+
end
|
|
212
|
+
return false unless @probe.has_block?
|
|
213
|
+
@probe.probe
|
|
214
|
+
@probe.yielded_once?(:yield_with_args) && @args_matched_when_yielded
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
# @private
|
|
218
|
+
def does_not_match?(block)
|
|
219
|
+
!matches?(block) && @probe.has_block?
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# @private
|
|
223
|
+
def failure_message
|
|
224
|
+
"expected given block to yield with arguments, but #{positive_failure_reason}"
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# @private
|
|
228
|
+
def failure_message_when_negated
|
|
229
|
+
"expected given block not to yield with arguments, but #{negative_failure_reason}"
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
# @private
|
|
233
|
+
def description
|
|
234
|
+
desc = 'yield with args'
|
|
235
|
+
desc = "#{desc}(#{expected_arg_description})" unless @expected.empty?
|
|
236
|
+
desc
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
# @private
|
|
240
|
+
def supports_block_expectations?
|
|
241
|
+
true
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
# @private
|
|
245
|
+
def supports_value_expectations?
|
|
246
|
+
false
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
private
|
|
250
|
+
|
|
251
|
+
def positive_failure_reason
|
|
252
|
+
return 'was not a block' unless @probe.has_block?
|
|
253
|
+
return 'did not yield' if @probe.num_yields.zero?
|
|
254
|
+
@positive_args_failure
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
def expected_arg_description
|
|
258
|
+
@expected.map { |e| description_of e }.join(', ')
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
def negative_failure_reason
|
|
262
|
+
if !@probe.has_block?
|
|
263
|
+
'was not a block'
|
|
264
|
+
elsif @args_matched_when_yielded && !@expected.empty?
|
|
265
|
+
'yielded with expected arguments' \
|
|
266
|
+
"\nexpected not: #{surface_descriptions_in(@expected).inspect}" \
|
|
267
|
+
"\n got: #{@actual_formatted}"
|
|
268
|
+
else
|
|
269
|
+
'did'
|
|
270
|
+
end
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
def args_currently_match?
|
|
274
|
+
if @expected.empty? # expect {...}.to yield_with_args
|
|
275
|
+
@positive_args_failure = 'yielded with no arguments' if @actual.empty?
|
|
276
|
+
return !@actual.empty?
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
unless (match = all_args_match?)
|
|
280
|
+
@positive_args_failure = 'yielded with unexpected arguments' \
|
|
281
|
+
"\nexpected: #{surface_descriptions_in(@expected).inspect}" \
|
|
282
|
+
"\n got: #{@actual_formatted}"
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
match
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
def all_args_match?
|
|
289
|
+
values_match?(@expected, @actual)
|
|
290
|
+
end
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
# @api private
|
|
294
|
+
# Provides the implementation for `yield_successive_args`.
|
|
295
|
+
# Not intended to be instantiated directly.
|
|
296
|
+
class YieldSuccessiveArgs < BaseMatcher
|
|
297
|
+
def initialize(*args)
|
|
298
|
+
@expected = args
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
# @private
|
|
302
|
+
def matches?(block)
|
|
303
|
+
@actual_formatted = []
|
|
304
|
+
@actual = []
|
|
305
|
+
args_matched_when_yielded = true
|
|
306
|
+
yield_count = 0
|
|
307
|
+
|
|
308
|
+
@probe = YieldProbe.probe(block) do |*arg_array|
|
|
309
|
+
arg_or_args = arg_array.size == 1 ? arg_array.first : arg_array
|
|
310
|
+
@actual_formatted << RSpec::Support::ObjectFormatter.format(arg_or_args)
|
|
311
|
+
@actual << arg_or_args
|
|
312
|
+
args_matched_when_yielded &&= values_match?(@expected[yield_count], arg_or_args)
|
|
313
|
+
yield_count += 1
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
return false unless @probe.has_block?
|
|
317
|
+
args_matched_when_yielded && yield_count == @expected.length
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
def does_not_match?(block)
|
|
321
|
+
!matches?(block) && @probe.has_block?
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
# @private
|
|
325
|
+
def failure_message
|
|
326
|
+
'expected given block to yield successively with arguments, ' \
|
|
327
|
+
"but #{positive_failure_reason}"
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
# @private
|
|
331
|
+
def failure_message_when_negated
|
|
332
|
+
'expected given block not to yield successively with arguments, ' \
|
|
333
|
+
"but #{negative_failure_reason}"
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
# @private
|
|
337
|
+
def description
|
|
338
|
+
"yield successive args(#{expected_arg_description})"
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
# @private
|
|
342
|
+
def supports_block_expectations?
|
|
343
|
+
true
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
# @private
|
|
347
|
+
def supports_value_expectations?
|
|
348
|
+
false
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
private
|
|
352
|
+
|
|
353
|
+
def expected_arg_description
|
|
354
|
+
@expected.map { |e| description_of e }.join(', ')
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
def positive_failure_reason
|
|
358
|
+
return 'was not a block' unless @probe.has_block?
|
|
359
|
+
|
|
360
|
+
'yielded with unexpected arguments' \
|
|
361
|
+
"\nexpected: #{surface_descriptions_in(@expected).inspect}" \
|
|
362
|
+
"\n got: [#{@actual_formatted.join(", ")}]"
|
|
363
|
+
end
|
|
364
|
+
|
|
365
|
+
def negative_failure_reason
|
|
366
|
+
return 'was not a block' unless @probe.has_block?
|
|
367
|
+
|
|
368
|
+
'yielded with expected arguments' \
|
|
369
|
+
"\nexpected not: #{surface_descriptions_in(@expected).inspect}" \
|
|
370
|
+
"\n got: [#{@actual_formatted.join(", ")}]"
|
|
371
|
+
end
|
|
372
|
+
end
|
|
373
|
+
end
|
|
374
|
+
end
|
|
375
|
+
end
|