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,498 @@
1
+ RSpec::Support.require_rspec_core "formatters/exception_presenter"
2
+ RSpec::Support.require_rspec_core "formatters/helpers"
3
+ RSpec::Support.require_rspec_core "shell_escape"
4
+ RSpec::Support.require_rspec_support "encoded_string"
5
+
6
+ module RSpec::Core
7
+ # Notifications are value objects passed to formatters to provide them
8
+ # with information about a particular event of interest.
9
+ module Notifications
10
+ # @private
11
+ module NullColorizer
12
+ module_function
13
+ def wrap(line, _code_or_symbol)
14
+ line
15
+ end
16
+ end
17
+
18
+ # The `StartNotification` represents a notification sent by the reporter
19
+ # when the suite is started. It contains the expected amount of examples
20
+ # to be executed, and the load time of RSpec.
21
+ #
22
+ # @attr count [Fixnum] the number counted
23
+ # @attr load_time [Float] the number of seconds taken to boot RSpec
24
+ # and load the spec files
25
+ StartNotification = Struct.new(:count, :load_time)
26
+
27
+ # The `ExampleNotification` represents notifications sent by the reporter
28
+ # which contain information about the current (or soon to be) example.
29
+ # It is used by formatters to access information about that example.
30
+ #
31
+ # @example
32
+ # def example_started(notification)
33
+ # puts "Hey I started #{notification.example.description}"
34
+ # end
35
+ #
36
+ # @attr example [RSpec::Core::Example] the current example
37
+ ExampleNotification = Struct.new(:example)
38
+ class ExampleNotification
39
+ # @private
40
+ def self.for(example)
41
+ execution_result = example.execution_result
42
+
43
+ return SkippedExampleNotification.new(example) if execution_result.example_skipped?
44
+ return new(example) unless execution_result.status == :pending || execution_result.status == :failed
45
+
46
+ klass = if execution_result.pending_fixed?
47
+ PendingExampleFixedNotification
48
+ elsif execution_result.status == :pending
49
+ PendingExampleFailedAsExpectedNotification
50
+ else
51
+ FailedExampleNotification
52
+ end
53
+
54
+ exception_presenter = Formatters::ExceptionPresenter::Factory.new(example).build
55
+ klass.new(example, exception_presenter)
56
+ end
57
+
58
+ private_class_method :new
59
+ end
60
+
61
+ # The `ExamplesNotification` represents notifications sent by the reporter
62
+ # which contain information about the suites examples.
63
+ #
64
+ # @example
65
+ # def stop(notification)
66
+ # puts "Hey I ran #{notification.examples.size}"
67
+ # end
68
+ #
69
+ class ExamplesNotification
70
+ def initialize(reporter)
71
+ @reporter = reporter
72
+ end
73
+
74
+ # @return [Array<RSpec::Core::Example>] list of examples
75
+ def examples
76
+ @reporter.examples
77
+ end
78
+
79
+ # @return [Array<RSpec::Core::Example>] list of failed examples
80
+ def failed_examples
81
+ @reporter.failed_examples
82
+ end
83
+
84
+ # @return [Array<RSpec::Core::Example>] list of pending examples
85
+ def pending_examples
86
+ @reporter.pending_examples
87
+ end
88
+
89
+ # @return [Array<RSpec::Core::Notifications::ExampleNotification>]
90
+ # returns examples as notifications
91
+ def notifications
92
+ @notifications ||= format_examples(examples)
93
+ end
94
+
95
+ # @return [Array<RSpec::Core::Notifications::FailedExampleNotification>]
96
+ # returns failed examples as notifications
97
+ def failure_notifications
98
+ @failed_notifications ||= format_examples(failed_examples)
99
+ end
100
+
101
+ # @return [Array<RSpec::Core::Notifications::SkippedExampleNotification,
102
+ # RSpec::Core::Notifications::PendingExampleFailedAsExpectedNotification>]
103
+ # returns pending examples as notifications
104
+ def pending_notifications
105
+ @pending_notifications ||= format_examples(pending_examples)
106
+ end
107
+
108
+ # @return [String] The list of failed examples, fully formatted in the way
109
+ # that RSpec's built-in formatters emit.
110
+ def fully_formatted_failed_examples(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
111
+ formatted = "\nFailures:\n"
112
+
113
+ failure_notifications.each_with_index do |failure, index|
114
+ formatted << failure.fully_formatted(index.next, colorizer)
115
+ end
116
+
117
+ formatted
118
+ end
119
+
120
+ # @return [String] The list of pending examples, fully formatted in the
121
+ # way that RSpec's built-in formatters emit.
122
+ def fully_formatted_pending_examples(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
123
+ formatted = "\nPending: (Failures listed here are expected and do not affect your suite's status)\n"
124
+
125
+ pending_notifications.each_with_index do |notification, index|
126
+ formatted << notification.fully_formatted(index.next, colorizer)
127
+ end
128
+
129
+ formatted
130
+ end
131
+
132
+ private
133
+
134
+ def format_examples(examples)
135
+ examples.map do |example|
136
+ ExampleNotification.for(example)
137
+ end
138
+ end
139
+ end
140
+
141
+ # The `FailedExampleNotification` extends `ExampleNotification` with
142
+ # things useful for examples that have failure info -- typically a
143
+ # failed or pending spec.
144
+ #
145
+ # @example
146
+ # def example_failed(notification)
147
+ # puts "Hey I failed :("
148
+ # puts "Here's my stack trace"
149
+ # puts notification.exception.backtrace.join("\n")
150
+ # end
151
+ #
152
+ # @attr [RSpec::Core::Example] example the current example
153
+ # @see ExampleNotification
154
+ class FailedExampleNotification < ExampleNotification
155
+ public_class_method :new
156
+
157
+ # @return [Exception] The example failure
158
+ def exception
159
+ @exception_presenter.exception
160
+ end
161
+
162
+ # @return [String] The example description
163
+ def description
164
+ @exception_presenter.description
165
+ end
166
+
167
+ # Returns the message generated for this failure line by line.
168
+ #
169
+ # @return [Array<String>] The example failure message
170
+ def message_lines
171
+ @exception_presenter.message_lines
172
+ end
173
+
174
+ # Returns the message generated for this failure colorized line by line.
175
+ #
176
+ # @param colorizer [#wrap] An object to colorize the message_lines by
177
+ # @return [Array<String>] The example failure message colorized
178
+ def colorized_message_lines(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
179
+ @exception_presenter.colorized_message_lines(colorizer)
180
+ end
181
+
182
+ # Returns the failures formatted backtrace.
183
+ #
184
+ # @return [Array<String>] the examples backtrace lines
185
+ def formatted_backtrace
186
+ @exception_presenter.formatted_backtrace
187
+ end
188
+
189
+ # Returns the failures colorized formatted backtrace.
190
+ #
191
+ # @param colorizer [#wrap] An object to colorize the message_lines by
192
+ # @return [Array<String>] the examples colorized backtrace lines
193
+ def colorized_formatted_backtrace(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
194
+ @exception_presenter.colorized_formatted_backtrace(colorizer)
195
+ end
196
+
197
+ # @return [String] The failure information fully formatted in the way that
198
+ # RSpec's built-in formatters emit.
199
+ def fully_formatted(failure_number, colorizer=::RSpec::Core::Formatters::ConsoleCodes)
200
+ @exception_presenter.fully_formatted(failure_number, colorizer)
201
+ end
202
+
203
+ private
204
+
205
+ def initialize(example, exception_presenter=Formatters::ExceptionPresenter.new(example.execution_result.exception, example))
206
+ @exception_presenter = exception_presenter
207
+ super(example)
208
+ end
209
+ end
210
+
211
+ # @deprecated Use {FailedExampleNotification} instead.
212
+ class PendingExampleFixedNotification < FailedExampleNotification; end
213
+
214
+ # @deprecated Use {FailedExampleNotification} instead.
215
+ class PendingExampleFailedAsExpectedNotification < FailedExampleNotification; end
216
+
217
+ # The `SkippedExampleNotification` extends `ExampleNotification` with
218
+ # things useful for specs that are skipped.
219
+ #
220
+ # @attr [RSpec::Core::Example] example the current example
221
+ # @see ExampleNotification
222
+ class SkippedExampleNotification < ExampleNotification
223
+ public_class_method :new
224
+
225
+ # @return [String] The pending detail fully formatted in the way that
226
+ # RSpec's built-in formatters emit.
227
+ def fully_formatted(pending_number, colorizer=::RSpec::Core::Formatters::ConsoleCodes)
228
+ formatted_caller = RSpec.configuration.backtrace_formatter.backtrace_line(example.location)
229
+ colorizer.wrap("\n #{pending_number}) #{example.full_description}", :pending) << "\n " <<
230
+ Formatters::ExceptionPresenter::PENDING_DETAIL_FORMATTER.call(example, colorizer) <<
231
+ "\n" << colorizer.wrap(" # #{formatted_caller}\n", :detail)
232
+ end
233
+ end
234
+
235
+ # The `GroupNotification` represents notifications sent by the reporter
236
+ # which contain information about the currently running (or soon to be)
237
+ # example group. It is used by formatters to access information about that
238
+ # group.
239
+ #
240
+ # @example
241
+ # def example_group_started(notification)
242
+ # puts "Hey I started #{notification.group.description}"
243
+ # end
244
+ # @attr group [RSpec::Core::ExampleGroup] the current group
245
+ GroupNotification = Struct.new(:group)
246
+
247
+ # The `MessageNotification` encapsulates generic messages that the reporter
248
+ # sends to formatters.
249
+ #
250
+ # @attr message [String] the message
251
+ MessageNotification = Struct.new(:message)
252
+
253
+ # The `SeedNotification` holds the seed used to randomize examples and
254
+ # whether that seed has been used or not.
255
+ #
256
+ # @attr seed [Fixnum] the seed used to randomize ordering
257
+ # @attr used [Boolean] whether the seed has been used or not
258
+ SeedNotification = Struct.new(:seed, :used)
259
+ class SeedNotification
260
+ # @api
261
+ # @return [Boolean] has the seed been used?
262
+ def seed_used?
263
+ !!used
264
+ end
265
+ private :used
266
+
267
+ # @return [String] The seed information fully formatted in the way that
268
+ # RSpec's built-in formatters emit.
269
+ def fully_formatted
270
+ "\nRandomized with seed #{seed}\n"
271
+ end
272
+ end
273
+
274
+ # The `SummaryNotification` holds information about the results of running
275
+ # a test suite. It is used by formatters to provide information at the end
276
+ # of the test run.
277
+ #
278
+ # @attr duration [Float] the time taken (in seconds) to run the suite
279
+ # @attr examples [Array<RSpec::Core::Example>] the examples run
280
+ # @attr failed_examples [Array<RSpec::Core::Example>] the failed examples
281
+ # @attr pending_examples [Array<RSpec::Core::Example>] the pending examples
282
+ # @attr load_time [Float] the number of seconds taken to boot RSpec
283
+ # and load the spec files
284
+ SummaryNotification = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time)
285
+ class SummaryNotification
286
+ # @api
287
+ # @return [Fixnum] the number of examples run
288
+ def example_count
289
+ @example_count ||= examples.size
290
+ end
291
+
292
+ # @api
293
+ # @return [Fixnum] the number of failed examples
294
+ def failure_count
295
+ @failure_count ||= failed_examples.size
296
+ end
297
+
298
+ # @api
299
+ # @return [Fixnum] the number of pending examples
300
+ def pending_count
301
+ @pending_count ||= pending_examples.size
302
+ end
303
+
304
+ # @api
305
+ # @return [String] A line summarising the result totals of the spec run.
306
+ def totals_line
307
+ summary = Formatters::Helpers.pluralize(example_count, "example")
308
+ summary << ", " << Formatters::Helpers.pluralize(failure_count, "failure")
309
+ summary << ", #{pending_count} pending" if pending_count > 0
310
+ summary
311
+ end
312
+
313
+ # @api public
314
+ #
315
+ # Wraps the results line with colors based on the configured
316
+ # colors for failure, pending, and success. Defaults to red,
317
+ # yellow, green accordingly.
318
+ #
319
+ # @param colorizer [#wrap] An object which supports wrapping text with
320
+ # specific colors.
321
+ # @return [String] A colorized results line.
322
+ def colorized_totals_line(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
323
+ if failure_count > 0
324
+ colorizer.wrap(totals_line, RSpec.configuration.failure_color)
325
+ elsif pending_count > 0
326
+ colorizer.wrap(totals_line, RSpec.configuration.pending_color)
327
+ else
328
+ colorizer.wrap(totals_line, RSpec.configuration.success_color)
329
+ end
330
+ end
331
+
332
+ # @api public
333
+ #
334
+ # Formats failures into a rerunable command format.
335
+ #
336
+ # @param colorizer [#wrap] An object which supports wrapping text with
337
+ # specific colors.
338
+ # @return [String] A colorized summary line.
339
+ def colorized_rerun_commands(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
340
+ "\nFailed examples:\n\n" +
341
+ failed_examples.map do |example|
342
+ colorizer.wrap("rspec #{rerun_argument_for(example)}", RSpec.configuration.failure_color) + " " +
343
+ colorizer.wrap("# #{example.full_description}", RSpec.configuration.detail_color)
344
+ end.join("\n")
345
+ end
346
+
347
+ # @return [String] a formatted version of the time it took to run the
348
+ # suite
349
+ def formatted_duration
350
+ Formatters::Helpers.format_duration(duration)
351
+ end
352
+
353
+ # @return [String] a formatted version of the time it took to boot RSpec
354
+ # and load the spec files
355
+ def formatted_load_time
356
+ Formatters::Helpers.format_duration(load_time)
357
+ end
358
+
359
+ # @return [String] The summary information fully formatted in the way that
360
+ # RSpec's built-in formatters emit.
361
+ def fully_formatted(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
362
+ formatted = "\nFinished in #{formatted_duration} " \
363
+ "(files took #{formatted_load_time} to load)\n" \
364
+ "#{colorized_totals_line(colorizer)}\n"
365
+
366
+ unless failed_examples.empty?
367
+ formatted << colorized_rerun_commands(colorizer) << "\n"
368
+ end
369
+
370
+ formatted
371
+ end
372
+
373
+ private
374
+
375
+ include RSpec::Core::ShellEscape
376
+
377
+ def rerun_argument_for(example)
378
+ location = example.location_rerun_argument
379
+ return location unless duplicate_rerun_locations.include?(location)
380
+ conditionally_quote(example.id)
381
+ end
382
+
383
+ def duplicate_rerun_locations
384
+ @duplicate_rerun_locations ||= begin
385
+ locations = RSpec.world.all_examples.map(&:location_rerun_argument)
386
+
387
+ Set.new.tap do |s|
388
+ locations.group_by { |l| l }.each do |l, ls|
389
+ s << l if ls.count > 1
390
+ end
391
+ end
392
+ end
393
+ end
394
+ end
395
+
396
+ # The `ProfileNotification` holds information about the results of running a
397
+ # test suite when profiling is enabled. It is used by formatters to provide
398
+ # information at the end of the test run for profiling information.
399
+ #
400
+ # @attr duration [Float] the time taken (in seconds) to run the suite
401
+ # @attr examples [Array<RSpec::Core::Example>] the examples run
402
+ # @attr number_of_examples [Fixnum] the number of examples to profile
403
+ # @attr example_groups [Array<RSpec::Core::Profiler>] example groups run
404
+ class ProfileNotification
405
+ def initialize(duration, examples, number_of_examples, example_groups)
406
+ @duration = duration
407
+ @examples = examples
408
+ @number_of_examples = number_of_examples
409
+ @example_groups = example_groups
410
+ end
411
+ attr_reader :duration, :examples, :number_of_examples
412
+
413
+ # @return [Array<RSpec::Core::Example>] the slowest examples
414
+ def slowest_examples
415
+ @slowest_examples ||=
416
+ examples.sort_by do |example|
417
+ -example.execution_result.run_time
418
+ end.first(number_of_examples)
419
+ end
420
+
421
+ # @return [Float] the time taken (in seconds) to run the slowest examples
422
+ def slow_duration
423
+ @slow_duration ||=
424
+ slowest_examples.inject(0.0) do |i, e|
425
+ i + e.execution_result.run_time
426
+ end
427
+ end
428
+
429
+ # @return [String] the percentage of total time taken
430
+ def percentage
431
+ @percentage ||=
432
+ begin
433
+ time_taken = slow_duration / duration
434
+ '%.1f' % ((time_taken.nan? ? 0.0 : time_taken) * 100)
435
+ end
436
+ end
437
+
438
+ # @return [Array<RSpec::Core::Example>] the slowest example groups
439
+ def slowest_groups
440
+ @slowest_groups ||= calculate_slowest_groups
441
+ end
442
+
443
+ private
444
+
445
+ def calculate_slowest_groups
446
+ # stop if we've only one example group
447
+ return {} if @example_groups.keys.length <= 1
448
+
449
+ @example_groups.each_value do |hash|
450
+ hash[:average] = hash[:total_time].to_f / hash[:count]
451
+ end
452
+
453
+ groups = @example_groups.sort_by { |_, hash| -hash[:average] }.first(number_of_examples)
454
+ groups.map { |group, data| [group.location, data] }
455
+ end
456
+ end
457
+
458
+ # The `DeprecationNotification` is issued by the reporter when a deprecated
459
+ # part of RSpec is encountered. It represents information about the
460
+ # deprecated call site.
461
+ #
462
+ # @attr message [String] A custom message about the deprecation
463
+ # @attr deprecated [String] A custom message about the deprecation (alias of
464
+ # message)
465
+ # @attr replacement [String] An optional replacement for the deprecation
466
+ # @attr call_site [String] An optional call site from which the deprecation
467
+ # was issued
468
+ DeprecationNotification = Struct.new(:deprecated, :message, :replacement, :call_site)
469
+ class DeprecationNotification
470
+ private_class_method :new
471
+
472
+ # @api
473
+ # Convenience way to initialize the notification
474
+ def self.from_hash(data)
475
+ new data[:deprecated], data[:message], data[:replacement], data[:call_site]
476
+ end
477
+ end
478
+
479
+ # `NullNotification` represents a placeholder value for notifications that
480
+ # currently require no information, but we may wish to extend in future.
481
+ class NullNotification
482
+ end
483
+
484
+ # `CustomNotification` is used when sending custom events to formatters /
485
+ # other registered listeners, it creates attributes based on supplied hash
486
+ # of options.
487
+ class CustomNotification < Struct
488
+ # @param options [Hash] A hash of method / value pairs to create on this notification
489
+ # @return [CustomNotification]
490
+ #
491
+ # Build a custom notification based on the supplied option key / values.
492
+ def self.for(options={})
493
+ return NullNotification if options.keys.empty?
494
+ new(*options.keys).new(*options.values)
495
+ end
496
+ end
497
+ end
498
+ end