sublimetheme 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,135 @@
1
+ module RSpec
2
+ module Mocks
3
+ # @private
4
+ class InstanceMethodStasher
5
+ def initialize(object, method)
6
+ @object = object
7
+ @method = method
8
+ @klass = (class << object; self; end)
9
+
10
+ @original_method = nil
11
+ @method_is_stashed = false
12
+ end
13
+
14
+ attr_reader :original_method
15
+
16
+ if RUBY_VERSION.to_f < 1.9
17
+ # @private
18
+ def method_is_stashed?
19
+ @method_is_stashed
20
+ end
21
+
22
+ # @private
23
+ def stash
24
+ return if !method_defined_directly_on_klass? || @method_is_stashed
25
+
26
+ @klass.__send__(:alias_method, stashed_method_name, @method)
27
+ @method_is_stashed = true
28
+ end
29
+
30
+ # @private
31
+ def stashed_method_name
32
+ "obfuscated_by_rspec_mocks__#{@method}"
33
+ end
34
+ private :stashed_method_name
35
+
36
+ # @private
37
+ def restore
38
+ return unless @method_is_stashed
39
+
40
+ if @klass.__send__(:method_defined?, @method)
41
+ @klass.__send__(:undef_method, @method)
42
+ end
43
+ @klass.__send__(:alias_method, @method, stashed_method_name)
44
+ @klass.__send__(:remove_method, stashed_method_name)
45
+ @method_is_stashed = false
46
+ end
47
+ else
48
+
49
+ # @private
50
+ def method_is_stashed?
51
+ !!@original_method
52
+ end
53
+
54
+ # @private
55
+ def stash
56
+ return unless method_defined_directly_on_klass?
57
+ @original_method ||= ::RSpec::Support.method_handle_for(@object, @method)
58
+ end
59
+
60
+ # @private
61
+ def restore
62
+ return unless @original_method
63
+
64
+ if @klass.__send__(:method_defined?, @method)
65
+ @klass.__send__(:undef_method, @method)
66
+ end
67
+
68
+ handle_restoration_failures do
69
+ @klass.__send__(:define_method, @method, @original_method)
70
+ end
71
+
72
+ @original_method = nil
73
+ end
74
+ end
75
+
76
+ if RUBY_DESCRIPTION.include?('2.0.0p247') || RUBY_DESCRIPTION.include?('2.0.0p195')
77
+ # ruby 2.0.0-p247 and 2.0.0-p195 both have a bug that we can't work around :(.
78
+ # https://bugs.ruby-lang.org/issues/8686
79
+ def handle_restoration_failures
80
+ yield
81
+ rescue TypeError
82
+ RSpec.warn_with(
83
+ "RSpec failed to properly restore a partial double (#{@object.inspect}) " \
84
+ "to its original state due to a known bug in MRI 2.0.0-p195 & p247 " \
85
+ "(https://bugs.ruby-lang.org/issues/8686). This object may remain " \
86
+ "screwed up for the rest of this process. Please upgrade to 2.0.0-p353 or above.",
87
+ :call_site => nil, :use_spec_location_as_call_site => true
88
+ )
89
+ end
90
+ else
91
+ def handle_restoration_failures
92
+ # No known reasons for restoration to fail on other rubies.
93
+ yield
94
+ end
95
+ end
96
+
97
+ private
98
+
99
+ # @private
100
+ def method_defined_directly_on_klass?
101
+ method_defined_on_klass? && method_owned_by_klass?
102
+ end
103
+
104
+ # @private
105
+ def method_defined_on_klass?(klass=@klass)
106
+ MethodReference.method_defined_at_any_visibility?(klass, @method)
107
+ end
108
+
109
+ def method_owned_by_klass?
110
+ owner = @klass.instance_method(@method).owner
111
+
112
+ # On Ruby 2.0.0+ the owner of a method on a class which has been
113
+ # `prepend`ed may actually be an instance, e.g.
114
+ # `#<MyClass:0x007fbb94e3cd10>`, rather than the expected `MyClass`.
115
+ owner = owner.class unless Module === owner
116
+
117
+ # On some 1.9s (e.g. rubinius) aliased methods
118
+ # can report the wrong owner. Example:
119
+ # class MyClass
120
+ # class << self
121
+ # alias alternate_new new
122
+ # end
123
+ # end
124
+ #
125
+ # MyClass.owner(:alternate_new) returns `Class` when incorrect,
126
+ # but we need to consider the owner to be `MyClass` because
127
+ # it is not actually available on `Class` but is on `MyClass`.
128
+ # Hence, we verify that the owner actually has the method defined.
129
+ # If the given owner does not have the method defined, we assume
130
+ # that the method is actually owned by @klass.
131
+ owner == @klass || !(method_defined_on_klass?(owner))
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,41 @@
1
+ module RSpec
2
+ module Mocks
3
+ # Support for `patch_marshal_to_support_partial_doubles` configuration.
4
+ #
5
+ # @private
6
+ class MarshalExtension
7
+ def self.patch!
8
+ return if Marshal.respond_to?(:dump_with_rspec_mocks)
9
+
10
+ Marshal.instance_eval do
11
+ class << self
12
+ def dump_with_rspec_mocks(object, *rest)
13
+ if !::RSpec::Mocks.space.registered?(object) || NilClass === object
14
+ dump_without_rspec_mocks(object, *rest)
15
+ else
16
+ dump_without_rspec_mocks(object.dup, *rest)
17
+ end
18
+ end
19
+
20
+ alias_method :dump_without_rspec_mocks, :dump
21
+ undef_method :dump
22
+ alias_method :dump, :dump_with_rspec_mocks
23
+ end
24
+ end
25
+ end
26
+
27
+ def self.unpatch!
28
+ return unless Marshal.respond_to?(:dump_with_rspec_mocks)
29
+
30
+ Marshal.instance_eval do
31
+ class << self
32
+ undef_method :dump_with_rspec_mocks
33
+ undef_method :dump
34
+ alias_method :dump, :dump_without_rspec_mocks
35
+ undef_method :dump_without_rspec_mocks
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,20 @@
1
+ module RSpec
2
+ module Mocks
3
+ module Matchers
4
+ # @private
5
+ class ExpectationCustomization
6
+ attr_accessor :block
7
+
8
+ def initialize(method_name, args, block)
9
+ @method_name = method_name
10
+ @args = args
11
+ @block = block
12
+ end
13
+
14
+ def playback_onto(expectation)
15
+ expectation.__send__(@method_name, *@args, &@block)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,116 @@
1
+ module RSpec
2
+ module Mocks
3
+ module Matchers
4
+ # @private
5
+ class HaveReceived
6
+ COUNT_CONSTRAINTS = %w[exactly at_least at_most times once twice thrice]
7
+ ARGS_CONSTRAINTS = %w[with]
8
+ CONSTRAINTS = COUNT_CONSTRAINTS + ARGS_CONSTRAINTS + %w[ordered]
9
+
10
+ def initialize(method_name, &block)
11
+ @method_name = method_name
12
+ @block = block
13
+ @constraints = []
14
+ @subject = nil
15
+ end
16
+
17
+ def name
18
+ "have_received"
19
+ end
20
+
21
+ def matches?(subject, &block)
22
+ @block ||= block
23
+ @subject = subject
24
+ @expectation = expect
25
+ mock_proxy.ensure_implemented(@method_name)
26
+
27
+ expected_messages_received_in_order?
28
+ end
29
+
30
+ def does_not_match?(subject)
31
+ @subject = subject
32
+ ensure_count_unconstrained
33
+ @expectation = expect.never
34
+ mock_proxy.ensure_implemented(@method_name)
35
+ expected_messages_received_in_order?
36
+ end
37
+
38
+ def failure_message
39
+ generate_failure_message
40
+ end
41
+
42
+ def failure_message_when_negated
43
+ generate_failure_message
44
+ end
45
+
46
+ def description
47
+ (@expectation ||= expect).description_for("have received")
48
+ end
49
+
50
+ CONSTRAINTS.each do |expectation|
51
+ define_method expectation do |*args|
52
+ @constraints << [expectation, *args]
53
+ self
54
+ end
55
+ end
56
+
57
+ def setup_allowance(_subject, &_block)
58
+ disallow("allow", " as it would have no effect")
59
+ end
60
+
61
+ def setup_any_instance_allowance(_subject, &_block)
62
+ disallow("allow_any_instance_of")
63
+ end
64
+
65
+ def setup_any_instance_expectation(_subject, &_block)
66
+ disallow("expect_any_instance_of")
67
+ end
68
+
69
+ private
70
+
71
+ def disallow(type, reason="")
72
+ RSpec::Mocks.error_generator.raise_have_received_disallowed(type, reason)
73
+ end
74
+
75
+ def expect
76
+ expectation = mock_proxy.build_expectation(@method_name)
77
+ apply_constraints_to expectation
78
+ expectation
79
+ end
80
+
81
+ def apply_constraints_to(expectation)
82
+ @constraints.each do |constraint|
83
+ expectation.send(*constraint)
84
+ end
85
+ end
86
+
87
+ def ensure_count_unconstrained
88
+ return unless count_constraint
89
+ RSpec::Mocks.error_generator.raise_cant_constrain_count_for_negated_have_received_error(count_constraint)
90
+ end
91
+
92
+ def count_constraint
93
+ @constraints.map(&:first).find do |constraint|
94
+ COUNT_CONSTRAINTS.include?(constraint)
95
+ end
96
+ end
97
+
98
+ def generate_failure_message
99
+ RSpec::Support.with_failure_notifier(Proc.new { |err, _opt| return err.message }) do
100
+ mock_proxy.check_for_unexpected_arguments(@expectation)
101
+ @expectation.generate_error
102
+ end
103
+ end
104
+
105
+ def expected_messages_received_in_order?
106
+ mock_proxy.replay_received_message_on @expectation, &@block
107
+ @expectation.expected_messages_received? && @expectation.ensure_expected_ordering_received!
108
+ end
109
+
110
+ def mock_proxy
111
+ RSpec::Mocks.space.proxy_for(@subject)
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,130 @@
1
+ RSpec::Support.require_rspec_mocks 'matchers/expectation_customization'
2
+
3
+ module RSpec
4
+ module Mocks
5
+ module Matchers
6
+ # @private
7
+ class Receive
8
+ def initialize(message, block)
9
+ @message = message
10
+ @block = block
11
+ @recorded_customizations = []
12
+ end
13
+
14
+ def name
15
+ "receive"
16
+ end
17
+
18
+ def description
19
+ describable.description_for("receive")
20
+ end
21
+
22
+ def setup_expectation(subject, &block)
23
+ warn_if_any_instance("expect", subject)
24
+ @describable = setup_mock_proxy_method_substitute(subject, :add_message_expectation, block)
25
+ end
26
+ alias matches? setup_expectation
27
+
28
+ def setup_negative_expectation(subject, &block)
29
+ # ensure `never` goes first for cases like `never.and_return(5)`,
30
+ # where `and_return` is meant to raise an error
31
+ @recorded_customizations.unshift ExpectationCustomization.new(:never, [], nil)
32
+
33
+ warn_if_any_instance("expect", subject)
34
+
35
+ setup_expectation(subject, &block)
36
+ end
37
+ alias does_not_match? setup_negative_expectation
38
+
39
+ def setup_allowance(subject, &block)
40
+ warn_if_any_instance("allow", subject)
41
+ setup_mock_proxy_method_substitute(subject, :add_stub, block)
42
+ end
43
+
44
+ def setup_any_instance_expectation(subject, &block)
45
+ setup_any_instance_method_substitute(subject, :should_receive, block)
46
+ end
47
+
48
+ def setup_any_instance_negative_expectation(subject, &block)
49
+ setup_any_instance_method_substitute(subject, :should_not_receive, block)
50
+ end
51
+
52
+ def setup_any_instance_allowance(subject, &block)
53
+ setup_any_instance_method_substitute(subject, :stub, block)
54
+ end
55
+
56
+ MessageExpectation.public_instance_methods(false).each do |method|
57
+ next if method_defined?(method)
58
+
59
+ define_method(method) do |*args, &block|
60
+ @recorded_customizations << ExpectationCustomization.new(method, args, block)
61
+ self
62
+ end
63
+ end
64
+
65
+ private
66
+
67
+ def describable
68
+ @describable ||= DefaultDescribable.new(@message)
69
+ end
70
+
71
+ def warn_if_any_instance(expression, subject)
72
+ return unless AnyInstance::Proxy === subject
73
+
74
+ RSpec.warning(
75
+ "`#{expression}(#{subject.klass}.any_instance).to` " \
76
+ "is probably not what you meant, it does not operate on " \
77
+ "any instance of `#{subject.klass}`. " \
78
+ "Use `#{expression}_any_instance_of(#{subject.klass}).to` instead."
79
+ )
80
+ end
81
+
82
+ def setup_mock_proxy_method_substitute(subject, method, block)
83
+ proxy = ::RSpec::Mocks.space.proxy_for(subject)
84
+ setup_method_substitute(proxy, method, block)
85
+ end
86
+
87
+ def setup_any_instance_method_substitute(subject, method, block)
88
+ proxy = ::RSpec::Mocks.space.any_instance_proxy_for(subject)
89
+ setup_method_substitute(proxy, method, block)
90
+ end
91
+
92
+ def setup_method_substitute(host, method, block, *args)
93
+ args << @message.to_sym
94
+ block = move_block_to_last_customization(block)
95
+
96
+ expectation = host.__send__(method, *args, &(@block || block))
97
+
98
+ @recorded_customizations.each do |customization|
99
+ customization.playback_onto(expectation)
100
+ end
101
+ expectation
102
+ end
103
+
104
+ def move_block_to_last_customization(block)
105
+ last = @recorded_customizations.last
106
+ return block unless last
107
+
108
+ last.block ||= block
109
+ nil
110
+ end
111
+
112
+ # MessageExpectation objects are able to describe themselves in detail.
113
+ # We use this as a fall back when a MessageExpectation is not available.
114
+ # @private
115
+ class DefaultDescribable
116
+ def initialize(message)
117
+ @message = message
118
+ end
119
+
120
+ # This is much simpler for the `any_instance` case than what the
121
+ # user may want, but I'm not up for putting a bunch of effort
122
+ # into full descriptions for `any_instance` expectations at this point :(.
123
+ def description_for(verb)
124
+ "#{verb} #{@message}"
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,80 @@
1
+ RSpec::Support.require_rspec_mocks 'matchers/expectation_customization'
2
+
3
+ module RSpec
4
+ module Mocks
5
+ module Matchers
6
+ # @private
7
+ class ReceiveMessageChain
8
+ def initialize(chain, &block)
9
+ @chain = chain
10
+ @block = block
11
+ @recorded_customizations = []
12
+ end
13
+
14
+ [:with, :and_return, :and_throw, :and_raise, :and_yield, :and_call_original].each do |msg|
15
+ define_method(msg) do |*args, &block|
16
+ @recorded_customizations << ExpectationCustomization.new(msg, args, block)
17
+ self
18
+ end
19
+ end
20
+
21
+ def name
22
+ "receive_message_chain"
23
+ end
24
+
25
+ def description
26
+ "receive message chain #{formatted_chain}"
27
+ end
28
+
29
+ def setup_allowance(subject, &block)
30
+ chain = StubChain.stub_chain_on(subject, *@chain, &(@block || block))
31
+ replay_customizations(chain)
32
+ end
33
+
34
+ def setup_any_instance_allowance(subject, &block)
35
+ proxy = ::RSpec::Mocks.space.any_instance_proxy_for(subject)
36
+ chain = proxy.stub_chain(*@chain, &(@block || block))
37
+ replay_customizations(chain)
38
+ end
39
+
40
+ def setup_any_instance_expectation(subject, &block)
41
+ proxy = ::RSpec::Mocks.space.any_instance_proxy_for(subject)
42
+ chain = proxy.expect_chain(*@chain, &(@block || block))
43
+ replay_customizations(chain)
44
+ end
45
+
46
+ def setup_expectation(subject, &block)
47
+ chain = ExpectChain.expect_chain_on(subject, *@chain, &(@block || block))
48
+ replay_customizations(chain)
49
+ end
50
+
51
+ def setup_negative_expectation(*_args)
52
+ raise NegationUnsupportedError,
53
+ "`expect(...).not_to receive_message_chain` is not supported " \
54
+ "since it doesn't really make sense. What would it even mean?"
55
+ end
56
+
57
+ alias matches? setup_expectation
58
+ alias does_not_match? setup_negative_expectation
59
+
60
+ private
61
+
62
+ def replay_customizations(chain)
63
+ @recorded_customizations.each do |customization|
64
+ customization.playback_onto(chain)
65
+ end
66
+ end
67
+
68
+ def formatted_chain
69
+ @formatted_chain ||= @chain.map do |part|
70
+ if Hash === part
71
+ part.keys.first.to_s
72
+ else
73
+ part.to_s
74
+ end
75
+ end.join(".")
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end