guesswhat 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/.gitignore +9 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/Gemfile +4 -0
- data/README.md +36 -0
- data/Rakefile +4 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/guesswhat.gemspec +25 -0
- data/lib/guesswhat/version.rb +3 -0
- data/lib/guesswhat.rb +5 -0
- data/tasks/rspec.rake +3 -0
- data/vendor/bundle/bin/console +23 -0
- data/vendor/bundle/bin/htmldiff +25 -0
- data/vendor/bundle/bin/ldiff +25 -0
- data/vendor/bundle/bin/rake +23 -0
- data/vendor/bundle/bin/rspec +23 -0
- data/vendor/bundle/bin/setup +23 -0
- data/vendor/bundle/cache/diff-lcs-1.2.5.gem +0 -0
- data/vendor/bundle/cache/rake-10.5.0.gem +0 -0
- data/vendor/bundle/cache/rspec-3.4.0.gem +0 -0
- data/vendor/bundle/cache/rspec-core-3.4.4.gem +0 -0
- data/vendor/bundle/cache/rspec-expectations-3.4.0.gem +0 -0
- data/vendor/bundle/cache/rspec-mocks-3.4.1.gem +0 -0
- data/vendor/bundle/cache/rspec-support-3.4.1.gem +0 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/.autotest +3 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/.gemtest +0 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/.hoerc +2 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/.rspec +2 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/.travis.yml +22 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/Gemfile +20 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/History.rdoc +152 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/License.rdoc +39 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/README.rdoc +85 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/Rakefile +41 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/change_spec.rb +65 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/diff_spec.rb +47 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +72 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/issues_spec.rb +24 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +54 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/patch_spec.rb +414 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +214 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/spec_helper.rb +290 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +310 -0
- data/vendor/bundle/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +139 -0
- data/vendor/bundle/gems/rake-10.5.0/.autotest +7 -0
- data/vendor/bundle/gems/rake-10.5.0/.rubocop.yml +27 -0
- data/vendor/bundle/gems/rake-10.5.0/.togglerc +7 -0
- data/vendor/bundle/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
- data/vendor/bundle/gems/rake-10.5.0/History.rdoc +659 -0
- data/vendor/bundle/gems/rake-10.5.0/MIT-LICENSE +21 -0
- data/vendor/bundle/gems/rake-10.5.0/Manifest.txt +166 -0
- data/vendor/bundle/gems/rake-10.5.0/README.rdoc +139 -0
- data/vendor/bundle/gems/rake-10.5.0/Rakefile +81 -0
- data/vendor/bundle/gems/rake-10.5.0/bin/rake +33 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/a.c +6 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/b.c +6 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/main.c +11 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/jamis.rb +591 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/rake.1 +141 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/rational.rdoc +151 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/application.rb +790 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/task.rb +383 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/version.rb +7 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake.rb +79 -0
- data/vendor/bundle/gems/rake-10.5.0/rakelib/publish.rake +20 -0
- data/vendor/bundle/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
- data/vendor/bundle/gems/rake-10.5.0/test/file_creation.rb +34 -0
- data/vendor/bundle/gems/rake-10.5.0/test/helper.rb +129 -0
- data/vendor/bundle/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
- data/vendor/bundle/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake.rb +40 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
- data/vendor/bundle/gems/rspec-3.4.0/LICENSE.md +27 -0
- data/vendor/bundle/gems/rspec-3.4.0/README.md +39 -0
- data/vendor/bundle/gems/rspec-3.4.0/lib/rspec/version.rb +5 -0
- data/vendor/bundle/gems/rspec-3.4.0/lib/rspec.rb +3 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/.document +5 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/.yardopts +8 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/Changelog.md +1972 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/LICENSE.md +26 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/README.md +384 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/exe/rspec +4 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/autorun.rb +3 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/backtrace_formatter.rb +65 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/coordinator.rb +66 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/example_minimizer.rb +169 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/runner.rb +139 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/server.rb +61 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/configuration.rb +1869 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/configuration_options.rb +191 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/drb.rb +111 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/dsl.rb +96 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/example.rb +631 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/example_group.rb +816 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/example_status_persister.rb +235 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/filter_manager.rb +231 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/flat_map.rb +20 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/base_formatter.rb +70 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/base_text_formatter.rb +77 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/bisect_formatter.rb +68 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/bisect_progress_formatter.rb +144 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/console_codes.rb +65 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/exception_presenter.rb +482 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/helpers.rb +109 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/html_formatter.rb +151 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/html_printer.rb +414 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/html_snippet_extractor.rb +116 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/json_formatter.rb +96 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/profile_formatter.rb +68 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/progress_formatter.rb +28 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/protocol.rb +181 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/snippet_extractor.rb +136 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters.rb +255 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb +638 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/memoized_helpers.rb +532 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/metadata.rb +498 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/metadata_filter.rb +231 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/notifications.rb +499 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/option_parser.rb +319 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/ordering.rb +158 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/pending.rb +165 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/profiler.rb +32 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/project_initializer/.rspec +2 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/project_initializer/spec/spec_helper.rb +96 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/project_initializer.rb +48 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/rake_task.rb +167 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/reporter.rb +236 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/ruby_project.rb +53 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/runner.rb +183 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/sandbox.rb +37 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/set.rb +49 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/shared_context.rb +55 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/shared_example_group.rb +212 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/shell_escape.rb +49 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/location.rb +13 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/node.rb +93 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/syntax_highlighter.rb +71 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/token.rb +86 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source.rb +76 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/version.rb +9 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/warnings.rb +40 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/world.rb +213 -0
- data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core.rb +181 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/.document +5 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/.yardopts +6 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/Changelog.md +979 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/LICENSE.md +25 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/README.md +303 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/configuration.rb +164 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb +113 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb +31 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb +194 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb +170 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/minitest_integration.rb +31 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/syntax.rb +132 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/version.rb +8 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations.rb +81 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/all.rb +85 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/base_matcher.rb +181 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be.rb +285 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/change.rb +354 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/compound.rb +272 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/contain_exactly.rb +286 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/cover.rb +24 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/eq.rb +40 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/eql.rb +34 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/equal.rb +81 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/exist.rb +86 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/has.rb +103 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/include.rb +130 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/match.rb +106 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/operators.rb +128 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/output.rb +200 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/raise_error.rb +228 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/respond_to.rb +90 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/satisfy.rb +37 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/yield.rb +419 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in.rb +52 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/composable.rb +185 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/dsl.rb +453 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/english_phrasing.rb +42 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/fail_matchers.rb +42 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/generated_descriptions.rb +42 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/matcher_protocol.rb +99 -0
- data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers.rb +1037 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/.document +5 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/.yardopts +6 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/Changelog.md +991 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/LICENSE.md +25 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/README.md +445 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/chain.rb +110 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/proxy.rb +116 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/recorder.rb +268 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/stub_chain.rb +46 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance.rb +11 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/argument_list_matcher.rb +100 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/argument_matchers.rb +320 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/configuration.rb +205 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/error_generator.rb +367 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/example_methods.rb +422 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/instance_method_stasher.rb +135 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/marshal_extension.rb +41 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/have_received.rb +128 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive.rb +130 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive_message_chain.rb +80 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive_messages.rb +75 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/message_chain.rb +87 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/message_expectation.rb +717 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/method_double.rb +287 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/method_reference.rb +192 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/mutate_const.rb +335 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/object_reference.rb +149 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/order_group.rb +81 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/proxy.rb +484 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/space.rb +238 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/standalone.rb +3 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/syntax.rb +325 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/targets.rb +97 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/test_double.rb +170 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/verifying_double.rb +129 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/verifying_proxy.rb +213 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/version.rb +9 -0
- data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks.rb +126 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/Changelog.md +151 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/LICENSE.md +23 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/README.md +40 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/caller_filter.rb +83 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/comparable_version.rb +46 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/differ.rb +215 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/directory_maker.rb +63 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/encoded_string.rb +155 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/fuzzy_matcher.rb +48 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/hunk_generator.rb +47 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/matcher_definition.rb +42 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/method_signature_verifier.rb +290 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/mutex.rb +73 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/object_formatter.rb +108 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/recursive_const_methods.rb +76 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/reentrant_mutex.rb +53 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/ruby_features.rb +149 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/formatting_support.rb +9 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/in_sub_process.rb +52 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/library_wide_checks.rb +152 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/shell_out.rb +71 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/stderr_splitter.rb +63 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/string_matcher.rb +46 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/with_isolated_directory.rb +9 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec.rb +81 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/version.rb +7 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/version_checker.rb +53 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/warnings.rb +39 -0
- data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support.rb +139 -0
- data/vendor/bundle/specifications/diff-lcs-1.2.5.gemspec +68 -0
- data/vendor/bundle/specifications/rake-10.5.0.gemspec +43 -0
- data/vendor/bundle/specifications/rspec-3.4.0.gemspec +42 -0
- data/vendor/bundle/specifications/rspec-core-3.4.4.gemspec +65 -0
- data/vendor/bundle/specifications/rspec-expectations-3.4.0.gemspec +50 -0
- data/vendor/bundle/specifications/rspec-mocks-3.4.1.gemspec +50 -0
- data/vendor/bundle/specifications/rspec-support-3.4.1.gemspec +41 -0
- metadata +532 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
RSpec::Support.require_rspec_mocks 'verifying_proxy'
|
|
2
|
+
|
|
3
|
+
module RSpec
|
|
4
|
+
module Mocks
|
|
5
|
+
# @private
|
|
6
|
+
module VerifyingDouble
|
|
7
|
+
def respond_to?(message, include_private=false)
|
|
8
|
+
return super unless null_object?
|
|
9
|
+
|
|
10
|
+
method_ref = __mock_proxy.method_reference[message]
|
|
11
|
+
|
|
12
|
+
case method_ref.visibility
|
|
13
|
+
when :public then true
|
|
14
|
+
when :private then include_private
|
|
15
|
+
when :protected then include_private || RUBY_VERSION.to_f < 2.0
|
|
16
|
+
else !method_ref.unimplemented?
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def method_missing(message, *args, &block)
|
|
21
|
+
# Null object conditional is an optimization. If not a null object,
|
|
22
|
+
# validity of method expectations will have been checked at definition
|
|
23
|
+
# time.
|
|
24
|
+
if null_object?
|
|
25
|
+
if @__sending_message == message
|
|
26
|
+
__mock_proxy.ensure_implemented(message)
|
|
27
|
+
else
|
|
28
|
+
__mock_proxy.ensure_publicly_implemented(message, self)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
__mock_proxy.validate_arguments!(message, args)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
super
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# @private
|
|
38
|
+
module SilentIO
|
|
39
|
+
def self.method_missing(*); end
|
|
40
|
+
def self.respond_to?(*)
|
|
41
|
+
true
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Redefining `__send__` causes ruby to issue a warning.
|
|
46
|
+
old, $stderr = $stderr, SilentIO
|
|
47
|
+
def __send__(name, *args, &block)
|
|
48
|
+
@__sending_message = name
|
|
49
|
+
super
|
|
50
|
+
ensure
|
|
51
|
+
@__sending_message = nil
|
|
52
|
+
end
|
|
53
|
+
$stderr = old
|
|
54
|
+
|
|
55
|
+
def send(name, *args, &block)
|
|
56
|
+
__send__(name, *args, &block)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def initialize(doubled_module, *args)
|
|
60
|
+
@doubled_module = doubled_module
|
|
61
|
+
|
|
62
|
+
possible_name = args.first
|
|
63
|
+
name = if String === possible_name || Symbol === possible_name
|
|
64
|
+
args.shift
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
super(name, *args)
|
|
68
|
+
@__sending_message = nil
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# A mock providing a custom proxy that can verify the validity of any
|
|
73
|
+
# method stubs or expectations against the public instance methods of the
|
|
74
|
+
# given class.
|
|
75
|
+
#
|
|
76
|
+
# @private
|
|
77
|
+
class InstanceVerifyingDouble
|
|
78
|
+
include TestDouble
|
|
79
|
+
include VerifyingDouble
|
|
80
|
+
|
|
81
|
+
def __build_mock_proxy(order_group)
|
|
82
|
+
VerifyingProxy.new(self, order_group,
|
|
83
|
+
@doubled_module,
|
|
84
|
+
InstanceMethodReference
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# An awkward module necessary because we cannot otherwise have
|
|
90
|
+
# ClassVerifyingDouble inherit from Module and still share these methods.
|
|
91
|
+
#
|
|
92
|
+
# @private
|
|
93
|
+
module ObjectVerifyingDoubleMethods
|
|
94
|
+
include TestDouble
|
|
95
|
+
include VerifyingDouble
|
|
96
|
+
|
|
97
|
+
def as_stubbed_const(options={})
|
|
98
|
+
ConstantMutator.stub(@doubled_module.const_to_replace, self, options)
|
|
99
|
+
self
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
private
|
|
103
|
+
|
|
104
|
+
def __build_mock_proxy(order_group)
|
|
105
|
+
VerifyingProxy.new(self, order_group,
|
|
106
|
+
@doubled_module,
|
|
107
|
+
ObjectMethodReference
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# Similar to an InstanceVerifyingDouble, except that it verifies against
|
|
113
|
+
# public methods of the given object.
|
|
114
|
+
#
|
|
115
|
+
# @private
|
|
116
|
+
class ObjectVerifyingDouble
|
|
117
|
+
include ObjectVerifyingDoubleMethods
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Effectively the same as an ObjectVerifyingDouble (since a class is a type
|
|
121
|
+
# of object), except with Module in the inheritance chain so that
|
|
122
|
+
# transferring nested constants to work.
|
|
123
|
+
#
|
|
124
|
+
# @private
|
|
125
|
+
class ClassVerifyingDouble < Module
|
|
126
|
+
include ObjectVerifyingDoubleMethods
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
RSpec::Support.require_rspec_support 'method_signature_verifier'
|
|
2
|
+
|
|
3
|
+
module RSpec
|
|
4
|
+
module Mocks
|
|
5
|
+
# A message expectation that knows about the real implementation of the
|
|
6
|
+
# message being expected, so that it can verify that any expectations
|
|
7
|
+
# have the valid arguments.
|
|
8
|
+
# @api private
|
|
9
|
+
class VerifyingMessageExpectation < MessageExpectation
|
|
10
|
+
# A level of indirection is used here rather than just passing in the
|
|
11
|
+
# method itself, since method look up is expensive and we only want to
|
|
12
|
+
# do it if actually needed.
|
|
13
|
+
#
|
|
14
|
+
# Conceptually the method reference makes more sense as a constructor
|
|
15
|
+
# argument since it should be immutable, but it is significantly more
|
|
16
|
+
# straight forward to build the object in pieces so for now it stays as
|
|
17
|
+
# an accessor.
|
|
18
|
+
attr_accessor :method_reference
|
|
19
|
+
|
|
20
|
+
def initialize(*args)
|
|
21
|
+
super
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# @private
|
|
25
|
+
def with(*args, &block)
|
|
26
|
+
super(*args, &block).tap do
|
|
27
|
+
validate_expected_arguments! do |signature|
|
|
28
|
+
example_call_site_args = [:an_arg] * signature.min_non_kw_args
|
|
29
|
+
example_call_site_args << :kw_args_hash if signature.required_kw_args.any?
|
|
30
|
+
@argument_list_matcher.resolve_expected_args_based_on(example_call_site_args)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
private
|
|
36
|
+
|
|
37
|
+
def validate_expected_arguments!
|
|
38
|
+
return if method_reference.nil?
|
|
39
|
+
|
|
40
|
+
method_reference.with_signature do |signature|
|
|
41
|
+
args = yield signature
|
|
42
|
+
verifier = Support::LooseSignatureVerifier.new(signature, args)
|
|
43
|
+
|
|
44
|
+
unless verifier.valid?
|
|
45
|
+
# Fail fast is required, otherwise the message expectation will fail
|
|
46
|
+
# as well ("expected method not called") and clobber this one.
|
|
47
|
+
@failed_fast = true
|
|
48
|
+
@error_generator.raise_invalid_arguments_error(verifier)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
RSpec::Support.require_rspec_mocks 'verifying_message_expectation'
|
|
2
|
+
RSpec::Support.require_rspec_mocks 'method_reference'
|
|
3
|
+
|
|
4
|
+
module RSpec
|
|
5
|
+
module Mocks
|
|
6
|
+
# @private
|
|
7
|
+
class CallbackInvocationStrategy
|
|
8
|
+
def call(doubled_module)
|
|
9
|
+
RSpec::Mocks.configuration.verifying_double_callbacks.each do |block|
|
|
10
|
+
block.call doubled_module
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @private
|
|
16
|
+
class NoCallbackInvocationStrategy
|
|
17
|
+
def call(_doubled_module)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @private
|
|
22
|
+
module VerifyingProxyMethods
|
|
23
|
+
def add_stub(method_name, opts={}, &implementation)
|
|
24
|
+
ensure_implemented(method_name)
|
|
25
|
+
super
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def add_simple_stub(method_name, *args)
|
|
29
|
+
ensure_implemented(method_name)
|
|
30
|
+
super
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def add_message_expectation(method_name, opts={}, &block)
|
|
34
|
+
ensure_implemented(method_name)
|
|
35
|
+
super
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def ensure_implemented(method_name)
|
|
39
|
+
return unless method_reference[method_name].unimplemented?
|
|
40
|
+
|
|
41
|
+
@error_generator.raise_unimplemented_error(
|
|
42
|
+
@doubled_module,
|
|
43
|
+
method_name,
|
|
44
|
+
@object
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def ensure_publicly_implemented(method_name, _object)
|
|
49
|
+
ensure_implemented(method_name)
|
|
50
|
+
visibility = method_reference[method_name].visibility
|
|
51
|
+
|
|
52
|
+
return if visibility == :public
|
|
53
|
+
@error_generator.raise_non_public_error(method_name, visibility)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# A verifying proxy mostly acts like a normal proxy, except that it
|
|
58
|
+
# contains extra logic to try and determine the validity of any expectation
|
|
59
|
+
# set on it. This includes whether or not methods have been defined and the
|
|
60
|
+
# validatiy of arguments on method calls.
|
|
61
|
+
#
|
|
62
|
+
# In all other ways this behaves like a normal proxy. It only adds the
|
|
63
|
+
# verification behaviour to specific methods then delegates to the parent
|
|
64
|
+
# implementation.
|
|
65
|
+
#
|
|
66
|
+
# These checks are only activated if the doubled class has already been
|
|
67
|
+
# loaded, otherwise they are disabled. This allows for testing in
|
|
68
|
+
# isolation.
|
|
69
|
+
#
|
|
70
|
+
# @private
|
|
71
|
+
class VerifyingProxy < TestDoubleProxy
|
|
72
|
+
include VerifyingProxyMethods
|
|
73
|
+
|
|
74
|
+
def initialize(object, order_group, doubled_module, method_reference_class)
|
|
75
|
+
super(object, order_group)
|
|
76
|
+
@object = object
|
|
77
|
+
@doubled_module = doubled_module
|
|
78
|
+
@method_reference_class = method_reference_class
|
|
79
|
+
|
|
80
|
+
# A custom method double is required to pass through a way to lookup
|
|
81
|
+
# methods to determine their parameters. This is only relevant if the doubled
|
|
82
|
+
# class is loaded.
|
|
83
|
+
@method_doubles = Hash.new do |h, k|
|
|
84
|
+
h[k] = VerifyingMethodDouble.new(@object, k, self, method_reference[k])
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def method_reference
|
|
89
|
+
@method_reference ||= Hash.new do |h, k|
|
|
90
|
+
h[k] = @method_reference_class.for(@doubled_module, k)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def visibility_for(method_name)
|
|
95
|
+
method_reference[method_name].visibility
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def validate_arguments!(method_name, args)
|
|
99
|
+
@method_doubles[method_name].validate_arguments!(args)
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# @private
|
|
104
|
+
DEFAULT_CALLBACK_INVOCATION_STRATEGY = CallbackInvocationStrategy.new
|
|
105
|
+
|
|
106
|
+
# @private
|
|
107
|
+
class VerifyingPartialDoubleProxy < PartialDoubleProxy
|
|
108
|
+
include VerifyingProxyMethods
|
|
109
|
+
|
|
110
|
+
def initialize(object, expectation_ordering, optional_callback_invocation_strategy=DEFAULT_CALLBACK_INVOCATION_STRATEGY)
|
|
111
|
+
super(object, expectation_ordering)
|
|
112
|
+
@doubled_module = DirectObjectReference.new(object)
|
|
113
|
+
|
|
114
|
+
# A custom method double is required to pass through a way to lookup
|
|
115
|
+
# methods to determine their parameters.
|
|
116
|
+
@method_doubles = Hash.new do |h, k|
|
|
117
|
+
h[k] = VerifyingExistingMethodDouble.for(object, k, self)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
optional_callback_invocation_strategy.call(@doubled_module)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def method_reference
|
|
124
|
+
@method_doubles
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# @private
|
|
129
|
+
class VerifyingPartialClassDoubleProxy < VerifyingPartialDoubleProxy
|
|
130
|
+
include PartialClassDoubleProxyMethods
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# @private
|
|
134
|
+
class VerifyingMethodDouble < MethodDouble
|
|
135
|
+
def initialize(object, method_name, proxy, method_reference)
|
|
136
|
+
super(object, method_name, proxy)
|
|
137
|
+
@method_reference = method_reference
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def message_expectation_class
|
|
141
|
+
VerifyingMessageExpectation
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def add_expectation(*args, &block)
|
|
145
|
+
# explict params necessary for 1.8.7 see #626
|
|
146
|
+
super(*args, &block).tap { |x| x.method_reference = @method_reference }
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def add_stub(*args, &block)
|
|
150
|
+
# explict params necessary for 1.8.7 see #626
|
|
151
|
+
super(*args, &block).tap { |x| x.method_reference = @method_reference }
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def proxy_method_invoked(obj, *args, &block)
|
|
155
|
+
validate_arguments!(args)
|
|
156
|
+
super
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
def validate_arguments!(actual_args)
|
|
160
|
+
@method_reference.with_signature do |signature|
|
|
161
|
+
verifier = Support::StrictSignatureVerifier.new(signature, actual_args)
|
|
162
|
+
raise ArgumentError, verifier.error_message unless verifier.valid?
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# A VerifyingMethodDouble fetches the method to verify against from the
|
|
168
|
+
# original object, using a MethodReference. This works for pure doubles,
|
|
169
|
+
# but when the original object is itself the one being modified we need to
|
|
170
|
+
# collapse the reference and the method double into a single object so that
|
|
171
|
+
# we can access the original pristine method definition.
|
|
172
|
+
#
|
|
173
|
+
# @private
|
|
174
|
+
class VerifyingExistingMethodDouble < VerifyingMethodDouble
|
|
175
|
+
def initialize(object, method_name, proxy)
|
|
176
|
+
super(object, method_name, proxy, self)
|
|
177
|
+
|
|
178
|
+
@valid_method = object.respond_to?(method_name, true)
|
|
179
|
+
|
|
180
|
+
# Trigger an eager find of the original method since if we find it any
|
|
181
|
+
# later we end up getting a stubbed method with incorrect arity.
|
|
182
|
+
save_original_implementation_callable!
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
def with_signature
|
|
186
|
+
yield Support::MethodSignature.new(original_implementation_callable)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
def unimplemented?
|
|
190
|
+
!@valid_method
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
def self.for(object, method_name, proxy)
|
|
194
|
+
if ClassNewMethodReference.applies_to?(method_name) { object }
|
|
195
|
+
VerifyingExistingClassNewMethodDouble
|
|
196
|
+
else
|
|
197
|
+
self
|
|
198
|
+
end.new(object, method_name, proxy)
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# Used in place of a `VerifyingExistingMethodDouble` for the specific case
|
|
203
|
+
# of mocking or stubbing a `new` method on a class. In this case, we substitute
|
|
204
|
+
# the method signature from `#initialize` since new's signature is just `*args`.
|
|
205
|
+
#
|
|
206
|
+
# @private
|
|
207
|
+
class VerifyingExistingClassNewMethodDouble < VerifyingExistingMethodDouble
|
|
208
|
+
def with_signature
|
|
209
|
+
yield Support::MethodSignature.new(object.instance_method(:initialize))
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
end
|
|
@@ -0,0 +1,126 @@
|
|
|
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 'ruby_features'
|
|
5
|
+
|
|
6
|
+
RSpec::Support.define_optimized_require_for_rspec(:mocks) { |f| require_relative f }
|
|
7
|
+
|
|
8
|
+
%w[
|
|
9
|
+
instance_method_stasher
|
|
10
|
+
method_double
|
|
11
|
+
argument_matchers
|
|
12
|
+
example_methods
|
|
13
|
+
proxy
|
|
14
|
+
test_double
|
|
15
|
+
argument_list_matcher
|
|
16
|
+
message_expectation
|
|
17
|
+
order_group
|
|
18
|
+
error_generator
|
|
19
|
+
space
|
|
20
|
+
mutate_const
|
|
21
|
+
targets
|
|
22
|
+
syntax
|
|
23
|
+
configuration
|
|
24
|
+
verifying_double
|
|
25
|
+
version
|
|
26
|
+
].each { |name| RSpec::Support.require_rspec_mocks name }
|
|
27
|
+
|
|
28
|
+
# Share the top-level RSpec namespace, because we are a core supported
|
|
29
|
+
# extension.
|
|
30
|
+
module RSpec
|
|
31
|
+
# Contains top-level utility methods. While this contains a few
|
|
32
|
+
# public methods, these are not generally meant to be called from
|
|
33
|
+
# a test or example. They exist primarily for integration with
|
|
34
|
+
# test frameworks (such as rspec-core).
|
|
35
|
+
module Mocks
|
|
36
|
+
# Performs per-test/example setup. This should be called before
|
|
37
|
+
# an test or example begins.
|
|
38
|
+
def self.setup
|
|
39
|
+
@space_stack << (@space = space.new_scope)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Verifies any message expectations that were set during the
|
|
43
|
+
# test or example. This should be called at the end of an example.
|
|
44
|
+
def self.verify
|
|
45
|
+
space.verify_all
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Cleans up all test double state (including any methods that were
|
|
49
|
+
# redefined on partial doubles). This _must_ be called after
|
|
50
|
+
# each example, even if an error was raised during the example.
|
|
51
|
+
def self.teardown
|
|
52
|
+
space.reset_all
|
|
53
|
+
@space_stack.pop
|
|
54
|
+
@space = @space_stack.last || @root_space
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Adds an allowance (stub) on `subject`
|
|
58
|
+
#
|
|
59
|
+
# @param subject the subject to which the message will be added
|
|
60
|
+
# @param message a symbol, representing the message that will be
|
|
61
|
+
# added.
|
|
62
|
+
# @param opts a hash of options, :expected_from is used to set the
|
|
63
|
+
# original call site
|
|
64
|
+
# @yield an optional implementation for the allowance
|
|
65
|
+
#
|
|
66
|
+
# @example Defines the implementation of `foo` on `bar`, using the passed block
|
|
67
|
+
# x = 0
|
|
68
|
+
# RSpec::Mocks.allow_message(bar, :foo) { x += 1 }
|
|
69
|
+
def self.allow_message(subject, message, opts={}, &block)
|
|
70
|
+
space.proxy_for(subject).add_stub(message, opts, &block)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Sets a message expectation on `subject`.
|
|
74
|
+
# @param subject the subject on which the message will be expected
|
|
75
|
+
# @param message a symbol, representing the message that will be
|
|
76
|
+
# expected.
|
|
77
|
+
# @param opts a hash of options, :expected_from is used to set the
|
|
78
|
+
# original call site
|
|
79
|
+
# @yield an optional implementation for the expectation
|
|
80
|
+
#
|
|
81
|
+
# @example Expect the message `foo` to receive `bar`, then call it
|
|
82
|
+
# RSpec::Mocks.expect_message(bar, :foo)
|
|
83
|
+
# bar.foo
|
|
84
|
+
def self.expect_message(subject, message, opts={}, &block)
|
|
85
|
+
space.proxy_for(subject).add_message_expectation(message, opts, &block)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Call the passed block and verify mocks after it has executed. This allows
|
|
89
|
+
# mock usage in arbitrary places, such as a `before(:all)` hook.
|
|
90
|
+
def self.with_temporary_scope
|
|
91
|
+
setup
|
|
92
|
+
|
|
93
|
+
begin
|
|
94
|
+
yield
|
|
95
|
+
verify
|
|
96
|
+
ensure
|
|
97
|
+
teardown
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
class << self
|
|
102
|
+
# @private
|
|
103
|
+
attr_reader :space
|
|
104
|
+
end
|
|
105
|
+
@space_stack = []
|
|
106
|
+
@root_space = @space = RSpec::Mocks::RootSpace.new
|
|
107
|
+
|
|
108
|
+
# @private
|
|
109
|
+
IGNORED_BACKTRACE_LINE = 'this backtrace line is ignored'
|
|
110
|
+
|
|
111
|
+
# To speed up boot time a bit, delay loading optional or rarely
|
|
112
|
+
# used features until their first use.
|
|
113
|
+
autoload :AnyInstance, "rspec/mocks/any_instance"
|
|
114
|
+
autoload :ExpectChain, "rspec/mocks/message_chain"
|
|
115
|
+
autoload :StubChain, "rspec/mocks/message_chain"
|
|
116
|
+
autoload :MarshalExtension, "rspec/mocks/marshal_extension"
|
|
117
|
+
|
|
118
|
+
# Namespace for mock-related matchers.
|
|
119
|
+
module Matchers
|
|
120
|
+
autoload :HaveReceived, "rspec/mocks/matchers/have_received"
|
|
121
|
+
autoload :Receive, "rspec/mocks/matchers/receive"
|
|
122
|
+
autoload :ReceiveMessageChain, "rspec/mocks/matchers/receive_message_chain"
|
|
123
|
+
autoload :ReceiveMessages, "rspec/mocks/matchers/receive_messages"
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
### 3.4.1 / 2015-11-20
|
|
2
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.4.0...v3.4.1)
|
|
3
|
+
|
|
4
|
+
Bug Fixes:
|
|
5
|
+
|
|
6
|
+
* Fix `RSpec::Support::RubyFeature.ripper_supported?` so it returns
|
|
7
|
+
`false` on Rubinius since the Rubinius team has no plans to support
|
|
8
|
+
it. This prevents rspec-core from trying to load and use ripper to
|
|
9
|
+
extract failure snippets. (Aaron Stone, #251)
|
|
10
|
+
|
|
11
|
+
### 3.4.0 / 2015-11-11
|
|
12
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.3.0...v3.4.0)
|
|
13
|
+
|
|
14
|
+
Enhancements:
|
|
15
|
+
|
|
16
|
+
* Improve formatting of `Delegator` based objects (e.g. `SimpleDelgator`) in
|
|
17
|
+
failure messages and diffs. (Andrew Horner, #215)
|
|
18
|
+
* Add `ComparableVersion`. (Yuji Nakayama, #245)
|
|
19
|
+
* Add `Ripper` support detection. (Yuji Nakayama, #245)
|
|
20
|
+
|
|
21
|
+
Bug Fixes:
|
|
22
|
+
|
|
23
|
+
* Work around bug in JRuby that reports that `attr_writer` methods
|
|
24
|
+
have no parameters, causing RSpec's verifying doubles to wrongly
|
|
25
|
+
fail when mocking or stubbing a writer method on JRuby. (Myron Marston, #225)
|
|
26
|
+
|
|
27
|
+
### 3.3.0 / 2015-06-12
|
|
28
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.2...v3.3.0)
|
|
29
|
+
|
|
30
|
+
Enhancements:
|
|
31
|
+
|
|
32
|
+
* Improve formatting of arrays and hashes in failure messages so they
|
|
33
|
+
use our custom formatting of matchers, time objects, etc.
|
|
34
|
+
(Myron Marston, Nicholas Chmielewski, #205)
|
|
35
|
+
* Use improved formatting for diffs as well. (Nicholas Chmielewski, #205)
|
|
36
|
+
|
|
37
|
+
Bug Fixes:
|
|
38
|
+
|
|
39
|
+
* Fix `FuzzyMatcher` so that it checks `expected == actual` rather than
|
|
40
|
+
`actual == expected`, which avoids errors in situations where the
|
|
41
|
+
`actual` object's `==` is improperly implemented to assume that only
|
|
42
|
+
objects of the same type will be given. This allows rspec-mocks'
|
|
43
|
+
`anything` to match against objects with buggy `==` definitions.
|
|
44
|
+
(Myron Marston, #193)
|
|
45
|
+
|
|
46
|
+
### 3.2.2 / 2015-02-23
|
|
47
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.1...v3.2.2)
|
|
48
|
+
|
|
49
|
+
Bug Fixes:
|
|
50
|
+
|
|
51
|
+
* Fix an encoding issue with `EncodedString#split` when encountering an
|
|
52
|
+
invalid byte string. (Benjamin Fleischer, #1760)
|
|
53
|
+
|
|
54
|
+
### 3.2.1 / 2015-02-04
|
|
55
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.0...v3.2.1)
|
|
56
|
+
|
|
57
|
+
Bug Fixes:
|
|
58
|
+
|
|
59
|
+
* Fix `RSpec::CallerFilter` to work on Rubinius 2.2.
|
|
60
|
+
(Myron Marston, #169)
|
|
61
|
+
|
|
62
|
+
### 3.2.0 / 2015-02-03
|
|
63
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.2...v3.2.0)
|
|
64
|
+
|
|
65
|
+
Enhancements:
|
|
66
|
+
|
|
67
|
+
* Add extra Ruby type detection. (Jon Rowe, #133)
|
|
68
|
+
* Make differ instance re-usable. (Alexey Fedorov, #160)
|
|
69
|
+
|
|
70
|
+
Bug Fixes:
|
|
71
|
+
|
|
72
|
+
* Do not consider `[]` and `{}` to match when performing fuzzy matching.
|
|
73
|
+
(Myron Marston, #157)
|
|
74
|
+
|
|
75
|
+
### 3.1.2 / 2014-10-08
|
|
76
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.1...v3.1.2)
|
|
77
|
+
|
|
78
|
+
Bug Fixes:
|
|
79
|
+
|
|
80
|
+
* Fix method signature to not blow up with a `NoMethodError` on 1.8.7 when
|
|
81
|
+
verifying against an RSpec matcher. (Myron Marston, #116)
|
|
82
|
+
|
|
83
|
+
### 3.1.1 / 2014-09-26
|
|
84
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.0...v3.1.1)
|
|
85
|
+
|
|
86
|
+
Bug Fixes:
|
|
87
|
+
|
|
88
|
+
* Fix `RSpec::Support::DirectoryMaker` (used by `rspec --init` and
|
|
89
|
+
`rails generate rspec:install`) so that it detects absolute paths
|
|
90
|
+
on Windows properly. (Scott Archer, #107, #108, #109) (Jon Rowe, #110)
|
|
91
|
+
|
|
92
|
+
### 3.1.0 / 2014-09-04
|
|
93
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.4...v3.1.0)
|
|
94
|
+
|
|
95
|
+
Bug Fixes:
|
|
96
|
+
|
|
97
|
+
* Fix `FuzzyMatcher` so that it does not wrongly match a struct against
|
|
98
|
+
an array. (Myron Marston, #97)
|
|
99
|
+
* Prevent infinitely recursing `#flatten` methods from causing the differ
|
|
100
|
+
to hang. (Jon Rowe, #101)
|
|
101
|
+
|
|
102
|
+
### 3.0.4 / 2014-08-14
|
|
103
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.3...v3.0.4)
|
|
104
|
+
|
|
105
|
+
Bug Fixes:
|
|
106
|
+
|
|
107
|
+
* Fix `FuzzyMatcher` so that it does not silence `ArgumentError` raised
|
|
108
|
+
from broken implementations of `==`. (Myron Marston, #94)
|
|
109
|
+
|
|
110
|
+
### 3.0.3 / 2014-07-21
|
|
111
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.2...v3.0.3)
|
|
112
|
+
|
|
113
|
+
Bug Fixes:
|
|
114
|
+
|
|
115
|
+
* Fix regression in `Support#method_handle_for` where proxy objects
|
|
116
|
+
with method delegated would wrongly not return a method handle.
|
|
117
|
+
(Jon Rowe, #90)
|
|
118
|
+
* Properly detect Module#prepend support in Ruby 2.1+ (Ben Langfeld, #91)
|
|
119
|
+
* Fix `rspec/support/warnings.rb` so it can be loaded and used in
|
|
120
|
+
isolation. (Myron Marston, #93)
|
|
121
|
+
|
|
122
|
+
### 3.0.2 / 2014-06-20
|
|
123
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.1...v3.0.2)
|
|
124
|
+
|
|
125
|
+
* Revert `BlockSignature` change from 3.0.1 because of a ruby bug that
|
|
126
|
+
caused it to change the block's behavior (https://bugs.ruby-lang.org/issues/9967).
|
|
127
|
+
(Myron Marston, rspec-mocks#721)
|
|
128
|
+
|
|
129
|
+
### 3.0.1 / 2014-06-19
|
|
130
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0...v3.0.1)
|
|
131
|
+
|
|
132
|
+
* Fix `BlockSignature` so that it correctly differentiates between
|
|
133
|
+
required and optional block args. (Myron Marston, rspec-mocks#714)
|
|
134
|
+
|
|
135
|
+
### 3.0.0 / 2014-06-01
|
|
136
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.rc1...v3.0.0)
|
|
137
|
+
|
|
138
|
+
### 3.0.0.rc1 / 2014-05-18
|
|
139
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.beta2...v3.0.0.rc1)
|
|
140
|
+
|
|
141
|
+
### 3.0.0.beta2 / 2014-02-17
|
|
142
|
+
[Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.beta1...v3.0.0.beta2)
|
|
143
|
+
|
|
144
|
+
Bug Fixes:
|
|
145
|
+
|
|
146
|
+
* Issue message when :replacement is passed to `RSpec.warn_with`. (Jon Rowe)
|
|
147
|
+
|
|
148
|
+
### 3.0.0.beta1 / 2013-11-07
|
|
149
|
+
[Full Changelog](https://github.com/rspec/rspec-support/compare/0dc12d1bdbbacc757a9989f8c09cd08ef3a4837e...v3.0.0.beta1)
|
|
150
|
+
|
|
151
|
+
Initial release.
|