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,52 @@
1
+ module RSpec
2
+ module Core
3
+ # Allows a thread to lock out other threads from a critical section of code,
4
+ # while allowing the thread with the lock to reenter that section.
5
+ #
6
+ # Based on Monitor as of 2.2 - https://github.com/ruby/ruby/blob/eb7ddaa3a47bf48045d26c72eb0f263a53524ebc/lib/monitor.rb#L9
7
+ #
8
+ # Depends on Mutex, but Mutex is only available as part of core since 1.9.1:
9
+ # exists - http://ruby-doc.org/core-1.9.1/Mutex.html
10
+ # dne - http://ruby-doc.org/core-1.9.0/Mutex.html
11
+ #
12
+ # @private
13
+ class ReentrantMutex
14
+ def initialize
15
+ @owner = nil
16
+ @count = 0
17
+ @mutex = Mutex.new
18
+ end
19
+
20
+ def synchronize
21
+ enter
22
+ yield
23
+ ensure
24
+ exit
25
+ end
26
+
27
+ private
28
+
29
+ def enter
30
+ @mutex.lock if @owner != Thread.current
31
+ @owner = Thread.current
32
+ @count += 1
33
+ end
34
+
35
+ def exit
36
+ @count -= 1
37
+ return unless @count == 0
38
+ @owner = nil
39
+ @mutex.unlock
40
+ end
41
+ end
42
+
43
+ if defined? ::Mutex
44
+ # On 1.9 and up, this is in core, so we just use the real one
45
+ Mutex = ::Mutex
46
+ else # For 1.8.7
47
+ # :nocov:
48
+ RSpec::Support.require_rspec_core "mutex"
49
+ # :nocov:
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,220 @@
1
+ module RSpec::Core
2
+ # A reporter will send notifications to listeners, usually formatters for the
3
+ # spec suite run.
4
+ class Reporter
5
+ # @private
6
+ RSPEC_NOTIFICATIONS = Set.new(
7
+ [
8
+ :close, :deprecation, :deprecation_summary, :dump_failures, :dump_pending,
9
+ :dump_profile, :dump_summary, :example_failed, :example_group_finished,
10
+ :example_group_started, :example_passed, :example_pending, :example_started,
11
+ :message, :seed, :start, :start_dump, :stop
12
+ ])
13
+
14
+ def initialize(configuration)
15
+ @configuration = configuration
16
+ @listeners = Hash.new { |h, k| h[k] = Set.new }
17
+ @examples = []
18
+ @failed_examples = []
19
+ @pending_examples = []
20
+ @duration = @start = @load_time = nil
21
+ end
22
+
23
+ # @private
24
+ attr_reader :examples, :failed_examples, :pending_examples
25
+
26
+ # @private
27
+ def reset
28
+ @examples = []
29
+ @failed_examples = []
30
+ @pending_examples = []
31
+ @profiler = Profiler.new if defined?(@profiler)
32
+ end
33
+
34
+ # @private
35
+ def setup_profiler
36
+ @profiler = Profiler.new
37
+ register_listener @profiler, *Profiler::NOTIFICATIONS
38
+ end
39
+
40
+ # Registers a listener to a list of notifications. The reporter will send
41
+ # notification of events to all registered listeners.
42
+ #
43
+ # @param listener [Object] An obect that wishes to be notified of reporter
44
+ # events
45
+ # @param notifications [Array] Array of symbols represents the events a
46
+ # listener wishes to subscribe too
47
+ def register_listener(listener, *notifications)
48
+ notifications.each do |notification|
49
+ @listeners[notification.to_sym] << listener
50
+ end
51
+ true
52
+ end
53
+
54
+ # @private
55
+ def registered_listeners(notification)
56
+ @listeners[notification].to_a
57
+ end
58
+
59
+ # @overload report(count, &block)
60
+ # @overload report(count, &block)
61
+ # @param expected_example_count [Integer] the number of examples being run
62
+ # @yield [Block] block yields itself for further reporting.
63
+ #
64
+ # Initializes the report run and yields itself for further reporting. The
65
+ # block is required, so that the reporter can manage cleaning up after the
66
+ # run.
67
+ #
68
+ # @example
69
+ #
70
+ # reporter.report(group.examples.size) do |r|
71
+ # example_groups.map {|g| g.run(r) }
72
+ # end
73
+ #
74
+ def report(expected_example_count)
75
+ start(expected_example_count)
76
+ begin
77
+ yield self
78
+ ensure
79
+ finish
80
+ end
81
+ end
82
+
83
+ # @private
84
+ def start(expected_example_count, time=RSpec::Core::Time.now)
85
+ @start = time
86
+ @load_time = (@start - @configuration.start_time).to_f
87
+ notify :seed, Notifications::SeedNotification.new(@configuration.seed, seed_used?)
88
+ notify :start, Notifications::StartNotification.new(expected_example_count, @load_time)
89
+ end
90
+
91
+ # @param message [#to_s] A message object to send to formatters
92
+ #
93
+ # Send a custom message to supporting formatters.
94
+ def message(message)
95
+ notify :message, Notifications::MessageNotification.new(message)
96
+ end
97
+
98
+ # @param event [Symbol] Name of the custom event to trigger on formatters
99
+ # @param options [Hash] Hash of arguments to provide via `CustomNotification`
100
+ #
101
+ # Publish a custom event to supporting registered formatters.
102
+ # @see RSpec::Core::Notifications::CustomNotification
103
+ def publish(event, options={})
104
+ if RSPEC_NOTIFICATIONS.include? event
105
+ raise "RSpec::Core::Reporter#publish is intended for sending custom " \
106
+ "events not internal RSpec ones, please rename your custom event."
107
+ end
108
+ notify event, Notifications::CustomNotification.for(options)
109
+ end
110
+
111
+ # @private
112
+ def example_group_started(group)
113
+ notify :example_group_started, Notifications::GroupNotification.new(group) unless group.descendant_filtered_examples.empty?
114
+ end
115
+
116
+ # @private
117
+ def example_group_finished(group)
118
+ notify :example_group_finished, Notifications::GroupNotification.new(group) unless group.descendant_filtered_examples.empty?
119
+ end
120
+
121
+ # @private
122
+ def example_started(example)
123
+ @examples << example
124
+ notify :example_started, Notifications::ExampleNotification.for(example)
125
+ end
126
+
127
+ # @private
128
+ def example_passed(example)
129
+ notify :example_passed, Notifications::ExampleNotification.for(example)
130
+ end
131
+
132
+ # @private
133
+ def example_failed(example)
134
+ @failed_examples << example
135
+ notify :example_failed, Notifications::ExampleNotification.for(example)
136
+ end
137
+
138
+ # @private
139
+ def example_pending(example)
140
+ @pending_examples << example
141
+ notify :example_pending, Notifications::ExampleNotification.for(example)
142
+ end
143
+
144
+ # @private
145
+ def deprecation(hash)
146
+ notify :deprecation, Notifications::DeprecationNotification.from_hash(hash)
147
+ end
148
+
149
+ # @private
150
+ def finish
151
+ close_after do
152
+ stop
153
+ notify :start_dump, Notifications::NullNotification
154
+ notify :dump_pending, Notifications::ExamplesNotification.new(self)
155
+ notify :dump_failures, Notifications::ExamplesNotification.new(self)
156
+ notify :deprecation_summary, Notifications::NullNotification
157
+ unless mute_profile_output?
158
+ notify :dump_profile, Notifications::ProfileNotification.new(@duration, @examples,
159
+ @configuration.profile_examples,
160
+ @profiler.example_groups)
161
+ end
162
+ notify :dump_summary, Notifications::SummaryNotification.new(@duration, @examples, @failed_examples,
163
+ @pending_examples, @load_time)
164
+ notify :seed, Notifications::SeedNotification.new(@configuration.seed, seed_used?)
165
+ end
166
+ end
167
+
168
+ # @private
169
+ def close_after
170
+ yield
171
+ ensure
172
+ close
173
+ end
174
+
175
+ # @private
176
+ def stop
177
+ @duration = (RSpec::Core::Time.now - @start).to_f if @start
178
+ notify :stop, Notifications::ExamplesNotification.new(self)
179
+ end
180
+
181
+ # @private
182
+ def notify(event, notification)
183
+ registered_listeners(event).each do |formatter|
184
+ formatter.__send__(event, notification)
185
+ end
186
+ end
187
+
188
+ # @private
189
+ def abort_with(msg, exit_status)
190
+ message(msg)
191
+ close
192
+ exit!(exit_status)
193
+ end
194
+
195
+ private
196
+
197
+ def close
198
+ notify :close, Notifications::NullNotification
199
+ end
200
+
201
+ def mute_profile_output?
202
+ # Don't print out profiled info if there are failures and `--fail-fast` is
203
+ # used, it just clutters the output.
204
+ !@configuration.profile_examples? || (@configuration.fail_fast? && @failed_examples.size > 0)
205
+ end
206
+
207
+ def seed_used?
208
+ @configuration.seed && @configuration.seed_used?
209
+ end
210
+ end
211
+
212
+ # @private
213
+ # # Used in place of a {Reporter} for situations where we don't want reporting output.
214
+ class NullReporter
215
+ def self.method_missing(*)
216
+ # ignore
217
+ end
218
+ private_class_method :method_missing
219
+ end
220
+ end
@@ -0,0 +1,53 @@
1
+ # This is borrowed (slightly modified) from Scott Taylor's
2
+ # project_path project:
3
+ # http://github.com/smtlaissezfaire/project_path
4
+ module RSpec
5
+ module Core
6
+ # @private
7
+ module RubyProject
8
+ def add_to_load_path(*dirs)
9
+ dirs.map { |dir| add_dir_to_load_path(File.join(root, dir)) }
10
+ end
11
+
12
+ def add_dir_to_load_path(dir)
13
+ $LOAD_PATH.unshift(dir) unless $LOAD_PATH.include?(dir)
14
+ end
15
+
16
+ def root
17
+ @project_root ||= determine_root
18
+ end
19
+
20
+ def determine_root
21
+ find_first_parent_containing('spec') || '.'
22
+ end
23
+
24
+ def find_first_parent_containing(dir)
25
+ ascend_until { |path| File.exist?(File.join(path, dir)) }
26
+ end
27
+
28
+ def ascend_until
29
+ fs = File::SEPARATOR
30
+ escaped_slash = "\\#{fs}"
31
+ special = "_RSPEC_ESCAPED_SLASH_"
32
+ project_path = File.expand_path(".")
33
+ parts = project_path.gsub(escaped_slash, special).squeeze(fs).split(fs).map do |x|
34
+ x.gsub(special, escaped_slash)
35
+ end
36
+
37
+ until parts.empty?
38
+ path = parts.join(fs)
39
+ path = fs if path == ""
40
+ return path if yield(path)
41
+ parts.pop
42
+ end
43
+ end
44
+
45
+ module_function :add_to_load_path
46
+ module_function :add_dir_to_load_path
47
+ module_function :root
48
+ module_function :determine_root
49
+ module_function :find_first_parent_containing
50
+ module_function :ascend_until
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,179 @@
1
+ module RSpec
2
+ module Core
3
+ # Provides the main entry point to run a suite of RSpec examples.
4
+ class Runner
5
+ # Register an `at_exit` hook that runs the suite when the process exits.
6
+ #
7
+ # @note This is not generally needed. The `rspec` command takes care
8
+ # of running examples for you without involving an `at_exit`
9
+ # hook. This is only needed if you are running specs using
10
+ # the `ruby` command, and even then, the normal way to invoke
11
+ # this is by requiring `rspec/autorun`.
12
+ def self.autorun
13
+ if autorun_disabled?
14
+ RSpec.deprecate("Requiring `rspec/autorun` when running RSpec via the `rspec` command")
15
+ return
16
+ elsif installed_at_exit? || running_in_drb?
17
+ return
18
+ end
19
+
20
+ at_exit { perform_at_exit }
21
+ @installed_at_exit = true
22
+ end
23
+
24
+ # @private
25
+ def self.perform_at_exit
26
+ # Don't bother running any specs and just let the program terminate
27
+ # if we got here due to an unrescued exception (anything other than
28
+ # SystemExit, which is raised when somebody calls Kernel#exit).
29
+ return unless $!.nil? || $!.is_a?(SystemExit)
30
+
31
+ # We got here because either the end of the program was reached or
32
+ # somebody called Kernel#exit. Run the specs and then override any
33
+ # existing exit status with RSpec's exit status if any specs failed.
34
+ invoke
35
+ end
36
+
37
+ # Runs the suite of specs and exits the process with an appropriate exit
38
+ # code.
39
+ def self.invoke
40
+ disable_autorun!
41
+ status = run(ARGV, $stderr, $stdout).to_i
42
+ exit(status) if status != 0
43
+ end
44
+
45
+ # Run a suite of RSpec examples. Does not exit.
46
+ #
47
+ # This is used internally by RSpec to run a suite, but is available
48
+ # for use by any other automation tool.
49
+ #
50
+ # If you want to run this multiple times in the same process, and you
51
+ # want files like `spec_helper.rb` to be reloaded, be sure to load `load`
52
+ # instead of `require`.
53
+ #
54
+ # @param args [Array] command-line-supported arguments
55
+ # @param err [IO] error stream
56
+ # @param out [IO] output stream
57
+ # @return [Fixnum] exit status code. 0 if all specs passed,
58
+ # or the configured failure exit code (1 by default) if specs
59
+ # failed.
60
+ def self.run(args, err=$stderr, out=$stdout)
61
+ trap_interrupt
62
+ options = ConfigurationOptions.new(args)
63
+
64
+ if options.options[:drb]
65
+ require 'rspec/core/drb'
66
+ begin
67
+ DRbRunner.new(options).run(err, out)
68
+ rescue DRb::DRbConnError
69
+ err.puts "No DRb server is running. Running in local process instead ..."
70
+ new(options).run(err, out)
71
+ end
72
+ else
73
+ new(options).run(err, out)
74
+ end
75
+ end
76
+
77
+ def initialize(options, configuration=RSpec.configuration, world=RSpec.world)
78
+ @options = options
79
+ @configuration = configuration
80
+ @world = world
81
+ end
82
+
83
+ # Configures and runs a spec suite.
84
+ #
85
+ # @param err [IO] error stream
86
+ # @param out [IO] output stream
87
+ def run(err, out)
88
+ setup(err, out)
89
+ run_specs(@world.ordered_example_groups).tap do
90
+ persist_example_statuses
91
+ end
92
+ end
93
+
94
+ # Wires together the various configuration objects and state holders.
95
+ #
96
+ # @param err [IO] error stream
97
+ # @param out [IO] output stream
98
+ def setup(err, out)
99
+ @configuration.error_stream = err
100
+ @configuration.output_stream = out if @configuration.output_stream == $stdout
101
+ @options.configure(@configuration)
102
+ @configuration.load_spec_files
103
+ @world.announce_filters
104
+ end
105
+
106
+ # Runs the provided example groups.
107
+ #
108
+ # @param example_groups [Array<RSpec::Core::ExampleGroup>] groups to run
109
+ # @return [Fixnum] exit status code. 0 if all specs passed,
110
+ # or the configured failure exit code (1 by default) if specs
111
+ # failed.
112
+ def run_specs(example_groups)
113
+ @configuration.reporter.report(@world.example_count(example_groups)) do |reporter|
114
+ @configuration.with_suite_hooks do
115
+ example_groups.map { |g| g.run(reporter) }.all? ? 0 : @configuration.failure_exit_code
116
+ end
117
+ end
118
+ end
119
+
120
+ private
121
+
122
+ def persist_example_statuses
123
+ return unless (path = @configuration.example_status_persistence_file_path)
124
+
125
+ ExampleStatusPersister.persist(@world.all_examples, path)
126
+ rescue SystemCallError => e
127
+ RSpec.warning "Could not write example statuses to #{path} (configured as " \
128
+ "`config.example_status_persistence_file_path`) due to a " \
129
+ "system error: #{e.inspect}. Please check that the config " \
130
+ "option is set to an accessible, valid file path", :call_site => nil
131
+ end
132
+
133
+ # @private
134
+ def self.disable_autorun!
135
+ @autorun_disabled = true
136
+ end
137
+
138
+ # @private
139
+ def self.autorun_disabled?
140
+ @autorun_disabled ||= false
141
+ end
142
+
143
+ # @private
144
+ def self.installed_at_exit?
145
+ @installed_at_exit ||= false
146
+ end
147
+
148
+ # @private
149
+ # rubocop:disable Lint/EnsureReturn
150
+ def self.running_in_drb?
151
+ if defined?(DRb) && DRb.current_server
152
+ require 'socket'
153
+ require 'uri'
154
+ local_ipv4 = IPSocket.getaddress(Socket.gethostname)
155
+ local_drb = ["127.0.0.1", "localhost", local_ipv4].any? { |addr| addr == URI(DRb.current_server.uri).host }
156
+ end
157
+ rescue DRb::DRbServerNotFound
158
+ ensure
159
+ return local_drb || false
160
+ end
161
+ # rubocop:enable Lint/EnsureReturn
162
+
163
+ # @private
164
+ def self.trap_interrupt
165
+ trap('INT') { handle_interrupt }
166
+ end
167
+
168
+ # @private
169
+ def self.handle_interrupt
170
+ if RSpec.world.wants_to_quit
171
+ exit!(1)
172
+ else
173
+ RSpec.world.wants_to_quit = true
174
+ STDERR.puts "\nRSpec is shutting down and will print the summary report... Interrupt again to force quit."
175
+ end
176
+ end
177
+ end
178
+ end
179
+ end