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,290 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+
3
+ require 'rubygems'
4
+ require 'pathname'
5
+
6
+ file = Pathname.new(__FILE__).expand_path
7
+ path = file.parent
8
+ parent = path.parent
9
+
10
+ $:.unshift parent.join('lib')
11
+
12
+ require 'diff-lcs'
13
+
14
+ module Diff::LCS::SpecHelper
15
+ def hello
16
+ "hello"
17
+ end
18
+
19
+ def hello_ary
20
+ %W(h e l l o)
21
+ end
22
+
23
+ def seq1
24
+ %w(a b c e h j l m n p)
25
+ end
26
+
27
+ def skipped_seq1
28
+ %w(a h n p)
29
+ end
30
+
31
+ def seq2
32
+ %w(b c d e f j k l m r s t)
33
+ end
34
+
35
+ def skipped_seq2
36
+ %w(d f k r s t)
37
+ end
38
+
39
+ def word_sequence
40
+ %w(abcd efgh ijkl mnopqrstuvwxyz)
41
+ end
42
+
43
+ def correct_lcs
44
+ %w(b c e j l m)
45
+ end
46
+
47
+ def correct_forward_diff
48
+ [
49
+ [ [ '-', 0, 'a' ] ],
50
+ [ [ '+', 2, 'd' ] ],
51
+ [ [ '-', 4, 'h' ],
52
+ [ '+', 4, 'f' ] ],
53
+ [ [ '+', 6, 'k' ] ],
54
+ [ [ '-', 8, 'n' ],
55
+ [ '-', 9, 'p' ],
56
+ [ '+', 9, 'r' ],
57
+ [ '+', 10, 's' ],
58
+ [ '+', 11, 't' ] ]
59
+ ]
60
+ end
61
+
62
+ def correct_backward_diff
63
+ [
64
+ [ [ '+', 0, 'a' ] ],
65
+ [ [ '-', 2, 'd' ] ],
66
+ [ [ '-', 4, 'f' ],
67
+ [ '+', 4, 'h' ] ],
68
+ [ [ '-', 6, 'k' ] ],
69
+ [
70
+ [ '-', 9, 'r' ],
71
+ [ '-', 10, 's' ],
72
+ [ '+', 8, 'n' ],
73
+ [ '-', 11, 't' ],
74
+ [ '+', 9, 'p' ] ]
75
+ ]
76
+ end
77
+
78
+ def correct_forward_sdiff
79
+ [
80
+ [ '-', [ 0, 'a' ], [ 0, nil ] ],
81
+ [ '=', [ 1, 'b' ], [ 0, 'b' ] ],
82
+ [ '=', [ 2, 'c' ], [ 1, 'c' ] ],
83
+ [ '+', [ 3, nil ], [ 2, 'd' ] ],
84
+ [ '=', [ 3, 'e' ], [ 3, 'e' ] ],
85
+ [ '!', [ 4, 'h' ], [ 4, 'f' ] ],
86
+ [ '=', [ 5, 'j' ], [ 5, 'j' ] ],
87
+ [ '+', [ 6, nil ], [ 6, 'k' ] ],
88
+ [ '=', [ 6, 'l' ], [ 7, 'l' ] ],
89
+ [ '=', [ 7, 'm' ], [ 8, 'm' ] ],
90
+ [ '!', [ 8, 'n' ], [ 9, 'r' ] ],
91
+ [ '!', [ 9, 'p' ], [ 10, 's' ] ],
92
+ [ '+', [ 10, nil ], [ 11, 't' ] ]
93
+ ]
94
+ end
95
+
96
+ def reverse_sdiff(forward_sdiff)
97
+ forward_sdiff.map { |line|
98
+ line[1], line[2] = line[2], line[1]
99
+ case line[0]
100
+ when '-' then line[0] = '+'
101
+ when '+' then line[0] = '-'
102
+ end
103
+ line
104
+ }
105
+ end
106
+
107
+ def change_diff(diff)
108
+ map_diffs(diff, Diff::LCS::Change)
109
+ end
110
+
111
+ def context_diff(diff)
112
+ map_diffs(diff, Diff::LCS::ContextChange)
113
+ end
114
+
115
+ def format_diffs(diffs)
116
+ diffs.map do |e|
117
+ if e.kind_of?(Array)
118
+ e.map { |f| f.to_a.join }.join(", ")
119
+ else
120
+ e.to_a.join
121
+ end
122
+ end.join("\n")
123
+ end
124
+
125
+ def map_diffs(diffs, klass = Diff::LCS::ContextChange)
126
+ diffs.map do |chunks|
127
+ if klass == Diff::LCS::ContextChange
128
+ klass.from_a(chunks)
129
+ else
130
+ chunks.map { |changes| klass.from_a(changes) }
131
+ end
132
+ end
133
+ end
134
+
135
+ def balanced_traversal(s1, s2, callback_type)
136
+ callback = __send__(callback_type)
137
+ Diff::LCS.traverse_balanced(s1, s2, callback)
138
+ callback
139
+ end
140
+
141
+ def balanced_reverse(change_result)
142
+ new_result = []
143
+ change_result.each { |line|
144
+ line = [ line[0], line[2], line[1] ]
145
+ case line[0]
146
+ when '<'
147
+ line[0] = '>'
148
+ when '>'
149
+ line[0] = '<'
150
+ end
151
+ new_result << line
152
+ }
153
+ new_result.sort_by { |line| [ line[1], line[2] ] }
154
+ end
155
+
156
+ def map_to_no_change(change_result)
157
+ new_result = []
158
+ change_result.each { |line|
159
+ case line[0]
160
+ when '!'
161
+ new_result << [ '<', line[1], line[2] ]
162
+ new_result << [ '>', line[1] + 1, line[2] ]
163
+ else
164
+ new_result << line
165
+ end
166
+ }
167
+ new_result
168
+ end
169
+
170
+ def simple_callback
171
+ callbacks = Object.new
172
+ class << callbacks
173
+ attr_reader :matched_a
174
+ attr_reader :matched_b
175
+ attr_reader :discards_a
176
+ attr_reader :discards_b
177
+ attr_reader :done_a
178
+ attr_reader :done_b
179
+
180
+ def reset
181
+ @matched_a = []
182
+ @matched_b = []
183
+ @discards_a = []
184
+ @discards_b = []
185
+ @done_a = []
186
+ @done_b = []
187
+ end
188
+
189
+ def match(event)
190
+ @matched_a << event.old_element
191
+ @matched_b << event.new_element
192
+ end
193
+
194
+ def discard_b(event)
195
+ @discards_b << event.new_element
196
+ end
197
+
198
+ def discard_a(event)
199
+ @discards_a << event.old_element
200
+ end
201
+
202
+ def finished_a(event)
203
+ @done_a << [event.old_element, event.old_position,
204
+ event.new_element, event.new_position]
205
+ end
206
+
207
+ def finished_b(event)
208
+ p "called #finished_b"
209
+ @done_b << [event.old_element, event.old_position,
210
+ event.new_element, event.new_position]
211
+ end
212
+ end
213
+ callbacks.reset
214
+ callbacks
215
+ end
216
+
217
+ def simple_callback_no_finishers
218
+ simple = simple_callback
219
+ class << simple
220
+ undef :finished_a
221
+ undef :finished_b
222
+ end
223
+ simple
224
+ end
225
+
226
+ def balanced_callback
227
+ cb = Object.new
228
+ class << cb
229
+ attr_reader :result
230
+
231
+ def reset
232
+ @result = []
233
+ end
234
+
235
+ def match(event)
236
+ @result << [ "=", event.old_position, event.new_position ]
237
+ end
238
+
239
+ def discard_a(event)
240
+ @result << [ "<", event.old_position, event.new_position ]
241
+ end
242
+
243
+ def discard_b(event)
244
+ @result << [ ">", event.old_position, event.new_position ]
245
+ end
246
+
247
+ def change(event)
248
+ @result << [ "!", event.old_position, event.new_position ]
249
+ end
250
+ end
251
+ cb.reset
252
+ cb
253
+ end
254
+
255
+ def balanced_callback_no_change
256
+ balanced = balanced_callback
257
+ class << balanced
258
+ undef :change
259
+ end
260
+ balanced
261
+ end
262
+
263
+ module Matchers
264
+ extend RSpec::Matchers::DSL
265
+
266
+ matcher :be_nil_or_match_values do |ii, s1, s2|
267
+ match do |ee|
268
+ ee.should satisfy { |vee| vee.nil? || s1[ii] == s2[ee] }
269
+ end
270
+ end
271
+
272
+ matcher :correctly_map_sequence do |s1|
273
+ match do |actual|
274
+ actual.each_with_index { |ee, ii|
275
+ ee.should be_nil_or_match_values(ii, s1, @s2)
276
+ }
277
+ end
278
+
279
+ chain :to_other_sequence do |s2|
280
+ @s2 = s2
281
+ end
282
+ end
283
+ end
284
+ end
285
+
286
+ RSpec.configure do |conf|
287
+ conf.include Diff::LCS::SpecHelper
288
+ conf.alias_it_should_behave_like_to :it_has_behavior, 'has behavior:'
289
+ conf.filter_run_excluding :broken => true
290
+ end
@@ -0,0 +1,310 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "Diff::LCS.traverse_balanced" do
6
+ include Diff::LCS::SpecHelper::Matchers
7
+
8
+ shared_examples "with a #change callback" do |s1, s2, result|
9
+ it "should traverse s1 -> s2 correctly" do
10
+ traversal = balanced_traversal(s1, s2, :balanced_callback)
11
+ traversal.result.should == result
12
+ end
13
+
14
+ it "should traverse s2 -> s1 correctly" do
15
+ traversal = balanced_traversal(s2, s1, :balanced_callback)
16
+ traversal.result.should == balanced_reverse(result)
17
+ end
18
+ end
19
+
20
+ shared_examples "without a #change callback" do |s1, s2, result|
21
+ it "should traverse s1 -> s2 correctly" do
22
+ traversal = balanced_traversal(s1, s2, :balanced_callback_no_change)
23
+ traversal.result.should == map_to_no_change(result)
24
+ end
25
+
26
+ it "should traverse s2 -> s1 correctly" do
27
+ traversal = balanced_traversal(s2, s1, :balanced_callback_no_change)
28
+ traversal.result.should == map_to_no_change(balanced_reverse(result))
29
+ end
30
+ end
31
+
32
+ describe "identical string sequences ('abc')" do
33
+ s1 = s2 = "abc"
34
+
35
+ result = [
36
+ [ '=', 0, 0 ],
37
+ [ '=', 1, 1 ],
38
+ [ '=', 2, 2 ]
39
+ ]
40
+
41
+ it_has_behavior "with a #change callback", s1, s2, result
42
+ it_has_behavior "without a #change callback", s1, s2, result
43
+ end
44
+
45
+ describe "identical array sequences %w(a b c)" do
46
+ s1 = s2 = %w(a b c)
47
+
48
+ result = [
49
+ [ '=', 0, 0 ],
50
+ [ '=', 1, 1 ],
51
+ [ '=', 2, 2 ]
52
+ ]
53
+
54
+ it_has_behavior "with a #change callback", s1, s2, result
55
+ it_has_behavior "without a #change callback", s1, s2, result
56
+ end
57
+
58
+ describe "sequences %w(a b c) & %w(a x c)" do
59
+ s1 = %w(a b c)
60
+ s2 = %w(a x c)
61
+
62
+ result = [
63
+ [ '=', 0, 0 ],
64
+ [ '!', 1, 1 ],
65
+ [ '=', 2, 2 ]
66
+ ]
67
+
68
+ it_has_behavior "with a #change callback", s1, s2, result
69
+ it_has_behavior "without a #change callback", s1, s2, result
70
+ end
71
+
72
+ describe "sequences %w(a x y c) & %w(a v w c)" do
73
+ s1 = %w(a x y c)
74
+ s2 = %w(a v w c)
75
+
76
+ result = [
77
+ [ '=', 0, 0 ],
78
+ [ '!', 1, 1 ],
79
+ [ '!', 2, 2 ],
80
+ [ '=', 3, 3 ]
81
+ ]
82
+
83
+ it_has_behavior "with a #change callback", s1, s2, result
84
+ it_has_behavior "without a #change callback", s1, s2, result
85
+ end
86
+
87
+ describe "sequences %w(x y c) & %w(v w c)" do
88
+ s1 = %w(x y c)
89
+ s2 = %w(v w c)
90
+ result = [
91
+ [ '!', 0, 0 ],
92
+ [ '!', 1, 1 ],
93
+ [ '=', 2, 2 ]
94
+ ]
95
+
96
+ it_has_behavior "with a #change callback", s1, s2, result
97
+ it_has_behavior "without a #change callback", s1, s2, result
98
+ end
99
+
100
+ describe "sequences %w(a x y z) & %w(b v w)" do
101
+ s1 = %w(a x y z)
102
+ s2 = %w(b v w)
103
+ result = [
104
+ [ '!', 0, 0 ],
105
+ [ '!', 1, 1 ],
106
+ [ '!', 2, 2 ],
107
+ [ '<', 3, 3 ]
108
+ ]
109
+
110
+ it_has_behavior "with a #change callback", s1, s2, result
111
+ it_has_behavior "without a #change callback", s1, s2, result
112
+ end
113
+
114
+ describe "sequences %w(a z) & %w(a)" do
115
+ s1 = %w(a z)
116
+ s2 = %w(a)
117
+ result = [
118
+ [ '=', 0, 0 ],
119
+ [ '<', 1, 1 ]
120
+ ]
121
+
122
+ it_has_behavior "with a #change callback", s1, s2, result
123
+ it_has_behavior "without a #change callback", s1, s2, result
124
+ end
125
+
126
+ describe "sequences %w(z a) & %w(a)" do
127
+ s1 = %w(z a)
128
+ s2 = %w(a)
129
+ result = [
130
+ [ '<', 0, 0 ],
131
+ [ '=', 1, 0 ]
132
+ ]
133
+
134
+ it_has_behavior "with a #change callback", s1, s2, result
135
+ it_has_behavior "without a #change callback", s1, s2, result
136
+ end
137
+
138
+ describe "sequences %w(a b c) & %w(x y z)" do
139
+ s1 = %w(a b c)
140
+ s2 = %w(x y z)
141
+ result = [
142
+ [ '!', 0, 0 ],
143
+ [ '!', 1, 1 ],
144
+ [ '!', 2, 2 ]
145
+ ]
146
+
147
+ it_has_behavior "with a #change callback", s1, s2, result
148
+ it_has_behavior "without a #change callback", s1, s2, result
149
+ end
150
+
151
+ describe "sequences %w(abcd efgh ijkl mnoopqrstuvwxyz) & []" do
152
+ s1 = %w(abcd efgh ijkl mnopqrstuvwxyz)
153
+ s2 = []
154
+ result = [
155
+ [ '<', 0, 0 ],
156
+ [ '<', 1, 0 ],
157
+ [ '<', 2, 0 ],
158
+ [ '<', 3, 0 ]
159
+ ]
160
+
161
+ it_has_behavior "with a #change callback", s1, s2, result
162
+ it_has_behavior "without a #change callback", s1, s2, result
163
+ end
164
+
165
+ describe "strings %Q(a b c) & %Q(a x c)" do
166
+ s1 = %Q(a b c)
167
+ s2 = %Q(a x c)
168
+
169
+ result = [
170
+ [ '=', 0, 0 ],
171
+ [ '=', 1, 1 ],
172
+ [ '!', 2, 2 ],
173
+ [ '=', 3, 3 ],
174
+ [ '=', 4, 4 ]
175
+ ]
176
+
177
+ it_has_behavior "with a #change callback", s1, s2, result
178
+ it_has_behavior "without a #change callback", s1, s2, result
179
+ end
180
+
181
+ describe "strings %Q(a x y c) & %Q(a v w c)" do
182
+ s1 = %Q(a x y c)
183
+ s2 = %Q(a v w c)
184
+
185
+ result = [
186
+ [ '=', 0, 0 ],
187
+ [ '=', 1, 1 ],
188
+ [ '!', 2, 2 ],
189
+ [ '=', 3, 3 ],
190
+ [ '!', 4, 4 ],
191
+ [ '=', 5, 5 ],
192
+ [ '=', 6, 6 ]
193
+ ]
194
+
195
+ it_has_behavior "with a #change callback", s1, s2, result
196
+ it_has_behavior "without a #change callback", s1, s2, result
197
+ end
198
+
199
+ describe "strings %Q(x y c) & %Q(v w c)" do
200
+ s1 = %Q(x y c)
201
+ s2 = %Q(v w c)
202
+ result = [
203
+ [ '!', 0, 0 ],
204
+ [ '=', 1, 1 ],
205
+ [ '!', 2, 2 ],
206
+ [ '=', 3, 3 ],
207
+ [ '=', 4, 4 ]
208
+ ]
209
+
210
+ it_has_behavior "with a #change callback", s1, s2, result
211
+ it_has_behavior "without a #change callback", s1, s2, result
212
+ end
213
+
214
+ describe "strings %Q(a x y z) & %Q(b v w)" do
215
+ s1 = %Q(a x y z)
216
+ s2 = %Q(b v w)
217
+ result = [
218
+ [ '!', 0, 0 ],
219
+ [ '=', 1, 1 ],
220
+ [ '!', 2, 2 ],
221
+ [ '=', 3, 3 ],
222
+ [ '!', 4, 4 ],
223
+ [ '<', 5, 5 ],
224
+ [ '<', 6, 5 ]
225
+ ]
226
+
227
+ it_has_behavior "with a #change callback", s1, s2, result
228
+ it_has_behavior "without a #change callback", s1, s2, result
229
+ end
230
+
231
+ describe "strings %Q(a z) & %Q(a)" do
232
+ s1 = %Q(a z)
233
+ s2 = %Q(a)
234
+ result = [
235
+ [ '=', 0, 0 ],
236
+ [ '<', 1, 1 ],
237
+ [ '<', 2, 1 ]
238
+ ]
239
+
240
+ it_has_behavior "with a #change callback", s1, s2, result
241
+ it_has_behavior "without a #change callback", s1, s2, result
242
+ end
243
+
244
+ describe "strings %Q(z a) & %Q(a)" do
245
+ s1 = %Q(z a)
246
+ s2 = %Q(a)
247
+ result = [
248
+ [ '<', 0, 0 ],
249
+ [ '<', 1, 0 ],
250
+ [ '=', 2, 0 ]
251
+ ]
252
+
253
+ it_has_behavior "with a #change callback", s1, s2, result
254
+ it_has_behavior "without a #change callback", s1, s2, result
255
+ end
256
+
257
+ describe "strings %Q(a b c) & %Q(x y z)" do
258
+ s1 = %Q(a b c)
259
+ s2 = %Q(x y z)
260
+ result = [
261
+ [ '!', 0, 0 ],
262
+ [ '=', 1, 1 ],
263
+ [ '!', 2, 2 ],
264
+ [ '=', 3, 3 ],
265
+ [ '!', 4, 4 ]
266
+ ]
267
+
268
+ it_has_behavior "with a #change callback", s1, s2, result
269
+ it_has_behavior "without a #change callback", s1, s2, result
270
+ end
271
+
272
+ describe "strings %Q(abcd efgh ijkl mnopqrstuvwxyz) & %Q()" do
273
+ s1 = %Q(abcd efgh ijkl mnopqrstuvwxyz)
274
+ s2 = ""
275
+ result = [
276
+ [ '<', 0, 0 ],
277
+ [ '<', 1, 0 ],
278
+ [ '<', 2, 0 ],
279
+ [ '<', 3, 0 ],
280
+ [ '<', 4, 0 ],
281
+ [ '<', 5, 0 ],
282
+ [ '<', 6, 0 ],
283
+ [ '<', 7, 0 ],
284
+ [ '<', 8, 0 ],
285
+ [ '<', 9, 0 ],
286
+ [ '<', 10, 0 ],
287
+ [ '<', 11, 0 ],
288
+ [ '<', 12, 0 ],
289
+ [ '<', 13, 0 ],
290
+ [ '<', 14, 0 ],
291
+ [ '<', 15, 0 ],
292
+ [ '<', 16, 0 ],
293
+ [ '<', 17, 0 ],
294
+ [ '<', 18, 0 ],
295
+ [ '<', 19, 0 ],
296
+ [ '<', 20, 0 ],
297
+ [ '<', 21, 0 ],
298
+ [ '<', 22, 0 ],
299
+ [ '<', 23, 0 ],
300
+ [ '<', 24, 0 ],
301
+ [ '<', 25, 0 ],
302
+ [ '<', 26, 0 ],
303
+ [ '<', 27, 0 ],
304
+ [ '<', 28, 0 ],
305
+ ]
306
+
307
+ it_has_behavior "with a #change callback", s1, s2, result
308
+ it_has_behavior "without a #change callback", s1, s2, result
309
+ end
310
+ end