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,37 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Core
|
3
|
+
# A sandbox isolates the enclosed code into an environment that looks 'new'
|
4
|
+
# meaning globally accessed objects are reset for the duration of the
|
5
|
+
# sandbox.
|
6
|
+
#
|
7
|
+
# @note This module is not normally available. You must require
|
8
|
+
# `rspec/core/sandbox` to load it.
|
9
|
+
module Sandbox
|
10
|
+
# Execute a provided block with RSpec global objects (configuration,
|
11
|
+
# world) reset. This is used to test RSpec with RSpec.
|
12
|
+
#
|
13
|
+
# When calling this the configuration is passed into the provided block.
|
14
|
+
# Use this to set custom configs for your sandboxed examples.
|
15
|
+
#
|
16
|
+
# ```
|
17
|
+
# Sandbox.sandboxed do |config|
|
18
|
+
# config.before(:context) { RSpec.current_example = nil }
|
19
|
+
# end
|
20
|
+
# ```
|
21
|
+
def self.sandboxed
|
22
|
+
orig_config = RSpec.configuration
|
23
|
+
orig_world = RSpec.world
|
24
|
+
orig_example = RSpec.current_example
|
25
|
+
|
26
|
+
RSpec.configuration = RSpec::Core::Configuration.new
|
27
|
+
RSpec.world = RSpec::Core::World.new(RSpec.configuration)
|
28
|
+
|
29
|
+
yield RSpec.configuration
|
30
|
+
ensure
|
31
|
+
RSpec.configuration = orig_config
|
32
|
+
RSpec.world = orig_world
|
33
|
+
RSpec.current_example = orig_example
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Core
|
3
|
+
# @private
|
4
|
+
#
|
5
|
+
# We use this to replace `::Set` so we can have the advantage of
|
6
|
+
# constant time key lookups for unique arrays but without the
|
7
|
+
# potential to pollute a developers environment with an extra
|
8
|
+
# piece of the stdlib. This helps to prevent false positive
|
9
|
+
# builds.
|
10
|
+
#
|
11
|
+
class Set
|
12
|
+
include Enumerable
|
13
|
+
|
14
|
+
def initialize(array=[])
|
15
|
+
@values = {}
|
16
|
+
merge(array)
|
17
|
+
end
|
18
|
+
|
19
|
+
def empty?
|
20
|
+
@values.empty?
|
21
|
+
end
|
22
|
+
|
23
|
+
def <<(key)
|
24
|
+
@values[key] = true
|
25
|
+
self
|
26
|
+
end
|
27
|
+
|
28
|
+
def delete(key)
|
29
|
+
@values.delete(key)
|
30
|
+
end
|
31
|
+
|
32
|
+
def each(&block)
|
33
|
+
@values.keys.each(&block)
|
34
|
+
self
|
35
|
+
end
|
36
|
+
|
37
|
+
def include?(key)
|
38
|
+
@values.key?(key)
|
39
|
+
end
|
40
|
+
|
41
|
+
def merge(values)
|
42
|
+
values.each do |key|
|
43
|
+
@values[key] = true
|
44
|
+
end
|
45
|
+
self
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Core
|
3
|
+
# Exposes {ExampleGroup}-level methods to a module, so you can include that
|
4
|
+
# module in an {ExampleGroup}.
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
#
|
8
|
+
# module LoggedInAsAdmin
|
9
|
+
# extend RSpec::Core::SharedContext
|
10
|
+
# before(:example) do
|
11
|
+
# log_in_as :admin
|
12
|
+
# end
|
13
|
+
# end
|
14
|
+
#
|
15
|
+
# describe "admin section" do
|
16
|
+
# include LoggedInAsAdmin
|
17
|
+
# # ...
|
18
|
+
# end
|
19
|
+
module SharedContext
|
20
|
+
# @private
|
21
|
+
def included(group)
|
22
|
+
__shared_context_recordings.each do |recording|
|
23
|
+
recording.playback_onto(group)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# @private
|
28
|
+
def __shared_context_recordings
|
29
|
+
@__shared_context_recordings ||= []
|
30
|
+
end
|
31
|
+
|
32
|
+
# @private
|
33
|
+
Recording = Struct.new(:method_name, :args, :block) do
|
34
|
+
def playback_onto(group)
|
35
|
+
group.__send__(method_name, *args, &block)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# @private
|
40
|
+
def self.record(methods)
|
41
|
+
methods.each do |meth|
|
42
|
+
define_method(meth) do |*args, &block|
|
43
|
+
__shared_context_recordings << Recording.new(meth, args, block)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# @private
|
49
|
+
record [:describe, :context] + Hooks.instance_methods(false) +
|
50
|
+
MemoizedHelpers::ClassMethods.instance_methods(false)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
# @private
|
54
|
+
SharedContext = Core::SharedContext
|
55
|
+
end
|
@@ -0,0 +1,210 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Core
|
3
|
+
# Represents some functionality that is shared with multiple example groups.
|
4
|
+
# The functionality is defined by the provided block, which is lazily
|
5
|
+
# eval'd when the `SharedExampleGroupModule` instance is included in an example
|
6
|
+
# group.
|
7
|
+
class SharedExampleGroupModule < Module
|
8
|
+
def initialize(description, definition)
|
9
|
+
@description = description
|
10
|
+
@definition = definition
|
11
|
+
end
|
12
|
+
|
13
|
+
# Provides a human-readable representation of this module.
|
14
|
+
def inspect
|
15
|
+
"#<#{self.class.name} #{@description.inspect}>"
|
16
|
+
end
|
17
|
+
alias to_s inspect
|
18
|
+
|
19
|
+
# Ruby callback for when a module is included in another module is class.
|
20
|
+
# Our definition evaluates the shared group block in the context of the
|
21
|
+
# including example group.
|
22
|
+
def included(klass)
|
23
|
+
inclusion_line = klass.metadata[:location]
|
24
|
+
SharedExampleGroupInclusionStackFrame.with_frame(@description, inclusion_line) do
|
25
|
+
klass.class_exec(&@definition)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# Shared example groups let you define common context and/or common
|
31
|
+
# examples that you wish to use in multiple example groups.
|
32
|
+
#
|
33
|
+
# When defined, the shared group block is stored for later evaluation.
|
34
|
+
# It can later be included in an example group either explicitly
|
35
|
+
# (using `include_examples`, `include_context` or `it_behaves_like`)
|
36
|
+
# or implicitly (via matching metadata).
|
37
|
+
#
|
38
|
+
# Named shared example groups are scoped based on where they are
|
39
|
+
# defined. Shared groups defined in an example group are available
|
40
|
+
# for inclusion in that example group or any child example groups,
|
41
|
+
# but not in any parent or sibling example groups. Shared example
|
42
|
+
# groups defined at the top level can be included from any example group.
|
43
|
+
module SharedExampleGroup
|
44
|
+
# @overload shared_examples(name, &block)
|
45
|
+
# @param name [String, Symbol, Module] identifer to use when looking up
|
46
|
+
# this shared group
|
47
|
+
# @param block The block to be eval'd
|
48
|
+
# @overload shared_examples(name, metadata, &block)
|
49
|
+
# @param name [String, Symbol, Module] identifer to use when looking up
|
50
|
+
# this shared group
|
51
|
+
# @param metadata [Array<Symbol>, Hash] metadata to attach to this
|
52
|
+
# group; any example group or example with matching metadata will
|
53
|
+
# automatically include this shared example group.
|
54
|
+
# @param block The block to be eval'd
|
55
|
+
# @overload shared_examples(metadata, &block)
|
56
|
+
# @param metadata [Array<Symbol>, Hash] metadata to attach to this
|
57
|
+
# group; any example group or example with matching metadata will
|
58
|
+
# automatically include this shared example group.
|
59
|
+
# @param block The block to be eval'd
|
60
|
+
#
|
61
|
+
# Stores the block for later use. The block will be evaluated
|
62
|
+
# in the context of an example group via `include_examples`,
|
63
|
+
# `include_context`, or `it_behaves_like`.
|
64
|
+
#
|
65
|
+
# @example
|
66
|
+
# shared_examples "auditable" do
|
67
|
+
# it "stores an audit record on save!" do
|
68
|
+
# expect { auditable.save! }.to change(Audit, :count).by(1)
|
69
|
+
# end
|
70
|
+
# end
|
71
|
+
#
|
72
|
+
# describe Account do
|
73
|
+
# it_behaves_like "auditable" do
|
74
|
+
# let(:auditable) { Account.new }
|
75
|
+
# end
|
76
|
+
# end
|
77
|
+
#
|
78
|
+
# @see ExampleGroup.it_behaves_like
|
79
|
+
# @see ExampleGroup.include_examples
|
80
|
+
# @see ExampleGroup.include_context
|
81
|
+
def shared_examples(name, *args, &block)
|
82
|
+
top_level = self == ExampleGroup
|
83
|
+
if top_level && RSpec::Support.thread_local_data[:in_example_group]
|
84
|
+
raise "Creating isolated shared examples from within a context is " \
|
85
|
+
"not allowed. Remove `RSpec.` prefix or move this to a " \
|
86
|
+
"top-level scope."
|
87
|
+
end
|
88
|
+
|
89
|
+
RSpec.world.shared_example_group_registry.add(self, name, *args, &block)
|
90
|
+
end
|
91
|
+
alias shared_context shared_examples
|
92
|
+
alias shared_examples_for shared_examples
|
93
|
+
|
94
|
+
# @api private
|
95
|
+
#
|
96
|
+
# Shared examples top level DSL.
|
97
|
+
module TopLevelDSL
|
98
|
+
# @private
|
99
|
+
def self.definitions
|
100
|
+
proc do
|
101
|
+
def shared_examples(name, *args, &block)
|
102
|
+
RSpec.world.shared_example_group_registry.add(:main, name, *args, &block)
|
103
|
+
end
|
104
|
+
alias shared_context shared_examples
|
105
|
+
alias shared_examples_for shared_examples
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
# @private
|
110
|
+
def self.exposed_globally?
|
111
|
+
@exposed_globally ||= false
|
112
|
+
end
|
113
|
+
|
114
|
+
# @api private
|
115
|
+
#
|
116
|
+
# Adds the top level DSL methods to Module and the top level binding.
|
117
|
+
def self.expose_globally!
|
118
|
+
return if exposed_globally?
|
119
|
+
Core::DSL.change_global_dsl(&definitions)
|
120
|
+
@exposed_globally = true
|
121
|
+
end
|
122
|
+
|
123
|
+
# @api private
|
124
|
+
#
|
125
|
+
# Removes the top level DSL methods to Module and the top level binding.
|
126
|
+
def self.remove_globally!
|
127
|
+
return unless exposed_globally?
|
128
|
+
|
129
|
+
Core::DSL.change_global_dsl do
|
130
|
+
undef shared_examples
|
131
|
+
undef shared_context
|
132
|
+
undef shared_examples_for
|
133
|
+
end
|
134
|
+
|
135
|
+
@exposed_globally = false
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
# @private
|
140
|
+
class Registry
|
141
|
+
def add(context, name, *metadata_args, &block)
|
142
|
+
ensure_block_has_source_location(block) { CallerFilter.first_non_rspec_line }
|
143
|
+
|
144
|
+
if valid_name?(name)
|
145
|
+
warn_if_key_taken context, name, block
|
146
|
+
shared_example_groups[context][name] = block
|
147
|
+
else
|
148
|
+
metadata_args.unshift name
|
149
|
+
end
|
150
|
+
|
151
|
+
return if metadata_args.empty?
|
152
|
+
RSpec.configuration.include SharedExampleGroupModule.new(name, block), *metadata_args
|
153
|
+
end
|
154
|
+
|
155
|
+
def find(lookup_contexts, name)
|
156
|
+
lookup_contexts.each do |context|
|
157
|
+
found = shared_example_groups[context][name]
|
158
|
+
return found if found
|
159
|
+
end
|
160
|
+
|
161
|
+
shared_example_groups[:main][name]
|
162
|
+
end
|
163
|
+
|
164
|
+
private
|
165
|
+
|
166
|
+
def shared_example_groups
|
167
|
+
@shared_example_groups ||= Hash.new { |hash, context| hash[context] = {} }
|
168
|
+
end
|
169
|
+
|
170
|
+
def valid_name?(candidate)
|
171
|
+
case candidate
|
172
|
+
when String, Symbol, Module then true
|
173
|
+
else false
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
def warn_if_key_taken(context, key, new_block)
|
178
|
+
existing_block = shared_example_groups[context][key]
|
179
|
+
|
180
|
+
return unless existing_block
|
181
|
+
|
182
|
+
RSpec.warn_with <<-WARNING.gsub(/^ +\|/, ''), :call_site => nil
|
183
|
+
|WARNING: Shared example group '#{key}' has been previously defined at:
|
184
|
+
| #{formatted_location existing_block}
|
185
|
+
|...and you are now defining it at:
|
186
|
+
| #{formatted_location new_block}
|
187
|
+
|The new definition will overwrite the original one.
|
188
|
+
WARNING
|
189
|
+
end
|
190
|
+
|
191
|
+
def formatted_location(block)
|
192
|
+
block.source_location.join ":"
|
193
|
+
end
|
194
|
+
|
195
|
+
if Proc.method_defined?(:source_location)
|
196
|
+
def ensure_block_has_source_location(_block); end
|
197
|
+
else # for 1.8.7
|
198
|
+
# :nocov:
|
199
|
+
def ensure_block_has_source_location(block)
|
200
|
+
source_location = yield.split(':')
|
201
|
+
block.extend Module.new { define_method(:source_location) { source_location } }
|
202
|
+
end
|
203
|
+
# :nocov:
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
end
|
208
|
+
|
209
|
+
instance_exec(&Core::SharedExampleGroup::TopLevelDSL.definitions)
|
210
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module RSpec
|
2
|
+
module Core
|
3
|
+
# @private
|
4
|
+
# Deals with the fact that `shellwords` only works on POSIX systems.
|
5
|
+
module ShellEscape
|
6
|
+
module_function
|
7
|
+
|
8
|
+
def quote(argument)
|
9
|
+
"'#{argument.gsub("'", "\\\\'")}'"
|
10
|
+
end
|
11
|
+
|
12
|
+
if RSpec::Support::OS.windows?
|
13
|
+
# :nocov:
|
14
|
+
alias escape quote
|
15
|
+
# :nocov:
|
16
|
+
else
|
17
|
+
require 'shellwords'
|
18
|
+
|
19
|
+
def escape(shell_command)
|
20
|
+
shell_command.shellescape
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Known shells that require quoting: zsh, csh, tcsh.
|
25
|
+
#
|
26
|
+
# Feel free to add other shells to this list that are known to
|
27
|
+
# allow `rspec ./some_spec.rb[1:1]` syntax without quoting the id.
|
28
|
+
#
|
29
|
+
# @private
|
30
|
+
SHELLS_ALLOWING_UNQUOTED_IDS = %w[ bash ksh fish ]
|
31
|
+
|
32
|
+
def conditionally_quote(id)
|
33
|
+
return id if shell_allows_unquoted_ids?
|
34
|
+
quote(id)
|
35
|
+
end
|
36
|
+
|
37
|
+
def shell_allows_unquoted_ids?
|
38
|
+
# Note: ENV['SHELL'] isn't necessarily the shell the user is currently running.
|
39
|
+
# According to http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html:
|
40
|
+
# "This variable shall represent a pathname of the user's preferred command language interpreter."
|
41
|
+
#
|
42
|
+
# It's the best we can easily do, though. We err on the side of safety (quoting
|
43
|
+
# the id when not actually needed) so it's not a big deal if the user is actually
|
44
|
+
# using a different shell.
|
45
|
+
SHELLS_ALLOWING_UNQUOTED_IDS.include?(ENV['SHELL'].to_s.split('/').last)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'test/unit/assertions'
|
2
|
+
|
3
|
+
module RSpec
|
4
|
+
module Core
|
5
|
+
# @private
|
6
|
+
module TestUnitAssertionsAdapter
|
7
|
+
include ::Test::Unit::Assertions
|
8
|
+
|
9
|
+
# If using test/unit from Ruby core with Ruby 1.9+, it includes
|
10
|
+
# MiniTest::Assertions by default. Note the upcasing of 'Test'.
|
11
|
+
#
|
12
|
+
# If the test/unit gem is being loaded, it will not include any minitest
|
13
|
+
# assertions.
|
14
|
+
#
|
15
|
+
# Only if Minitest 5.x is included / loaded do we need to worry about
|
16
|
+
# adding a shim for the new updates. Thus instead of checking on the
|
17
|
+
# RUBY_VERSION we need to check ancestors.
|
18
|
+
begin
|
19
|
+
# MiniTest is 4.x.
|
20
|
+
# Minitest is 5.x.
|
21
|
+
if ancestors.include?(::Minitest::Assertions)
|
22
|
+
require 'rspec/core/minitest_assertions_adapter'
|
23
|
+
include ::RSpec::Core::MinitestAssertionsAdapter
|
24
|
+
end
|
25
|
+
rescue NameError
|
26
|
+
# No-op. Minitest 5.x was not loaded.
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "rspec/support/warnings"
|
2
|
+
|
3
|
+
module RSpec
|
4
|
+
module Core
|
5
|
+
# @private
|
6
|
+
module Warnings
|
7
|
+
# @private
|
8
|
+
#
|
9
|
+
# Used internally to print deprecation warnings.
|
10
|
+
def deprecate(deprecated, data={})
|
11
|
+
RSpec.configuration.reporter.deprecation(
|
12
|
+
{
|
13
|
+
:deprecated => deprecated,
|
14
|
+
:call_site => CallerFilter.first_non_rspec_line
|
15
|
+
}.merge(data)
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
# @private
|
20
|
+
#
|
21
|
+
# Used internally to print deprecation warnings.
|
22
|
+
def warn_deprecation(message, opts={})
|
23
|
+
RSpec.configuration.reporter.deprecation opts.merge(:message => message)
|
24
|
+
end
|
25
|
+
|
26
|
+
# @private
|
27
|
+
def warn_with(message, options={})
|
28
|
+
if options[:use_spec_location_as_call_site]
|
29
|
+
message += "." unless message.end_with?(".")
|
30
|
+
|
31
|
+
if RSpec.current_example
|
32
|
+
message += " Warning generated from spec at `#{RSpec.current_example.location}`."
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
super(message, options)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|