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.
Files changed (276) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/CODE_OF_CONDUCT.md +13 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +230 -0
  9. data/Rakefile +8 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +7 -0
  12. data/lib/sublimetheme.rb +6832 -0
  13. data/lib/sublimetheme/version.rb +3 -0
  14. data/path/bin/htmldiff +25 -0
  15. data/path/bin/htmldiff.bat +6 -0
  16. data/path/bin/ldiff +25 -0
  17. data/path/bin/ldiff.bat +6 -0
  18. data/path/bin/rspec +23 -0
  19. data/path/bin/rspec.bat +6 -0
  20. data/path/cache/diff-lcs-1.2.5.gem +0 -0
  21. data/path/cache/rspec-3.3.0.gem +0 -0
  22. data/path/cache/rspec-core-3.3.2.gem +0 -0
  23. data/path/cache/rspec-expectations-3.3.1.gem +0 -0
  24. data/path/cache/rspec-mocks-3.3.2.gem +0 -0
  25. data/path/cache/rspec-support-3.3.0.gem +0 -0
  26. data/path/gems/diff-lcs-1.2.5/.autotest +3 -0
  27. data/path/gems/diff-lcs-1.2.5/.gemtest +0 -0
  28. data/path/gems/diff-lcs-1.2.5/.hoerc +2 -0
  29. data/path/gems/diff-lcs-1.2.5/.rspec +2 -0
  30. data/path/gems/diff-lcs-1.2.5/.travis.yml +22 -0
  31. data/path/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
  32. data/path/gems/diff-lcs-1.2.5/Gemfile +20 -0
  33. data/path/gems/diff-lcs-1.2.5/History.rdoc +152 -0
  34. data/path/gems/diff-lcs-1.2.5/License.rdoc +39 -0
  35. data/path/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
  36. data/path/gems/diff-lcs-1.2.5/README.rdoc +85 -0
  37. data/path/gems/diff-lcs-1.2.5/Rakefile +41 -0
  38. data/path/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
  39. data/path/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
  40. data/path/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
  41. data/path/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
  42. data/path/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
  43. data/path/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
  44. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
  45. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
  46. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
  47. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
  48. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
  49. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
  50. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
  51. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
  52. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
  53. data/path/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
  54. data/path/gems/diff-lcs-1.2.5/spec/change_spec.rb +65 -0
  55. data/path/gems/diff-lcs-1.2.5/spec/diff_spec.rb +47 -0
  56. data/path/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +72 -0
  57. data/path/gems/diff-lcs-1.2.5/spec/issues_spec.rb +24 -0
  58. data/path/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +54 -0
  59. data/path/gems/diff-lcs-1.2.5/spec/patch_spec.rb +414 -0
  60. data/path/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +214 -0
  61. data/path/gems/diff-lcs-1.2.5/spec/spec_helper.rb +290 -0
  62. data/path/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +310 -0
  63. data/path/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +139 -0
  64. data/path/gems/rspec-3.3.0/License.txt +24 -0
  65. data/path/gems/rspec-3.3.0/README.md +34 -0
  66. data/path/gems/rspec-3.3.0/lib/rspec.rb +3 -0
  67. data/path/gems/rspec-3.3.0/lib/rspec/version.rb +5 -0
  68. data/path/gems/rspec-core-3.3.2/.document +5 -0
  69. data/path/gems/rspec-core-3.3.2/.yardopts +8 -0
  70. data/path/gems/rspec-core-3.3.2/Changelog.md +1856 -0
  71. data/path/gems/rspec-core-3.3.2/License.txt +25 -0
  72. data/path/gems/rspec-core-3.3.2/README.md +369 -0
  73. data/path/gems/rspec-core-3.3.2/exe/rspec +4 -0
  74. data/path/gems/rspec-core-3.3.2/lib/rspec/autorun.rb +3 -0
  75. data/path/gems/rspec-core-3.3.2/lib/rspec/core.rb +181 -0
  76. data/path/gems/rspec-core-3.3.2/lib/rspec/core/backtrace_formatter.rb +64 -0
  77. data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/coordinator.rb +66 -0
  78. data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/example_minimizer.rb +130 -0
  79. data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/runner.rb +139 -0
  80. data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/server.rb +61 -0
  81. data/path/gems/rspec-core-3.3.2/lib/rspec/core/bisect/subset_enumerator.rb +39 -0
  82. data/path/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb +1807 -0
  83. data/path/gems/rspec-core-3.3.2/lib/rspec/core/configuration_options.rb +191 -0
  84. data/path/gems/rspec-core-3.3.2/lib/rspec/core/drb.rb +111 -0
  85. data/path/gems/rspec-core-3.3.2/lib/rspec/core/dsl.rb +96 -0
  86. data/path/gems/rspec-core-3.3.2/lib/rspec/core/example.rb +573 -0
  87. data/path/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb +796 -0
  88. data/path/gems/rspec-core-3.3.2/lib/rspec/core/example_status_persister.rb +235 -0
  89. data/path/gems/rspec-core-3.3.2/lib/rspec/core/filter_manager.rb +231 -0
  90. data/path/gems/rspec-core-3.3.2/lib/rspec/core/flat_map.rb +20 -0
  91. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters.rb +254 -0
  92. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/base_formatter.rb +70 -0
  93. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/base_text_formatter.rb +77 -0
  94. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/bisect_formatter.rb +68 -0
  95. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +115 -0
  96. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/console_codes.rb +65 -0
  97. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  98. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
  99. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/exception_presenter.rb +393 -0
  100. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  101. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/helpers.rb +109 -0
  102. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/html_formatter.rb +151 -0
  103. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/html_printer.rb +415 -0
  104. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/json_formatter.rb +96 -0
  105. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  106. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/progress_formatter.rb +28 -0
  107. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/protocol.rb +172 -0
  108. data/path/gems/rspec-core-3.3.2/lib/rspec/core/formatters/snippet_extractor.rb +116 -0
  109. data/path/gems/rspec-core-3.3.2/lib/rspec/core/hooks.rb +638 -0
  110. data/path/gems/rspec-core-3.3.2/lib/rspec/core/memoized_helpers.rb +532 -0
  111. data/path/gems/rspec-core-3.3.2/lib/rspec/core/metadata.rb +490 -0
  112. data/path/gems/rspec-core-3.3.2/lib/rspec/core/metadata_filter.rb +235 -0
  113. data/path/gems/rspec-core-3.3.2/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  114. data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  115. data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  116. data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/null.rb +14 -0
  117. data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  118. data/path/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  119. data/path/gems/rspec-core-3.3.2/lib/rspec/core/mutex.rb +63 -0
  120. data/path/gems/rspec-core-3.3.2/lib/rspec/core/notifications.rb +498 -0
  121. data/path/gems/rspec-core-3.3.2/lib/rspec/core/option_parser.rb +301 -0
  122. data/path/gems/rspec-core-3.3.2/lib/rspec/core/ordering.rb +158 -0
  123. data/path/gems/rspec-core-3.3.2/lib/rspec/core/pending.rb +165 -0
  124. data/path/gems/rspec-core-3.3.2/lib/rspec/core/profiler.rb +32 -0
  125. data/path/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer.rb +48 -0
  126. data/path/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer/.rspec +2 -0
  127. data/path/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +96 -0
  128. data/path/gems/rspec-core-3.3.2/lib/rspec/core/rake_task.rb +158 -0
  129. data/path/gems/rspec-core-3.3.2/lib/rspec/core/reentrant_mutex.rb +52 -0
  130. data/path/gems/rspec-core-3.3.2/lib/rspec/core/reporter.rb +220 -0
  131. data/path/gems/rspec-core-3.3.2/lib/rspec/core/ruby_project.rb +53 -0
  132. data/path/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb +179 -0
  133. data/path/gems/rspec-core-3.3.2/lib/rspec/core/sandbox.rb +37 -0
  134. data/path/gems/rspec-core-3.3.2/lib/rspec/core/set.rb +49 -0
  135. data/path/gems/rspec-core-3.3.2/lib/rspec/core/shared_context.rb +55 -0
  136. data/path/gems/rspec-core-3.3.2/lib/rspec/core/shared_example_group.rb +210 -0
  137. data/path/gems/rspec-core-3.3.2/lib/rspec/core/shell_escape.rb +49 -0
  138. data/path/gems/rspec-core-3.3.2/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  139. data/path/gems/rspec-core-3.3.2/lib/rspec/core/version.rb +9 -0
  140. data/path/gems/rspec-core-3.3.2/lib/rspec/core/warnings.rb +40 -0
  141. data/path/gems/rspec-core-3.3.2/lib/rspec/core/world.rb +178 -0
  142. data/path/gems/rspec-expectations-3.3.1/.document +5 -0
  143. data/path/gems/rspec-expectations-3.3.1/.yardopts +6 -0
  144. data/path/gems/rspec-expectations-3.3.1/Changelog.md +953 -0
  145. data/path/gems/rspec-expectations-3.3.1/License.txt +24 -0
  146. data/path/gems/rspec-expectations-3.3.1/README.md +289 -0
  147. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations.rb +81 -0
  148. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/configuration.rb +164 -0
  149. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/expectation_target.rb +113 -0
  150. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/fail_with.rb +31 -0
  151. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/failure_aggregator.rb +194 -0
  152. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/handler.rb +170 -0
  153. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/minitest_integration.rb +31 -0
  154. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/syntax.rb +132 -0
  155. data/path/gems/rspec-expectations-3.3.1/lib/rspec/expectations/version.rb +8 -0
  156. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers.rb +1009 -0
  157. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/aliased_matcher.rb +116 -0
  158. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in.rb +52 -0
  159. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/all.rb +85 -0
  160. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/base_matcher.rb +181 -0
  161. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be.rb +285 -0
  162. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_between.rb +77 -0
  163. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  164. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  165. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_within.rb +72 -0
  166. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/change.rb +337 -0
  167. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/compound.rb +293 -0
  168. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/contain_exactly.rb +253 -0
  169. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/cover.rb +24 -0
  170. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/eq.rb +40 -0
  171. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/eql.rb +34 -0
  172. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/equal.rb +81 -0
  173. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/exist.rb +86 -0
  174. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/has.rb +103 -0
  175. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  176. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/include.rb +130 -0
  177. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/match.rb +37 -0
  178. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/operators.rb +128 -0
  179. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/output.rb +200 -0
  180. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/raise_error.rb +216 -0
  181. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/respond_to.rb +90 -0
  182. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/satisfy.rb +37 -0
  183. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  184. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  185. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/yield.rb +418 -0
  186. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/composable.rb +184 -0
  187. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/dsl.rb +453 -0
  188. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/english_phrasing.rb +42 -0
  189. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
  190. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/fail_matchers.rb +42 -0
  191. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/generated_descriptions.rb +42 -0
  192. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/matcher_delegator.rb +35 -0
  193. data/path/gems/rspec-expectations-3.3.1/lib/rspec/matchers/matcher_protocol.rb +99 -0
  194. data/path/gems/rspec-mocks-3.3.2/.document +5 -0
  195. data/path/gems/rspec-mocks-3.3.2/.yardopts +6 -0
  196. data/path/gems/rspec-mocks-3.3.2/Changelog.md +965 -0
  197. data/path/gems/rspec-mocks-3.3.2/License.txt +24 -0
  198. data/path/gems/rspec-mocks-3.3.2/README.md +430 -0
  199. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks.rb +126 -0
  200. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance.rb +11 -0
  201. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/chain.rb +110 -0
  202. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  203. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
  204. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
  205. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  206. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  207. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/recorder.rb +264 -0
  208. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/stub_chain.rb +46 -0
  209. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
  210. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  211. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/argument_matchers.rb +320 -0
  212. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/configuration.rb +188 -0
  213. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/error_generator.rb +362 -0
  214. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/example_methods.rb +421 -0
  215. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/instance_method_stasher.rb +135 -0
  216. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/marshal_extension.rb +41 -0
  217. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  218. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/have_received.rb +116 -0
  219. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive.rb +130 -0
  220. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive_message_chain.rb +80 -0
  221. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive_messages.rb +75 -0
  222. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/message_chain.rb +87 -0
  223. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/message_expectation.rb +717 -0
  224. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/method_double.rb +287 -0
  225. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/method_reference.rb +192 -0
  226. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/mutate_const.rb +335 -0
  227. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/mutex.rb +73 -0
  228. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/object_reference.rb +149 -0
  229. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/order_group.rb +81 -0
  230. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/proxy.rb +439 -0
  231. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/reentrant_mutex.rb +53 -0
  232. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/space.rb +238 -0
  233. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/standalone.rb +3 -0
  234. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/syntax.rb +325 -0
  235. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/targets.rb +97 -0
  236. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/test_double.rb +170 -0
  237. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_double.rb +129 -0
  238. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_message_expecation.rb +54 -0
  239. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_proxy.rb +213 -0
  240. data/path/gems/rspec-mocks-3.3.2/lib/rspec/mocks/version.rb +9 -0
  241. data/path/gems/rspec-support-3.3.0/Changelog.md +125 -0
  242. data/path/gems/rspec-support-3.3.0/LICENSE.txt +22 -0
  243. data/path/gems/rspec-support-3.3.0/README.md +26 -0
  244. data/path/gems/rspec-support-3.3.0/lib/rspec/support.rb +111 -0
  245. data/path/gems/rspec-support-3.3.0/lib/rspec/support/caller_filter.rb +83 -0
  246. data/path/gems/rspec-support-3.3.0/lib/rspec/support/differ.rb +215 -0
  247. data/path/gems/rspec-support-3.3.0/lib/rspec/support/directory_maker.rb +63 -0
  248. data/path/gems/rspec-support-3.3.0/lib/rspec/support/encoded_string.rb +155 -0
  249. data/path/gems/rspec-support-3.3.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
  250. data/path/gems/rspec-support-3.3.0/lib/rspec/support/hunk_generator.rb +47 -0
  251. data/path/gems/rspec-support-3.3.0/lib/rspec/support/matcher_definition.rb +42 -0
  252. data/path/gems/rspec-support-3.3.0/lib/rspec/support/method_signature_verifier.rb +273 -0
  253. data/path/gems/rspec-support-3.3.0/lib/rspec/support/object_formatter.rb +93 -0
  254. data/path/gems/rspec-support-3.3.0/lib/rspec/support/recursive_const_methods.rb +76 -0
  255. data/path/gems/rspec-support-3.3.0/lib/rspec/support/ruby_features.rb +118 -0
  256. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec.rb +81 -0
  257. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  258. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  259. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/in_sub_process.rb +52 -0
  260. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/library_wide_checks.rb +145 -0
  261. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/shell_out.rb +71 -0
  262. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
  263. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/string_matcher.rb +46 -0
  264. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/with_isolated_directory.rb +9 -0
  265. data/path/gems/rspec-support-3.3.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  266. data/path/gems/rspec-support-3.3.0/lib/rspec/support/version.rb +7 -0
  267. data/path/gems/rspec-support-3.3.0/lib/rspec/support/version_checker.rb +53 -0
  268. data/path/gems/rspec-support-3.3.0/lib/rspec/support/warnings.rb +39 -0
  269. data/path/specifications/diff-lcs-1.2.5.gemspec +68 -0
  270. data/path/specifications/rspec-3.3.0.gemspec +42 -0
  271. data/path/specifications/rspec-core-3.3.2.gemspec +68 -0
  272. data/path/specifications/rspec-expectations-3.3.1.gemspec +50 -0
  273. data/path/specifications/rspec-mocks-3.3.2.gemspec +53 -0
  274. data/path/specifications/rspec-support-3.3.0.gemspec +38 -0
  275. data/sublimetheme.gemspec +32 -0
  276. metadata +363 -0
@@ -0,0 +1,490 @@
1
+ module RSpec
2
+ module Core
3
+ # Each ExampleGroup class and Example instance owns an instance of
4
+ # Metadata, which is Hash extended to support lazy evaluation of values
5
+ # associated with keys that may or may not be used by any example or group.
6
+ #
7
+ # In addition to metadata that is used internally, this also stores
8
+ # user-supplied metadata, e.g.
9
+ #
10
+ # describe Something, :type => :ui do
11
+ # it "does something", :slow => true do
12
+ # # ...
13
+ # end
14
+ # end
15
+ #
16
+ # `:type => :ui` is stored in the Metadata owned by the example group, and
17
+ # `:slow => true` is stored in the Metadata owned by the example. These can
18
+ # then be used to select which examples are run using the `--tag` option on
19
+ # the command line, or several methods on `Configuration` used to filter a
20
+ # run (e.g. `filter_run_including`, `filter_run_excluding`, etc).
21
+ #
22
+ # @see Example#metadata
23
+ # @see ExampleGroup.metadata
24
+ # @see FilterManager
25
+ # @see Configuration#filter_run_including
26
+ # @see Configuration#filter_run_excluding
27
+ module Metadata
28
+ # Matches strings either at the beginning of the input or prefixed with a
29
+ # whitespace, containing the current path, either postfixed with the
30
+ # separator, or at the end of the string. Match groups are the character
31
+ # before and the character after the string if any.
32
+ #
33
+ # http://rubular.com/r/fT0gmX6VJX
34
+ # http://rubular.com/r/duOrD4i3wb
35
+ # http://rubular.com/r/sbAMHFrOx1
36
+ def self.relative_path_regex
37
+ @relative_path_regex ||= /(\A|\s)#{File.expand_path('.')}(#{File::SEPARATOR}|\s|\Z)/
38
+ end
39
+
40
+ # @api private
41
+ #
42
+ # @param line [String] current code line
43
+ # @return [String] relative path to line
44
+ def self.relative_path(line)
45
+ line = line.sub(relative_path_regex, "\\1.\\2".freeze)
46
+ line = line.sub(/\A([^:]+:\d+)$/, '\\1'.freeze)
47
+ return nil if line == '-e:1'.freeze
48
+ line
49
+ rescue SecurityError
50
+ nil
51
+ end
52
+
53
+ # @private
54
+ # Iteratively walks up from the given metadata through all
55
+ # example group ancestors, yielding each metadata hash along the way.
56
+ def self.ascending(metadata)
57
+ yield metadata
58
+ return unless (group_metadata = metadata.fetch(:example_group) { metadata[:parent_example_group] })
59
+
60
+ loop do
61
+ yield group_metadata
62
+ break unless (group_metadata = group_metadata[:parent_example_group])
63
+ end
64
+ end
65
+
66
+ # @private
67
+ # Returns an enumerator that iteratively walks up the given metadata through all
68
+ # example group ancestors, yielding each metadata hash along the way.
69
+ def self.ascend(metadata)
70
+ enum_for(:ascending, metadata)
71
+ end
72
+
73
+ # @private
74
+ # Used internally to build a hash from an args array.
75
+ # Symbols are converted into hash keys with a value of `true`.
76
+ # This is done to support simple tagging using a symbol, rather
77
+ # than needing to do `:symbol => true`.
78
+ def self.build_hash_from(args, warn_about_example_group_filtering=false)
79
+ hash = args.last.is_a?(Hash) ? args.pop : {}
80
+
81
+ hash[args.pop] = true while args.last.is_a?(Symbol)
82
+
83
+ if warn_about_example_group_filtering && hash.key?(:example_group)
84
+ RSpec.deprecate("Filtering by an `:example_group` subhash",
85
+ :replacement => "the subhash to filter directly")
86
+ end
87
+
88
+ hash
89
+ end
90
+
91
+ # @private
92
+ def self.deep_hash_dup(object)
93
+ return object.dup if Array === object
94
+ return object unless Hash === object
95
+
96
+ object.inject(object.dup) do |duplicate, (key, value)|
97
+ duplicate[key] = deep_hash_dup(value)
98
+ duplicate
99
+ end
100
+ end
101
+
102
+ # @private
103
+ def self.id_from(metadata)
104
+ "#{metadata[:rerun_file_path]}[#{metadata[:scoped_id]}]"
105
+ end
106
+
107
+ # @private
108
+ # Used internally to populate metadata hashes with computed keys
109
+ # managed by RSpec.
110
+ class HashPopulator
111
+ attr_reader :metadata, :user_metadata, :description_args, :block
112
+
113
+ def initialize(metadata, user_metadata, index_provider, description_args, block)
114
+ @metadata = metadata
115
+ @user_metadata = user_metadata
116
+ @index_provider = index_provider
117
+ @description_args = description_args
118
+ @block = block
119
+ end
120
+
121
+ def populate
122
+ ensure_valid_user_keys
123
+
124
+ metadata[:execution_result] = Example::ExecutionResult.new
125
+ metadata[:block] = block
126
+ metadata[:description_args] = description_args
127
+ metadata[:description] = build_description_from(*metadata[:description_args])
128
+ metadata[:full_description] = full_description
129
+ metadata[:described_class] = described_class
130
+
131
+ populate_location_attributes
132
+ metadata.update(user_metadata)
133
+ RSpec.configuration.apply_derived_metadata_to(metadata)
134
+ end
135
+
136
+ private
137
+
138
+ def populate_location_attributes
139
+ backtrace = user_metadata.delete(:caller)
140
+
141
+ file_path, line_number = if backtrace
142
+ file_path_and_line_number_from(backtrace)
143
+ elsif block.respond_to?(:source_location)
144
+ block.source_location
145
+ else
146
+ file_path_and_line_number_from(caller)
147
+ end
148
+
149
+ relative_file_path = Metadata.relative_path(file_path)
150
+ metadata[:file_path] = relative_file_path
151
+ metadata[:line_number] = line_number.to_i
152
+ metadata[:location] = "#{relative_file_path}:#{line_number}"
153
+ metadata[:absolute_file_path] = File.expand_path(relative_file_path)
154
+ metadata[:rerun_file_path] ||= relative_file_path
155
+ metadata[:scoped_id] = build_scoped_id_for(relative_file_path)
156
+ end
157
+
158
+ def file_path_and_line_number_from(backtrace)
159
+ first_caller_from_outside_rspec = backtrace.find { |l| l !~ CallerFilter::LIB_REGEX }
160
+ first_caller_from_outside_rspec ||= backtrace.first
161
+ /(.+?):(\d+)(?:|:\d+)/.match(first_caller_from_outside_rspec).captures
162
+ end
163
+
164
+ def description_separator(parent_part, child_part)
165
+ if parent_part.is_a?(Module) && child_part =~ /^(#|::|\.)/
166
+ ''.freeze
167
+ else
168
+ ' '.freeze
169
+ end
170
+ end
171
+
172
+ def build_description_from(parent_description=nil, my_description=nil)
173
+ return parent_description.to_s unless my_description
174
+ separator = description_separator(parent_description, my_description)
175
+ (parent_description.to_s + separator) << my_description.to_s
176
+ end
177
+
178
+ def build_scoped_id_for(file_path)
179
+ index = @index_provider.call(file_path).to_s
180
+ parent_scoped_id = metadata.fetch(:scoped_id) { return index }
181
+ "#{parent_scoped_id}:#{index}"
182
+ end
183
+
184
+ def ensure_valid_user_keys
185
+ RESERVED_KEYS.each do |key|
186
+ next unless user_metadata.key?(key)
187
+ raise <<-EOM.gsub(/^\s+\|/, '')
188
+ |#{"*" * 50}
189
+ |:#{key} is not allowed
190
+ |
191
+ |RSpec reserves some hash keys for its own internal use,
192
+ |including :#{key}, which is used on:
193
+ |
194
+ | #{CallerFilter.first_non_rspec_line}.
195
+ |
196
+ |Here are all of RSpec's reserved hash keys:
197
+ |
198
+ | #{RESERVED_KEYS.join("\n ")}
199
+ |#{"*" * 50}
200
+ EOM
201
+ end
202
+ end
203
+ end
204
+
205
+ # @private
206
+ class ExampleHash < HashPopulator
207
+ def self.create(group_metadata, user_metadata, index_provider, description, block)
208
+ example_metadata = group_metadata.dup
209
+ group_metadata = Hash.new(&ExampleGroupHash.backwards_compatibility_default_proc do |hash|
210
+ hash[:parent_example_group]
211
+ end)
212
+ group_metadata.update(example_metadata)
213
+
214
+ example_metadata[:example_group] = group_metadata
215
+ example_metadata[:shared_group_inclusion_backtrace] = SharedExampleGroupInclusionStackFrame.current_backtrace
216
+ example_metadata.delete(:parent_example_group)
217
+
218
+ description_args = description.nil? ? [] : [description]
219
+ hash = new(example_metadata, user_metadata, index_provider, description_args, block)
220
+ hash.populate
221
+ hash.metadata
222
+ end
223
+
224
+ private
225
+
226
+ def described_class
227
+ metadata[:example_group][:described_class]
228
+ end
229
+
230
+ def full_description
231
+ build_description_from(
232
+ metadata[:example_group][:full_description],
233
+ metadata[:description]
234
+ )
235
+ end
236
+ end
237
+
238
+ # @private
239
+ class ExampleGroupHash < HashPopulator
240
+ def self.create(parent_group_metadata, user_metadata, example_group_index, *args, &block)
241
+ group_metadata = hash_with_backwards_compatibility_default_proc
242
+
243
+ if parent_group_metadata
244
+ group_metadata.update(parent_group_metadata)
245
+ group_metadata[:parent_example_group] = parent_group_metadata
246
+ end
247
+
248
+ hash = new(group_metadata, user_metadata, example_group_index, args, block)
249
+ hash.populate
250
+ hash.metadata
251
+ end
252
+
253
+ def self.hash_with_backwards_compatibility_default_proc
254
+ Hash.new(&backwards_compatibility_default_proc { |hash| hash })
255
+ end
256
+
257
+ def self.backwards_compatibility_default_proc(&example_group_selector)
258
+ Proc.new do |hash, key|
259
+ case key
260
+ when :example_group
261
+ # We commonly get here when rspec-core is applying a previously
262
+ # configured filter rule, such as when a gem configures:
263
+ #
264
+ # RSpec.configure do |c|
265
+ # c.include MyGemHelpers, :example_group => { :file_path => /spec\/my_gem_specs/ }
266
+ # end
267
+ #
268
+ # It's confusing for a user to get a deprecation at this point in
269
+ # the code, so instead we issue a deprecation from the config APIs
270
+ # that take a metadata hash, and MetadataFilter sets this thread
271
+ # local to silence the warning here since it would be so
272
+ # confusing.
273
+ unless RSpec::Support.thread_local_data[:silence_metadata_example_group_deprecations]
274
+ RSpec.deprecate("The `:example_group` key in an example group's metadata hash",
275
+ :replacement => "the example group's hash directly for the " \
276
+ "computed keys and `:parent_example_group` to access the parent " \
277
+ "example group metadata")
278
+ end
279
+
280
+ group_hash = example_group_selector.call(hash)
281
+ LegacyExampleGroupHash.new(group_hash) if group_hash
282
+ when :example_group_block
283
+ RSpec.deprecate("`metadata[:example_group_block]`",
284
+ :replacement => "`metadata[:block]`")
285
+ hash[:block]
286
+ when :describes
287
+ RSpec.deprecate("`metadata[:describes]`",
288
+ :replacement => "`metadata[:described_class]`")
289
+ hash[:described_class]
290
+ end
291
+ end
292
+ end
293
+
294
+ private
295
+
296
+ def described_class
297
+ candidate = metadata[:description_args].first
298
+ return candidate unless NilClass === candidate || String === candidate
299
+ parent_group = metadata[:parent_example_group]
300
+ parent_group && parent_group[:described_class]
301
+ end
302
+
303
+ def full_description
304
+ description = metadata[:description]
305
+ parent_example_group = metadata[:parent_example_group]
306
+ return description unless parent_example_group
307
+
308
+ parent_description = parent_example_group[:full_description]
309
+ separator = description_separator(parent_example_group[:description_args].last,
310
+ metadata[:description_args].first)
311
+
312
+ parent_description + separator + description
313
+ end
314
+ end
315
+
316
+ # @private
317
+ RESERVED_KEYS = [
318
+ :description,
319
+ :description_args,
320
+ :described_class,
321
+ :example_group,
322
+ :parent_example_group,
323
+ :execution_result,
324
+ :last_run_status,
325
+ :file_path,
326
+ :absolute_file_path,
327
+ :rerun_file_path,
328
+ :full_description,
329
+ :line_number,
330
+ :location,
331
+ :scoped_id,
332
+ :block,
333
+ :shared_group_inclusion_backtrace
334
+ ]
335
+ end
336
+
337
+ # Mixin that makes the including class imitate a hash for backwards
338
+ # compatibility. The including class should use `attr_accessor` to
339
+ # declare attributes.
340
+ # @private
341
+ module HashImitatable
342
+ def self.included(klass)
343
+ klass.extend ClassMethods
344
+ end
345
+
346
+ def to_h
347
+ hash = extra_hash_attributes.dup
348
+
349
+ self.class.hash_attribute_names.each do |name|
350
+ hash[name] = __send__(name)
351
+ end
352
+
353
+ hash
354
+ end
355
+
356
+ (Hash.public_instance_methods - Object.public_instance_methods).each do |method_name|
357
+ next if [:[], :[]=, :to_h].include?(method_name.to_sym)
358
+
359
+ define_method(method_name) do |*args, &block|
360
+ issue_deprecation(method_name, *args)
361
+
362
+ hash = hash_for_delegation
363
+ self.class.hash_attribute_names.each do |name|
364
+ hash.delete(name) unless instance_variable_defined?(:"@#{name}")
365
+ end
366
+
367
+ hash.__send__(method_name, *args, &block).tap do
368
+ # apply mutations back to the object
369
+ hash.each do |name, value|
370
+ if directly_supports_attribute?(name)
371
+ set_value(name, value)
372
+ else
373
+ extra_hash_attributes[name] = value
374
+ end
375
+ end
376
+ end
377
+ end
378
+ end
379
+
380
+ def [](key)
381
+ issue_deprecation(:[], key)
382
+
383
+ if directly_supports_attribute?(key)
384
+ get_value(key)
385
+ else
386
+ extra_hash_attributes[key]
387
+ end
388
+ end
389
+
390
+ def []=(key, value)
391
+ issue_deprecation(:[]=, key, value)
392
+
393
+ if directly_supports_attribute?(key)
394
+ set_value(key, value)
395
+ else
396
+ extra_hash_attributes[key] = value
397
+ end
398
+ end
399
+
400
+ private
401
+
402
+ def extra_hash_attributes
403
+ @extra_hash_attributes ||= {}
404
+ end
405
+
406
+ def directly_supports_attribute?(name)
407
+ self.class.hash_attribute_names.include?(name)
408
+ end
409
+
410
+ def get_value(name)
411
+ __send__(name)
412
+ end
413
+
414
+ def set_value(name, value)
415
+ __send__(:"#{name}=", value)
416
+ end
417
+
418
+ def hash_for_delegation
419
+ to_h
420
+ end
421
+
422
+ def issue_deprecation(_method_name, *_args)
423
+ # no-op by default: subclasses can override
424
+ end
425
+
426
+ # @private
427
+ module ClassMethods
428
+ def hash_attribute_names
429
+ @hash_attribute_names ||= []
430
+ end
431
+
432
+ def attr_accessor(*names)
433
+ hash_attribute_names.concat(names)
434
+ super
435
+ end
436
+ end
437
+ end
438
+
439
+ # @private
440
+ # Together with the example group metadata hash default block,
441
+ # provides backwards compatibility for the old `:example_group`
442
+ # key. In RSpec 2.x, the computed keys of a group's metadata
443
+ # were exposed from a nested subhash keyed by `[:example_group]`, and
444
+ # then the parent group's metadata was exposed by sub-subhash
445
+ # keyed by `[:example_group][:example_group]`.
446
+ #
447
+ # In RSpec 3, we reorganized this to that the computed keys are
448
+ # exposed directly of the group metadata hash (no nesting), and
449
+ # `:parent_example_group` returns the parent group's metadata.
450
+ #
451
+ # Maintaining backwards compatibility was difficult: we wanted
452
+ # `:example_group` to return an object that:
453
+ #
454
+ # * Exposes the top-level metadata keys that used to be nested
455
+ # under `:example_group`.
456
+ # * Supports mutation (rspec-rails, for example, assigns
457
+ # `metadata[:example_group][:described_class]` when you use
458
+ # anonymous controller specs) such that changes are written
459
+ # back to the top-level metadata hash.
460
+ # * Exposes the parent group metadata as
461
+ # `[:example_group][:example_group]`.
462
+ class LegacyExampleGroupHash
463
+ include HashImitatable
464
+
465
+ def initialize(metadata)
466
+ @metadata = metadata
467
+ parent_group_metadata = metadata.fetch(:parent_example_group) { {} }[:example_group]
468
+ self[:example_group] = parent_group_metadata if parent_group_metadata
469
+ end
470
+
471
+ def to_h
472
+ super.merge(@metadata)
473
+ end
474
+
475
+ private
476
+
477
+ def directly_supports_attribute?(name)
478
+ name != :example_group
479
+ end
480
+
481
+ def get_value(name)
482
+ @metadata[name]
483
+ end
484
+
485
+ def set_value(name, value)
486
+ @metadata[name] = value
487
+ end
488
+ end
489
+ end
490
+ end