sublimetheme 1.0.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/.rspec +2 -0
- data/.travis.yml +4 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +230 -0
- data/Rakefile +8 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/sublimetheme.rb +6832 -0
- data/lib/sublimetheme/version.rb +3 -0
- data/path/bin/htmldiff +25 -0
- data/path/bin/htmldiff.bat +6 -0
- data/path/bin/ldiff +25 -0
- data/path/bin/ldiff.bat +6 -0
- data/path/bin/rspec +23 -0
- data/path/bin/rspec.bat +6 -0
- data/path/cache/diff-lcs-1.2.5.gem +0 -0
- data/path/cache/rspec-3.3.0.gem +0 -0
- data/path/cache/rspec-core-3.3.2.gem +0 -0
- data/path/cache/rspec-expectations-3.3.1.gem +0 -0
- data/path/cache/rspec-mocks-3.3.2.gem +0 -0
- data/path/cache/rspec-support-3.3.0.gem +0 -0
- data/path/gems/diff-lcs-1.2.5/.autotest +3 -0
- data/path/gems/diff-lcs-1.2.5/.gemtest +0 -0
- data/path/gems/diff-lcs-1.2.5/.hoerc +2 -0
- data/path/gems/diff-lcs-1.2.5/.rspec +2 -0
- data/path/gems/diff-lcs-1.2.5/.travis.yml +22 -0
- data/path/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
- data/path/gems/diff-lcs-1.2.5/Gemfile +20 -0
- data/path/gems/diff-lcs-1.2.5/History.rdoc +152 -0
- data/path/gems/diff-lcs-1.2.5/License.rdoc +39 -0
- data/path/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
- data/path/gems/diff-lcs-1.2.5/README.rdoc +85 -0
- data/path/gems/diff-lcs-1.2.5/Rakefile +41 -0
- data/path/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
- data/path/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
- data/path/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
- data/path/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
- data/path/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
- data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
- data/path/gems/diff-lcs-1.2.5/spec/change_spec.rb +65 -0
- data/path/gems/diff-lcs-1.2.5/spec/diff_spec.rb +47 -0
- data/path/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +72 -0
- data/path/gems/diff-lcs-1.2.5/spec/issues_spec.rb +24 -0
- data/path/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +54 -0
- data/path/gems/diff-lcs-1.2.5/spec/patch_spec.rb +414 -0
- data/path/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +214 -0
- data/path/gems/diff-lcs-1.2.5/spec/spec_helper.rb +290 -0
- data/path/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +310 -0
- data/path/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +139 -0
- data/path/gems/rspec-3.3.0/License.txt +24 -0
- data/path/gems/rspec-3.3.0/README.md +34 -0
- data/path/gems/rspec-3.3.0/lib/rspec.rb +3 -0
- data/path/gems/rspec-3.3.0/lib/rspec/version.rb +5 -0
- data/path/gems/rspec-core-3.3.2/.document +5 -0
- data/path/gems/rspec-core-3.3.2/.yardopts +8 -0
- data/path/gems/rspec-core-3.3.2/Changelog.md +1856 -0
- data/path/gems/rspec-core-3.3.2/License.txt +25 -0
- data/path/gems/rspec-core-3.3.2/README.md +369 -0
- data/path/gems/rspec-core-3.3.2/exe/rspec +4 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/autorun.rb +3 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core.rb +181 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/backtrace_formatter.rb +64 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/coordinator.rb +66 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/example_minimizer.rb +130 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/runner.rb +139 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/server.rb +61 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/subset_enumerator.rb +39 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb +1807 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/configuration_options.rb +191 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/drb.rb +111 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/dsl.rb +96 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/example.rb +573 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb +796 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/example_status_persister.rb +235 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/filter_manager.rb +231 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/flat_map.rb +20 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters.rb +254 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/base_formatter.rb +70 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/base_text_formatter.rb +77 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/bisect_formatter.rb +68 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +115 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/console_codes.rb +65 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/exception_presenter.rb +393 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/helpers.rb +109 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/html_formatter.rb +151 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/html_printer.rb +415 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/json_formatter.rb +96 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/profile_formatter.rb +68 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/progress_formatter.rb +28 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/protocol.rb +172 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/snippet_extractor.rb +116 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/hooks.rb +638 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/memoized_helpers.rb +532 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/metadata.rb +490 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/metadata_filter.rb +235 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/null.rb +14 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/rr.rb +31 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/mutex.rb +63 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/notifications.rb +498 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/option_parser.rb +301 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/ordering.rb +158 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/pending.rb +165 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/profiler.rb +32 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer.rb +48 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer/.rspec +2 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +96 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/rake_task.rb +158 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/reentrant_mutex.rb +52 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/reporter.rb +220 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/ruby_project.rb +53 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb +179 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/sandbox.rb +37 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/set.rb +49 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/shared_context.rb +55 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/shared_example_group.rb +210 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/shell_escape.rb +49 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/version.rb +9 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/warnings.rb +40 -0
- data/path/gems/rspec-core-3.3.2/lib/rspec/core/world.rb +178 -0
- data/path/gems/rspec-expectations-3.3.1/.document +5 -0
- data/path/gems/rspec-expectations-3.3.1/.yardopts +6 -0
- data/path/gems/rspec-expectations-3.3.1/Changelog.md +953 -0
- data/path/gems/rspec-expectations-3.3.1/License.txt +24 -0
- data/path/gems/rspec-expectations-3.3.1/README.md +289 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations.rb +81 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/configuration.rb +164 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/expectation_target.rb +113 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/fail_with.rb +31 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/failure_aggregator.rb +194 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/handler.rb +170 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/minitest_integration.rb +31 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/syntax.rb +132 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/version.rb +8 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers.rb +1009 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/aliased_matcher.rb +116 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in.rb +52 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/all.rb +85 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/base_matcher.rb +181 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be.rb +285 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_between.rb +77 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_within.rb +72 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/change.rb +337 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/compound.rb +293 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/contain_exactly.rb +253 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/cover.rb +24 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/eq.rb +40 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/eql.rb +34 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/equal.rb +81 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/exist.rb +86 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/has.rb +103 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/include.rb +130 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/match.rb +37 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/operators.rb +128 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/output.rb +200 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/raise_error.rb +216 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/respond_to.rb +90 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/satisfy.rb +37 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/yield.rb +418 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/composable.rb +184 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/dsl.rb +453 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/english_phrasing.rb +42 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/fail_matchers.rb +42 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/generated_descriptions.rb +42 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/matcher_delegator.rb +35 -0
- data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/matcher_protocol.rb +99 -0
- data/path/gems/rspec-mocks-3.3.2/.document +5 -0
- data/path/gems/rspec-mocks-3.3.2/.yardopts +6 -0
- data/path/gems/rspec-mocks-3.3.2/Changelog.md +965 -0
- data/path/gems/rspec-mocks-3.3.2/License.txt +24 -0
- data/path/gems/rspec-mocks-3.3.2/README.md +430 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks.rb +126 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance.rb +11 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/chain.rb +110 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/proxy.rb +116 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/recorder.rb +264 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/stub_chain.rb +46 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/argument_list_matcher.rb +100 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/argument_matchers.rb +320 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/configuration.rb +188 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/error_generator.rb +362 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/example_methods.rb +421 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/instance_method_stasher.rb +135 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/marshal_extension.rb +41 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/have_received.rb +116 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive.rb +130 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive_message_chain.rb +80 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive_messages.rb +75 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/message_chain.rb +87 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/message_expectation.rb +717 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/method_double.rb +287 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/method_reference.rb +192 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/mutate_const.rb +335 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/mutex.rb +73 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/object_reference.rb +149 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/order_group.rb +81 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/proxy.rb +439 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/reentrant_mutex.rb +53 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/space.rb +238 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/standalone.rb +3 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/syntax.rb +325 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/targets.rb +97 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/test_double.rb +170 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_double.rb +129 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_message_expecation.rb +54 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_proxy.rb +213 -0
- data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/version.rb +9 -0
- data/path/gems/rspec-support-3.3.0/Changelog.md +125 -0
- data/path/gems/rspec-support-3.3.0/LICENSE.txt +22 -0
- data/path/gems/rspec-support-3.3.0/README.md +26 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support.rb +111 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/caller_filter.rb +83 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/differ.rb +215 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/directory_maker.rb +63 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/encoded_string.rb +155 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/hunk_generator.rb +47 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/matcher_definition.rb +42 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/method_signature_verifier.rb +273 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/object_formatter.rb +93 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/recursive_const_methods.rb +76 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/ruby_features.rb +118 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec.rb +81 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/formatting_support.rb +9 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/in_sub_process.rb +52 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/library_wide_checks.rb +145 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/shell_out.rb +71 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/string_matcher.rb +46 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/with_isolated_directory.rb +9 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/version.rb +7 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/version_checker.rb +53 -0
- data/path/gems/rspec-support-3.3.0/lib/rspec/support/warnings.rb +39 -0
- data/path/specifications/diff-lcs-1.2.5.gemspec +68 -0
- data/path/specifications/rspec-3.3.0.gemspec +42 -0
- data/path/specifications/rspec-core-3.3.2.gemspec +68 -0
- data/path/specifications/rspec-expectations-3.3.1.gemspec +50 -0
- data/path/specifications/rspec-mocks-3.3.2.gemspec +53 -0
- data/path/specifications/rspec-support-3.3.0.gemspec +38 -0
- data/sublimetheme.gemspec +32 -0
- metadata +363 -0
@@ -0,0 +1,77 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Matchers
|
3
|
+
module BuiltIn
|
4
|
+
# @api private
|
5
|
+
# Provides the implementation for `be_between`.
|
6
|
+
# Not intended to be instantiated directly.
|
7
|
+
class BeBetween < BaseMatcher
|
8
|
+
def initialize(min, max)
|
9
|
+
@min, @max = min, max
|
10
|
+
inclusive
|
11
|
+
end
|
12
|
+
|
13
|
+
# @api public
|
14
|
+
# Makes the between comparison inclusive.
|
15
|
+
#
|
16
|
+
# @example
|
17
|
+
# expect(3).to be_between(2, 3).inclusive
|
18
|
+
#
|
19
|
+
# @note The matcher is inclusive by default; this simply provides
|
20
|
+
# a way to be more explicit about it.
|
21
|
+
def inclusive
|
22
|
+
@less_than_operator = :<=
|
23
|
+
@greater_than_operator = :>=
|
24
|
+
@mode = :inclusive
|
25
|
+
self
|
26
|
+
end
|
27
|
+
|
28
|
+
# @api public
|
29
|
+
# Makes the between comparison exclusive.
|
30
|
+
#
|
31
|
+
# @example
|
32
|
+
# expect(3).to be_between(2, 4).exclusive
|
33
|
+
def exclusive
|
34
|
+
@less_than_operator = :<
|
35
|
+
@greater_than_operator = :>
|
36
|
+
@mode = :exclusive
|
37
|
+
self
|
38
|
+
end
|
39
|
+
|
40
|
+
# @api private
|
41
|
+
# @return [Boolean]
|
42
|
+
def matches?(actual)
|
43
|
+
@actual = actual
|
44
|
+
comparable? && compare
|
45
|
+
rescue ArgumentError
|
46
|
+
false
|
47
|
+
end
|
48
|
+
|
49
|
+
# @api private
|
50
|
+
# @return [String]
|
51
|
+
def failure_message
|
52
|
+
"#{super}#{not_comparable_clause}"
|
53
|
+
end
|
54
|
+
|
55
|
+
# @api private
|
56
|
+
# @return [String]
|
57
|
+
def description
|
58
|
+
"be between #{description_of @min} and #{description_of @max} (#{@mode})"
|
59
|
+
end
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
def comparable?
|
64
|
+
@actual.respond_to?(@less_than_operator) && @actual.respond_to?(@greater_than_operator)
|
65
|
+
end
|
66
|
+
|
67
|
+
def not_comparable_clause
|
68
|
+
", but it does not respond to `#{@less_than_operator}` and `#{@greater_than_operator}`" unless comparable?
|
69
|
+
end
|
70
|
+
|
71
|
+
def compare
|
72
|
+
@actual.__send__(@greater_than_operator, @min) && @actual.__send__(@less_than_operator, @max)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Matchers
|
3
|
+
module BuiltIn
|
4
|
+
# @api private
|
5
|
+
# Provides the implementation for `be_an_instance_of`.
|
6
|
+
# Not intended to be instantiated directly.
|
7
|
+
class BeAnInstanceOf < BaseMatcher
|
8
|
+
# @api private
|
9
|
+
# @return [String]
|
10
|
+
def description
|
11
|
+
"be an instance of #{expected}"
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def match(expected, actual)
|
17
|
+
actual.instance_of? expected
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Matchers
|
3
|
+
module BuiltIn
|
4
|
+
# @api private
|
5
|
+
# Provides the implementation for `be_a_kind_of`.
|
6
|
+
# Not intended to be instantiated directly.
|
7
|
+
class BeAKindOf < BaseMatcher
|
8
|
+
private
|
9
|
+
|
10
|
+
def match(expected, actual)
|
11
|
+
actual.kind_of? expected
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Matchers
|
3
|
+
module BuiltIn
|
4
|
+
# @api private
|
5
|
+
# Provides the implementation for `be_within`.
|
6
|
+
# Not intended to be instantiated directly.
|
7
|
+
class BeWithin < BaseMatcher
|
8
|
+
def initialize(delta)
|
9
|
+
@delta = delta
|
10
|
+
end
|
11
|
+
|
12
|
+
# @api public
|
13
|
+
# Sets the expected value.
|
14
|
+
def of(expected)
|
15
|
+
@expected = expected
|
16
|
+
@tolerance = @delta
|
17
|
+
@unit = ''
|
18
|
+
self
|
19
|
+
end
|
20
|
+
|
21
|
+
# @api public
|
22
|
+
# Sets the expected value, and makes the matcher do
|
23
|
+
# a percent comparison.
|
24
|
+
def percent_of(expected)
|
25
|
+
@expected = expected
|
26
|
+
@tolerance = @delta * @expected.abs / 100.0
|
27
|
+
@unit = '%'
|
28
|
+
self
|
29
|
+
end
|
30
|
+
|
31
|
+
# @private
|
32
|
+
def matches?(actual)
|
33
|
+
@actual = actual
|
34
|
+
raise needs_expected unless defined? @expected
|
35
|
+
numeric? && (@actual - @expected).abs <= @tolerance
|
36
|
+
end
|
37
|
+
|
38
|
+
# @api private
|
39
|
+
# @return [String]
|
40
|
+
def failure_message
|
41
|
+
"expected #{actual_formatted} to #{description}#{not_numeric_clause}"
|
42
|
+
end
|
43
|
+
|
44
|
+
# @api private
|
45
|
+
# @return [String]
|
46
|
+
def failure_message_when_negated
|
47
|
+
"expected #{actual_formatted} not to #{description}"
|
48
|
+
end
|
49
|
+
|
50
|
+
# @api private
|
51
|
+
# @return [String]
|
52
|
+
def description
|
53
|
+
"be within #{@delta}#{@unit} of #{@expected}"
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def numeric?
|
59
|
+
@actual.respond_to?(:-)
|
60
|
+
end
|
61
|
+
|
62
|
+
def needs_expected
|
63
|
+
ArgumentError.new "You must set an expected value using #of: be_within(#{@delta}).of(expected_value)"
|
64
|
+
end
|
65
|
+
|
66
|
+
def not_numeric_clause
|
67
|
+
", but it could not be treated as a numeric value" unless numeric?
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,337 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Matchers
|
3
|
+
module BuiltIn
|
4
|
+
# @api private
|
5
|
+
# Provides the implementation for `change`.
|
6
|
+
# Not intended to be instantiated directly.
|
7
|
+
class Change < BaseMatcher
|
8
|
+
# @api public
|
9
|
+
# Specifies the delta of the expected change.
|
10
|
+
def by(expected_delta)
|
11
|
+
ChangeRelatively.new(@change_details, expected_delta, :by) do |actual_delta|
|
12
|
+
values_match?(expected_delta, actual_delta)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# @api public
|
17
|
+
# Specifies a minimum delta of the expected change.
|
18
|
+
def by_at_least(minimum)
|
19
|
+
ChangeRelatively.new(@change_details, minimum, :by_at_least) do |actual_delta|
|
20
|
+
actual_delta >= minimum
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# @api public
|
25
|
+
# Specifies a maximum delta of the expected change.
|
26
|
+
def by_at_most(maximum)
|
27
|
+
ChangeRelatively.new(@change_details, maximum, :by_at_most) do |actual_delta|
|
28
|
+
actual_delta <= maximum
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# @api public
|
33
|
+
# Specifies the new value you expect.
|
34
|
+
def to(value)
|
35
|
+
ChangeToValue.new(@change_details, value)
|
36
|
+
end
|
37
|
+
|
38
|
+
# @api public
|
39
|
+
# Specifies the original value.
|
40
|
+
def from(value)
|
41
|
+
ChangeFromValue.new(@change_details, value)
|
42
|
+
end
|
43
|
+
|
44
|
+
# @private
|
45
|
+
def matches?(event_proc)
|
46
|
+
@event_proc = event_proc
|
47
|
+
return false unless Proc === event_proc
|
48
|
+
raise_block_syntax_error if block_given?
|
49
|
+
@change_details.perform_change(event_proc)
|
50
|
+
@change_details.changed?
|
51
|
+
end
|
52
|
+
|
53
|
+
def does_not_match?(event_proc)
|
54
|
+
raise_block_syntax_error if block_given?
|
55
|
+
!matches?(event_proc) && Proc === event_proc
|
56
|
+
end
|
57
|
+
|
58
|
+
# @api private
|
59
|
+
# @return [String]
|
60
|
+
def failure_message
|
61
|
+
"expected #{@change_details.message} to have changed, but #{positive_failure_reason}"
|
62
|
+
end
|
63
|
+
|
64
|
+
# @api private
|
65
|
+
# @return [String]
|
66
|
+
def failure_message_when_negated
|
67
|
+
"expected #{@change_details.message} not to have changed, but #{negative_failure_reason}"
|
68
|
+
end
|
69
|
+
|
70
|
+
# @api private
|
71
|
+
# @return [String]
|
72
|
+
def description
|
73
|
+
"change #{@change_details.message}"
|
74
|
+
end
|
75
|
+
|
76
|
+
# @private
|
77
|
+
def supports_block_expectations?
|
78
|
+
true
|
79
|
+
end
|
80
|
+
|
81
|
+
private
|
82
|
+
|
83
|
+
def initialize(receiver=nil, message=nil, &block)
|
84
|
+
@change_details = ChangeDetails.new(receiver, message, &block)
|
85
|
+
end
|
86
|
+
|
87
|
+
def raise_block_syntax_error
|
88
|
+
raise SyntaxError, "The block passed to the `change` matcher must " \
|
89
|
+
"use `{ ... }` instead of do/end"
|
90
|
+
end
|
91
|
+
|
92
|
+
def positive_failure_reason
|
93
|
+
return "was not given a block" unless Proc === @event_proc
|
94
|
+
"is still #{description_of @change_details.actual_before}"
|
95
|
+
end
|
96
|
+
|
97
|
+
def negative_failure_reason
|
98
|
+
return "was not given a block" unless Proc === @event_proc
|
99
|
+
"did change from #{description_of @change_details.actual_before} to #{description_of @change_details.actual_after}"
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
# Used to specify a relative change.
|
104
|
+
# @api private
|
105
|
+
class ChangeRelatively < BaseMatcher
|
106
|
+
def initialize(change_details, expected_delta, relativity, &comparer)
|
107
|
+
@change_details = change_details
|
108
|
+
@expected_delta = expected_delta
|
109
|
+
@relativity = relativity
|
110
|
+
@comparer = comparer
|
111
|
+
end
|
112
|
+
|
113
|
+
# @private
|
114
|
+
def failure_message
|
115
|
+
"expected #{@change_details.message} to have changed #{@relativity.to_s.gsub("_", " ")} #{description_of @expected_delta}, but #{failure_reason}"
|
116
|
+
end
|
117
|
+
|
118
|
+
# @private
|
119
|
+
def matches?(event_proc)
|
120
|
+
@event_proc = event_proc
|
121
|
+
return false unless Proc === event_proc
|
122
|
+
@change_details.perform_change(event_proc)
|
123
|
+
@comparer.call(@change_details.actual_delta)
|
124
|
+
end
|
125
|
+
|
126
|
+
# @private
|
127
|
+
def does_not_match?(_event_proc)
|
128
|
+
raise NotImplementedError, "`expect { }.not_to change { }.#{@relativity}()` is not supported"
|
129
|
+
end
|
130
|
+
|
131
|
+
# @private
|
132
|
+
def description
|
133
|
+
"change #{@change_details.message} #{@relativity.to_s.gsub("_", " ")} #{description_of @expected_delta}"
|
134
|
+
end
|
135
|
+
|
136
|
+
# @private
|
137
|
+
def supports_block_expectations?
|
138
|
+
true
|
139
|
+
end
|
140
|
+
|
141
|
+
private
|
142
|
+
|
143
|
+
def failure_reason
|
144
|
+
return "was not given a block" unless Proc === @event_proc
|
145
|
+
"was changed by #{description_of @change_details.actual_delta}"
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
# @api private
|
150
|
+
# Base class for specifying a change from and/or to specific values.
|
151
|
+
class SpecificValuesChange < BaseMatcher
|
152
|
+
# @private
|
153
|
+
MATCH_ANYTHING = ::Object.ancestors.last
|
154
|
+
|
155
|
+
def initialize(change_details, from, to)
|
156
|
+
@change_details = change_details
|
157
|
+
@expected_before = from
|
158
|
+
@expected_after = to
|
159
|
+
end
|
160
|
+
|
161
|
+
# @private
|
162
|
+
def matches?(event_proc)
|
163
|
+
@event_proc = event_proc
|
164
|
+
return false unless Proc === event_proc
|
165
|
+
@change_details.perform_change(event_proc)
|
166
|
+
@change_details.changed? && matches_before? && matches_after?
|
167
|
+
end
|
168
|
+
|
169
|
+
# @private
|
170
|
+
def description
|
171
|
+
"change #{@change_details.message} #{change_description}"
|
172
|
+
end
|
173
|
+
|
174
|
+
# @private
|
175
|
+
def failure_message
|
176
|
+
return not_given_a_block_failure unless Proc === @event_proc
|
177
|
+
return before_value_failure unless matches_before?
|
178
|
+
return did_not_change_failure unless @change_details.changed?
|
179
|
+
after_value_failure
|
180
|
+
end
|
181
|
+
|
182
|
+
# @private
|
183
|
+
def supports_block_expectations?
|
184
|
+
true
|
185
|
+
end
|
186
|
+
|
187
|
+
private
|
188
|
+
|
189
|
+
def matches_before?
|
190
|
+
values_match?(@expected_before, @change_details.actual_before)
|
191
|
+
end
|
192
|
+
|
193
|
+
def matches_after?
|
194
|
+
values_match?(@expected_after, @change_details.actual_after)
|
195
|
+
end
|
196
|
+
|
197
|
+
def before_value_failure
|
198
|
+
"expected #{@change_details.message} to have initially been #{description_of @expected_before}, but was #{description_of @change_details.actual_before}"
|
199
|
+
end
|
200
|
+
|
201
|
+
def after_value_failure
|
202
|
+
"expected #{@change_details.message} to have changed to #{description_of @expected_after}, but is now #{description_of @change_details.actual_after}"
|
203
|
+
end
|
204
|
+
|
205
|
+
def did_not_change_failure
|
206
|
+
"expected #{@change_details.message} to have changed #{change_description}, but did not change"
|
207
|
+
end
|
208
|
+
|
209
|
+
def did_change_failure
|
210
|
+
"expected #{@change_details.message} not to have changed, but did change from #{description_of @change_details.actual_before} to #{description_of @change_details.actual_after}"
|
211
|
+
end
|
212
|
+
|
213
|
+
def not_given_a_block_failure
|
214
|
+
"expected #{@change_details.message} to have changed #{change_description}, but was not given a block"
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
# @api private
|
219
|
+
# Used to specify a change from a specific value
|
220
|
+
# (and, optionally, to a specific value).
|
221
|
+
class ChangeFromValue < SpecificValuesChange
|
222
|
+
def initialize(change_details, expected_before)
|
223
|
+
@description_suffix = nil
|
224
|
+
super(change_details, expected_before, MATCH_ANYTHING)
|
225
|
+
end
|
226
|
+
|
227
|
+
# @api public
|
228
|
+
# Specifies the new value you expect.
|
229
|
+
def to(value)
|
230
|
+
@expected_after = value
|
231
|
+
@description_suffix = " to #{description_of value}"
|
232
|
+
self
|
233
|
+
end
|
234
|
+
|
235
|
+
# @private
|
236
|
+
def does_not_match?(event_proc)
|
237
|
+
if @description_suffix
|
238
|
+
raise NotImplementedError, "`expect { }.not_to change { }.to()` is not supported"
|
239
|
+
end
|
240
|
+
|
241
|
+
@event_proc = event_proc
|
242
|
+
return false unless Proc === event_proc
|
243
|
+
@change_details.perform_change(event_proc)
|
244
|
+
!@change_details.changed? && matches_before?
|
245
|
+
end
|
246
|
+
|
247
|
+
# @private
|
248
|
+
def failure_message_when_negated
|
249
|
+
return not_given_a_block_failure unless Proc === @event_proc
|
250
|
+
return before_value_failure unless matches_before?
|
251
|
+
did_change_failure
|
252
|
+
end
|
253
|
+
|
254
|
+
private
|
255
|
+
|
256
|
+
def change_description
|
257
|
+
"from #{description_of @expected_before}#{@description_suffix}"
|
258
|
+
end
|
259
|
+
end
|
260
|
+
|
261
|
+
# @api private
|
262
|
+
# Used to specify a change to a specific value
|
263
|
+
# (and, optionally, from a specific value).
|
264
|
+
class ChangeToValue < SpecificValuesChange
|
265
|
+
def initialize(change_details, expected_after)
|
266
|
+
@description_suffix = nil
|
267
|
+
super(change_details, MATCH_ANYTHING, expected_after)
|
268
|
+
end
|
269
|
+
|
270
|
+
# @api public
|
271
|
+
# Specifies the original value.
|
272
|
+
def from(value)
|
273
|
+
@expected_before = value
|
274
|
+
@description_suffix = " from #{description_of value}"
|
275
|
+
self
|
276
|
+
end
|
277
|
+
|
278
|
+
# @private
|
279
|
+
def does_not_match?(_event_proc)
|
280
|
+
raise NotImplementedError, "`expect { }.not_to change { }.to()` is not supported"
|
281
|
+
end
|
282
|
+
|
283
|
+
private
|
284
|
+
|
285
|
+
def change_description
|
286
|
+
"to #{description_of @expected_after}#{@description_suffix}"
|
287
|
+
end
|
288
|
+
end
|
289
|
+
|
290
|
+
# @private
|
291
|
+
# Encapsulates the details of the before/after values.
|
292
|
+
class ChangeDetails
|
293
|
+
attr_reader :message, :actual_before, :actual_after
|
294
|
+
|
295
|
+
def initialize(receiver=nil, message=nil, &block)
|
296
|
+
if receiver && !message
|
297
|
+
raise(
|
298
|
+
ArgumentError,
|
299
|
+
"`change` requires either an object and message " \
|
300
|
+
"(`change(obj, :msg)`) or a block (`change { }`). " \
|
301
|
+
"You passed an object but no message."
|
302
|
+
)
|
303
|
+
end
|
304
|
+
@message = message ? "##{message}" : "result"
|
305
|
+
@value_proc = block || lambda { receiver.__send__(message) }
|
306
|
+
end
|
307
|
+
|
308
|
+
def perform_change(event_proc)
|
309
|
+
@actual_before = evaluate_value_proc
|
310
|
+
event_proc.call
|
311
|
+
@actual_after = evaluate_value_proc
|
312
|
+
end
|
313
|
+
|
314
|
+
def changed?
|
315
|
+
@actual_before != @actual_after
|
316
|
+
end
|
317
|
+
|
318
|
+
def actual_delta
|
319
|
+
@actual_after - @actual_before
|
320
|
+
end
|
321
|
+
|
322
|
+
private
|
323
|
+
|
324
|
+
def evaluate_value_proc
|
325
|
+
case val = @value_proc.call
|
326
|
+
when IO # enumerable, but we don't want to dup it.
|
327
|
+
val
|
328
|
+
when Enumerable, String
|
329
|
+
val.dup
|
330
|
+
else
|
331
|
+
val
|
332
|
+
end
|
333
|
+
end
|
334
|
+
end
|
335
|
+
end
|
336
|
+
end
|
337
|
+
end
|