echonet_lite 0.1.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 (346) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +43 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/echonet_lite.gemspec +37 -0
  13. data/lib/echonet_lite.rb +149 -0
  14. data/lib/echonet_lite/version.rb +3 -0
  15. data/vendor/bundle/bin/htmldiff +29 -0
  16. data/vendor/bundle/bin/htmldiff.bat +6 -0
  17. data/vendor/bundle/bin/ldiff +29 -0
  18. data/vendor/bundle/bin/ldiff.bat +6 -0
  19. data/vendor/bundle/bin/rspec +27 -0
  20. data/vendor/bundle/bin/rspec.bat +6 -0
  21. data/vendor/bundle/cache/diff-lcs-1.3.gem +0 -0
  22. data/vendor/bundle/cache/echonet_lite-0.1.0.gem +0 -0
  23. data/vendor/bundle/cache/ipaddr-1.0.0.gem +0 -0
  24. data/vendor/bundle/cache/ipaddress-0.8.3.gem +0 -0
  25. data/vendor/bundle/cache/rspec-3.6.0.gem +0 -0
  26. data/vendor/bundle/cache/rspec-core-3.6.0.gem +0 -0
  27. data/vendor/bundle/cache/rspec-expectations-3.6.0.gem +0 -0
  28. data/vendor/bundle/cache/rspec-mocks-3.6.0.gem +0 -0
  29. data/vendor/bundle/cache/rspec-support-3.6.0.gem +0 -0
  30. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/GSET-c.ri +0 -0
  31. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/Hexadecimal_str-c.ri +0 -0
  32. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/Receive-c.ri +0 -0
  33. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/ReceivePrint-c.ri +0 -0
  34. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/SETC-c.ri +0 -0
  35. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/SETI-c.ri +0 -0
  36. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/cdesc-EL.ri +0 -0
  37. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/pattern-c.ri +0 -0
  38. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/search-c.ri +0 -0
  39. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/sendOPC1-c.ri +0 -0
  40. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/sendString-c.ri +0 -0
  41. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EL/udp_send-c.ri +0 -0
  42. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/EchonetLite/cdesc-EchonetLite.ri +0 -0
  43. data/vendor/bundle/doc/echonet_lite-0.1.0/ri/cache.ri +0 -0
  44. data/vendor/bundle/gems/diff-lcs-1.3/.rspec +1 -0
  45. data/vendor/bundle/gems/diff-lcs-1.3/Code-of-Conduct.md +74 -0
  46. data/vendor/bundle/gems/diff-lcs-1.3/Contributing.md +83 -0
  47. data/vendor/bundle/gems/diff-lcs-1.3/History.md +220 -0
  48. data/vendor/bundle/gems/diff-lcs-1.3/License.md +39 -0
  49. data/vendor/bundle/gems/diff-lcs-1.3/Manifest.txt +37 -0
  50. data/vendor/bundle/gems/diff-lcs-1.3/README.rdoc +84 -0
  51. data/vendor/bundle/gems/diff-lcs-1.3/Rakefile +57 -0
  52. data/vendor/bundle/gems/diff-lcs-1.3/autotest/discover.rb +1 -0
  53. data/vendor/bundle/gems/diff-lcs-1.3/bin/htmldiff +32 -0
  54. data/vendor/bundle/gems/diff-lcs-1.3/bin/ldiff +6 -0
  55. data/vendor/bundle/gems/diff-lcs-1.3/docs/COPYING.txt +339 -0
  56. data/vendor/bundle/gems/diff-lcs-1.3/docs/artistic.txt +127 -0
  57. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff-lcs.rb +3 -0
  58. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs.rb +725 -0
  59. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +7 -0
  60. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +37 -0
  61. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +322 -0
  62. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +181 -0
  63. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +149 -0
  64. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +276 -0
  65. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +307 -0
  66. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +167 -0
  67. data/vendor/bundle/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +5 -0
  68. data/vendor/bundle/gems/diff-lcs-1.3/spec/change_spec.rb +65 -0
  69. data/vendor/bundle/gems/diff-lcs-1.3/spec/diff_spec.rb +47 -0
  70. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +50 -0
  71. data/vendor/bundle/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +51 -0
  72. data/vendor/bundle/gems/diff-lcs-1.3/spec/hunk_spec.rb +72 -0
  73. data/vendor/bundle/gems/diff-lcs-1.3/spec/issues_spec.rb +49 -0
  74. data/vendor/bundle/gems/diff-lcs-1.3/spec/lcs_spec.rb +56 -0
  75. data/vendor/bundle/gems/diff-lcs-1.3/spec/ldiff_spec.rb +47 -0
  76. data/vendor/bundle/gems/diff-lcs-1.3/spec/patch_spec.rb +422 -0
  77. data/vendor/bundle/gems/diff-lcs-1.3/spec/sdiff_spec.rb +214 -0
  78. data/vendor/bundle/gems/diff-lcs-1.3/spec/spec_helper.rb +321 -0
  79. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +310 -0
  80. data/vendor/bundle/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +139 -0
  81. data/vendor/bundle/gems/echonet_lite-0.1.0/.gitignore +12 -0
  82. data/vendor/bundle/gems/echonet_lite-0.1.0/.rspec +2 -0
  83. data/vendor/bundle/gems/echonet_lite-0.1.0/.travis.yml +5 -0
  84. data/vendor/bundle/gems/echonet_lite-0.1.0/CODE_OF_CONDUCT.md +74 -0
  85. data/vendor/bundle/gems/echonet_lite-0.1.0/Gemfile +6 -0
  86. data/vendor/bundle/gems/echonet_lite-0.1.0/LICENSE.txt +21 -0
  87. data/vendor/bundle/gems/echonet_lite-0.1.0/README.md +43 -0
  88. data/vendor/bundle/gems/echonet_lite-0.1.0/Rakefile +6 -0
  89. data/vendor/bundle/gems/echonet_lite-0.1.0/bin/console +14 -0
  90. data/vendor/bundle/gems/echonet_lite-0.1.0/bin/setup +8 -0
  91. data/vendor/bundle/gems/echonet_lite-0.1.0/echonet_lite.gemspec +37 -0
  92. data/vendor/bundle/gems/echonet_lite-0.1.0/lib/echonet_lite.rb +149 -0
  93. data/vendor/bundle/gems/echonet_lite-0.1.0/lib/echonet_lite/version.rb +3 -0
  94. data/vendor/bundle/gems/ipaddr-1.0.0/.gitignore +9 -0
  95. data/vendor/bundle/gems/ipaddr-1.0.0/.travis.yml +6 -0
  96. data/vendor/bundle/gems/ipaddr-1.0.0/Gemfile +4 -0
  97. data/vendor/bundle/gems/ipaddr-1.0.0/LICENSE.txt +23 -0
  98. data/vendor/bundle/gems/ipaddr-1.0.0/README.md +54 -0
  99. data/vendor/bundle/gems/ipaddr-1.0.0/Rakefile +10 -0
  100. data/vendor/bundle/gems/ipaddr-1.0.0/bin/console +14 -0
  101. data/vendor/bundle/gems/ipaddr-1.0.0/bin/setup +8 -0
  102. data/vendor/bundle/gems/ipaddr-1.0.0/ipaddr.gemspec +28 -0
  103. data/vendor/bundle/gems/ipaddr-1.0.0/lib/ipaddr.rb +662 -0
  104. data/vendor/bundle/gems/ipaddress-0.8.3/.document +5 -0
  105. data/vendor/bundle/gems/ipaddress-0.8.3/.gitignore +18 -0
  106. data/vendor/bundle/gems/ipaddress-0.8.3/.rock.yml +5 -0
  107. data/vendor/bundle/gems/ipaddress-0.8.3/CHANGELOG.rdoc +115 -0
  108. data/vendor/bundle/gems/ipaddress-0.8.3/Gemfile +3 -0
  109. data/vendor/bundle/gems/ipaddress-0.8.3/LICENSE.txt +20 -0
  110. data/vendor/bundle/gems/ipaddress-0.8.3/README.rdoc +998 -0
  111. data/vendor/bundle/gems/ipaddress-0.8.3/Rakefile +66 -0
  112. data/vendor/bundle/gems/ipaddress-0.8.3/ipaddress.gemspec +26 -0
  113. data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress.rb +227 -0
  114. data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/ipv4.rb +1114 -0
  115. data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/ipv6.rb +895 -0
  116. data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/mongoid.rb +75 -0
  117. data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/prefix.rb +265 -0
  118. data/vendor/bundle/gems/ipaddress-0.8.3/lib/ipaddress/version.rb +3 -0
  119. data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress/ipv4_test.rb +600 -0
  120. data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress/ipv6_test.rb +426 -0
  121. data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress/mongoid_test.rb +70 -0
  122. data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress/prefix_test.rb +153 -0
  123. data/vendor/bundle/gems/ipaddress-0.8.3/test/ipaddress_test.rb +82 -0
  124. data/vendor/bundle/gems/ipaddress-0.8.3/test/test_helper.rb +35 -0
  125. data/vendor/bundle/gems/rspec-3.6.0/LICENSE.md +27 -0
  126. data/vendor/bundle/gems/rspec-3.6.0/README.md +39 -0
  127. data/vendor/bundle/gems/rspec-3.6.0/lib/rspec.rb +3 -0
  128. data/vendor/bundle/gems/rspec-3.6.0/lib/rspec/version.rb +5 -0
  129. data/vendor/bundle/gems/rspec-core-3.6.0/.document +5 -0
  130. data/vendor/bundle/gems/rspec-core-3.6.0/.yardopts +8 -0
  131. data/vendor/bundle/gems/rspec-core-3.6.0/Changelog.md +2167 -0
  132. data/vendor/bundle/gems/rspec-core-3.6.0/LICENSE.md +26 -0
  133. data/vendor/bundle/gems/rspec-core-3.6.0/README.md +384 -0
  134. data/vendor/bundle/gems/rspec-core-3.6.0/exe/rspec +4 -0
  135. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/autorun.rb +3 -0
  136. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core.rb +185 -0
  137. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/backtrace_formatter.rb +65 -0
  138. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/bisect/coordinator.rb +66 -0
  139. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/bisect/example_minimizer.rb +169 -0
  140. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/bisect/runner.rb +169 -0
  141. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/bisect/server.rb +70 -0
  142. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb +2177 -0
  143. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb +196 -0
  144. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/drb.rb +113 -0
  145. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/dsl.rb +98 -0
  146. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/example.rb +653 -0
  147. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb +883 -0
  148. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/example_status_persister.rb +235 -0
  149. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/filter_manager.rb +231 -0
  150. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/flat_map.rb +20 -0
  151. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters.rb +265 -0
  152. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
  153. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  154. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_formatter.rb +69 -0
  155. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +144 -0
  156. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/console_codes.rb +68 -0
  157. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  158. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
  159. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/exception_presenter.rb +496 -0
  160. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  161. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/helpers.rb +110 -0
  162. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
  163. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_printer.rb +414 -0
  164. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_snippet_extractor.rb +118 -0
  165. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/json_formatter.rb +101 -0
  166. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  167. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  168. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/protocol.rb +182 -0
  169. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  170. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  171. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb +624 -0
  172. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/invocations.rb +85 -0
  173. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/memoized_helpers.rb +535 -0
  174. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/metadata.rb +499 -0
  175. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/metadata_filter.rb +255 -0
  176. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  177. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  178. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  179. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
  180. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  181. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  182. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/notifications.rb +514 -0
  183. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/option_parser.rb +309 -0
  184. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/ordering.rb +158 -0
  185. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/output_wrapper.rb +29 -0
  186. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/pending.rb +165 -0
  187. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/profiler.rb +32 -0
  188. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer.rb +48 -0
  189. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/.rspec +1 -0
  190. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
  191. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/rake_task.rb +168 -0
  192. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/reporter.rb +260 -0
  193. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/ruby_project.rb +53 -0
  194. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb +193 -0
  195. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/sandbox.rb +37 -0
  196. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/set.rb +54 -0
  197. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/shared_context.rb +55 -0
  198. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/shared_example_group.rb +271 -0
  199. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/shell_escape.rb +49 -0
  200. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  201. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/version.rb +9 -0
  202. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/warnings.rb +40 -0
  203. data/vendor/bundle/gems/rspec-core-3.6.0/lib/rspec/core/world.rb +264 -0
  204. data/vendor/bundle/gems/rspec-expectations-3.6.0/.document +5 -0
  205. data/vendor/bundle/gems/rspec-expectations-3.6.0/.yardopts +6 -0
  206. data/vendor/bundle/gems/rspec-expectations-3.6.0/Changelog.md +1072 -0
  207. data/vendor/bundle/gems/rspec-expectations-3.6.0/LICENSE.md +25 -0
  208. data/vendor/bundle/gems/rspec-expectations-3.6.0/README.md +305 -0
  209. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations.rb +82 -0
  210. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  211. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/configuration.rb +201 -0
  212. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/expectation_target.rb +127 -0
  213. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/fail_with.rb +39 -0
  214. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/failure_aggregator.rb +194 -0
  215. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/handler.rb +170 -0
  216. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/minitest_integration.rb +58 -0
  217. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/syntax.rb +132 -0
  218. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/expectations/version.rb +8 -0
  219. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers.rb +1025 -0
  220. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
  221. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in.rb +52 -0
  222. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/all.rb +85 -0
  223. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/base_matcher.rb +193 -0
  224. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be.rb +288 -0
  225. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
  226. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  227. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  228. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
  229. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/change.rb +387 -0
  230. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/compound.rb +272 -0
  231. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/contain_exactly.rb +301 -0
  232. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/cover.rb +24 -0
  233. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eq.rb +40 -0
  234. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eql.rb +34 -0
  235. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/equal.rb +81 -0
  236. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/exist.rb +90 -0
  237. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/has.rb +103 -0
  238. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  239. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/include.rb +143 -0
  240. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/match.rb +106 -0
  241. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/operators.rb +128 -0
  242. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/output.rb +200 -0
  243. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/raise_error.rb +230 -0
  244. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/respond_to.rb +165 -0
  245. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  246. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  247. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  248. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/yield.rb +432 -0
  249. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/composable.rb +169 -0
  250. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/dsl.rb +527 -0
  251. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/english_phrasing.rb +58 -0
  252. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
  253. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/fail_matchers.rb +42 -0
  254. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/generated_descriptions.rb +42 -0
  255. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
  256. data/vendor/bundle/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_protocol.rb +99 -0
  257. data/vendor/bundle/gems/rspec-mocks-3.6.0/.document +5 -0
  258. data/vendor/bundle/gems/rspec-mocks-3.6.0/.yardopts +6 -0
  259. data/vendor/bundle/gems/rspec-mocks-3.6.0/Changelog.md +1073 -0
  260. data/vendor/bundle/gems/rspec-mocks-3.6.0/LICENSE.md +25 -0
  261. data/vendor/bundle/gems/rspec-mocks-3.6.0/README.md +460 -0
  262. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks.rb +130 -0
  263. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance.rb +11 -0
  264. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/chain.rb +110 -0
  265. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  266. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  267. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  268. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  269. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  270. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/recorder.rb +289 -0
  271. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  272. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  273. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  274. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_matchers.rb +320 -0
  275. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/configuration.rb +212 -0
  276. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/error_generator.rb +369 -0
  277. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/example_methods.rb +434 -0
  278. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  279. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/marshal_extension.rb +41 -0
  280. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  281. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/have_received.rb +130 -0
  282. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive.rb +132 -0
  283. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  284. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  285. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_chain.rb +87 -0
  286. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_expectation.rb +740 -0
  287. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_double.rb +287 -0
  288. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_reference.rb +202 -0
  289. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/minitest_integration.rb +68 -0
  290. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/mutate_const.rb +339 -0
  291. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/object_reference.rb +149 -0
  292. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/order_group.rb +81 -0
  293. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/proxy.rb +484 -0
  294. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/space.rb +238 -0
  295. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/standalone.rb +3 -0
  296. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/syntax.rb +325 -0
  297. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/targets.rb +124 -0
  298. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/test_double.rb +171 -0
  299. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_double.rb +129 -0
  300. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
  301. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_proxy.rb +220 -0
  302. data/vendor/bundle/gems/rspec-mocks-3.6.0/lib/rspec/mocks/version.rb +9 -0
  303. data/vendor/bundle/gems/rspec-support-3.6.0/Changelog.md +211 -0
  304. data/vendor/bundle/gems/rspec-support-3.6.0/LICENSE.md +23 -0
  305. data/vendor/bundle/gems/rspec-support-3.6.0/README.md +40 -0
  306. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support.rb +139 -0
  307. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/caller_filter.rb +83 -0
  308. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/comparable_version.rb +46 -0
  309. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/differ.rb +215 -0
  310. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/directory_maker.rb +63 -0
  311. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/encoded_string.rb +165 -0
  312. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
  313. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/hunk_generator.rb +47 -0
  314. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/matcher_definition.rb +42 -0
  315. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/method_signature_verifier.rb +392 -0
  316. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/mutex.rb +73 -0
  317. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/object_formatter.rb +268 -0
  318. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/recursive_const_methods.rb +76 -0
  319. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/reentrant_mutex.rb +53 -0
  320. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/ruby_features.rb +162 -0
  321. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/source.rb +75 -0
  322. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/source/location.rb +21 -0
  323. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/source/node.rb +107 -0
  324. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/source/token.rb +87 -0
  325. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec.rb +81 -0
  326. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  327. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  328. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/in_sub_process.rb +69 -0
  329. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  330. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/shell_out.rb +84 -0
  331. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
  332. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/string_matcher.rb +46 -0
  333. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  334. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  335. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/version.rb +7 -0
  336. data/vendor/bundle/gems/rspec-support-3.6.0/lib/rspec/support/warnings.rb +39 -0
  337. data/vendor/bundle/specifications/diff-lcs-1.3.gemspec +61 -0
  338. data/vendor/bundle/specifications/echonet_lite-0.1.0.gemspec +43 -0
  339. data/vendor/bundle/specifications/ipaddr-1.0.0.gemspec +38 -0
  340. data/vendor/bundle/specifications/ipaddress-0.8.3.gemspec +35 -0
  341. data/vendor/bundle/specifications/rspec-3.6.0.gemspec +42 -0
  342. data/vendor/bundle/specifications/rspec-core-3.6.0.gemspec +62 -0
  343. data/vendor/bundle/specifications/rspec-expectations-3.6.0.gemspec +50 -0
  344. data/vendor/bundle/specifications/rspec-mocks-3.6.0.gemspec +50 -0
  345. data/vendor/bundle/specifications/rspec-support-3.6.0.gemspec +41 -0
  346. metadata +444 -0
@@ -0,0 +1,49 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "Diff::LCS Issues" do
6
+ include Diff::LCS::SpecHelper::Matchers
7
+
8
+ describe 'issue #1' do
9
+ shared_examples 'handles simple diffs' do |s1, s2, forward_diff|
10
+ before do
11
+ @diff_s1_s2 = Diff::LCS.diff(s1, s2)
12
+ end
13
+
14
+ it 'creates the correct diff' do
15
+ expect(change_diff(forward_diff)).to eq(@diff_s1_s2)
16
+ end
17
+
18
+ it 'creates the correct patch s1->s2' do
19
+ expect(Diff::LCS.patch(s1, @diff_s1_s2)).to eq(s2)
20
+ end
21
+
22
+ it 'creates the correct patch s2->s1' do
23
+ expect(Diff::LCS.patch(s2, @diff_s1_s2)).to eq(s1)
24
+ end
25
+ end
26
+
27
+ describe 'string' do
28
+ it_has_behavior 'handles simple diffs', 'aX', 'bXaX', [
29
+ [ [ '+', 0, 'b' ],
30
+ [ '+', 1, 'X' ] ],
31
+ ]
32
+ it_has_behavior 'handles simple diffs', 'bXaX', 'aX', [
33
+ [ [ '-', 0, 'b' ],
34
+ [ '-', 1, 'X' ] ],
35
+ ]
36
+ end
37
+
38
+ describe 'array' do
39
+ it_has_behavior 'handles simple diffs', %w(a X), %w(b X a X), [
40
+ [ [ '+', 0, 'b' ],
41
+ [ '+', 1, 'X' ] ],
42
+ ]
43
+ it_has_behavior 'handles simple diffs', %w(b X a X), %w(a X), [
44
+ [ [ '-', 0, 'b' ],
45
+ [ '-', 1, 'X' ] ],
46
+ ]
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,56 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Diff::LCS::Internals, ".lcs" do
6
+ include Diff::LCS::SpecHelper::Matchers
7
+
8
+ it "returns a meaningful LCS array with (seq1, seq2)" do
9
+ res = Diff::LCS::Internals.lcs(seq1, seq2)
10
+ # The result of the LCS (less the +nil+ values) must be as long as the
11
+ # correct result.
12
+ expect(res.compact.size).to eq(correct_lcs.size)
13
+ expect(res).to correctly_map_sequence(seq1).to_other_sequence(seq2)
14
+
15
+ # Compact these transformations and they should be the correct LCS.
16
+ x_seq1 = (0...res.size).map { |ix| res[ix] ? seq1[ix] : nil }.compact
17
+ x_seq2 = (0...res.size).map { |ix| res[ix] ? seq2[res[ix]] : nil }.compact
18
+
19
+ expect(x_seq1).to eq(correct_lcs)
20
+ expect(x_seq2).to eq(correct_lcs)
21
+ end
22
+
23
+ it "returns all indexes with (hello, hello)" do
24
+ expect(Diff::LCS::Internals.lcs(hello, hello)).to \
25
+ eq((0...hello.size).to_a)
26
+ end
27
+
28
+ it "returns all indexes with (hello_ary, hello_ary)" do
29
+ expect(Diff::LCS::Internals.lcs(hello_ary, hello_ary)).to \
30
+ eq((0...hello_ary.size).to_a)
31
+ end
32
+ end
33
+
34
+ describe Diff::LCS, ".LCS" do
35
+ include Diff::LCS::SpecHelper::Matchers
36
+
37
+ it "returns the correct compacted values from Diff::LCS.LCS" do
38
+ res = Diff::LCS.LCS(seq1, seq2)
39
+ expect(res).to eq(correct_lcs)
40
+ expect(res.compact).to eq(res)
41
+ end
42
+
43
+ it "is transitive" do
44
+ res = Diff::LCS.LCS(seq2, seq1)
45
+ expect(res).to eq(correct_lcs)
46
+ expect(res.compact).to eq(res)
47
+ end
48
+
49
+ it "returns %W(h e l l o) with (hello, hello)" do
50
+ expect(Diff::LCS.LCS(hello, hello)).to eq(hello.split(//))
51
+ end
52
+
53
+ it "returns hello_ary with (hello_ary, hello_ary)" do
54
+ expect(Diff::LCS.LCS(hello_ary, hello_ary)).to eq(hello_ary)
55
+ end
56
+ end
@@ -0,0 +1,47 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "Diff::LCS.diff" do
6
+ include Diff::LCS::SpecHelper::Matchers
7
+
8
+ it 'correctly diffs seq1 to seq2' do
9
+ diff_s1_s2 = Diff::LCS.diff(seq1, seq2)
10
+ expect(change_diff(correct_forward_diff)).to eq(diff_s1_s2)
11
+ end
12
+
13
+ it 'correctly diffs seq2 to seq1' do
14
+ diff_s2_s1 = Diff::LCS.diff(seq2, seq1)
15
+ expect(change_diff(correct_backward_diff)).to eq(diff_s2_s1)
16
+ end
17
+
18
+ it 'correctly diffs against an empty sequence' do
19
+ diff = Diff::LCS.diff(word_sequence, [])
20
+ correct_diff = [
21
+ [ [ '-', 0, 'abcd' ],
22
+ [ '-', 1, 'efgh' ],
23
+ [ '-', 2, 'ijkl' ],
24
+ [ '-', 3, 'mnopqrstuvwxyz' ] ]
25
+ ]
26
+
27
+ expect(change_diff(correct_diff)).to eq(diff)
28
+
29
+ diff = Diff::LCS.diff([], word_sequence)
30
+ correct_diff.each { |hunk| hunk.each { |change| change[0] = '+' } }
31
+ expect(change_diff(correct_diff)).to eq(diff)
32
+ end
33
+
34
+ it "correctly diffs 'xx' and 'xaxb'" do
35
+ left = 'xx'
36
+ right = 'xaxb'
37
+ expect(Diff::LCS.patch(left, Diff::LCS.diff(left, right))).to eq(right)
38
+ end
39
+
40
+ it "returns an empty diff with (hello, hello)" do
41
+ expect(Diff::LCS.diff(hello, hello)).to eq([])
42
+ end
43
+
44
+ it "returns an empty diff with (hello_ary, hello_ary)" do
45
+ expect(Diff::LCS.diff(hello_ary, hello_ary)).to eq([])
46
+ end
47
+ end
@@ -0,0 +1,422 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "Diff::LCS.patch" do
6
+ include Diff::LCS::SpecHelper::Matchers
7
+
8
+ shared_examples "patch sequences correctly" do
9
+ it "correctly patches left-to-right (patch autodiscovery)" do
10
+ expect(Diff::LCS.patch(s1, patch_set)).to eq(s2)
11
+ end
12
+
13
+ it "correctly patches left-to-right (explicit patch)" do
14
+ expect(Diff::LCS.patch(s1, patch_set, :patch)).to eq(s2)
15
+ expect(Diff::LCS.patch!(s1, patch_set)).to eq(s2)
16
+ end
17
+
18
+ it "correctly patches right-to-left (unpatch autodiscovery)" do
19
+ expect(Diff::LCS.patch(s2, patch_set)).to eq(s1)
20
+ end
21
+
22
+ it "correctly patches right-to-left (explicit unpatch)" do
23
+ expect(Diff::LCS.patch(s2, patch_set, :unpatch)).to eq(s1)
24
+ expect(Diff::LCS.unpatch!(s2, patch_set)).to eq(s1)
25
+ end
26
+ end
27
+
28
+ describe "using a Diff::LCS.diff patchset" do
29
+ describe "an empty patchset returns the source" do
30
+ it "works on a string (hello)" do
31
+ diff = Diff::LCS.diff(hello, hello)
32
+ expect(Diff::LCS::patch(hello, diff)).to eq(hello)
33
+ end
34
+
35
+ it "works on an array %W(h e l l o)" do
36
+ diff = Diff::LCS.diff(hello_ary, hello_ary)
37
+ expect(Diff::LCS::patch(hello_ary, diff)).to eq(hello_ary)
38
+ end
39
+ end
40
+
41
+ describe "with default diff callbacks (DiffCallbacks)" do
42
+ describe "forward (s1 -> s2)" do
43
+ it_has_behavior "patch sequences correctly" do
44
+ let(:s1) { seq1 }
45
+ let(:s2) { seq2 }
46
+ let(:patch_set) { Diff::LCS.diff(seq1, seq2) }
47
+ end
48
+ end
49
+
50
+ describe "reverse (s2 -> s1)" do
51
+ it_has_behavior "patch sequences correctly" do
52
+ let(:s1) { seq2 }
53
+ let(:s2) { seq1 }
54
+ let(:patch_set) { Diff::LCS.diff(seq2, seq1) }
55
+ end
56
+ end
57
+ end
58
+
59
+ describe "with context diff callbacks (ContextDiffCallbacks)" do
60
+ describe "forward (s1 -> s2)" do
61
+ it_has_behavior "patch sequences correctly" do
62
+ let(:s1) { seq1 }
63
+ let(:s2) { seq2 }
64
+ let(:patch_set) {
65
+ Diff::LCS.diff(seq1, seq2, Diff::LCS::ContextDiffCallbacks)
66
+ }
67
+ end
68
+ end
69
+
70
+ describe "reverse (s2 -> s1)" do
71
+ it_has_behavior "patch sequences correctly" do
72
+ let(:s1) { seq2 }
73
+ let(:s2) { seq1 }
74
+ let(:patch_set) {
75
+ Diff::LCS.diff(seq2, seq1, Diff::LCS::ContextDiffCallbacks)
76
+ }
77
+ end
78
+ end
79
+ end
80
+
81
+ describe "with sdiff callbacks (SDiffCallbacks)" do
82
+ describe "forward (s1 -> s2)" do
83
+ it_has_behavior "patch sequences correctly" do
84
+ let(:s1) { seq1 }
85
+ let(:s2) { seq2 }
86
+ let(:patch_set) {
87
+ Diff::LCS.diff(seq1, seq2, Diff::LCS::SDiffCallbacks)
88
+ }
89
+ end
90
+ end
91
+
92
+ describe "reverse (s2 -> s1)" do
93
+ it_has_behavior "patch sequences correctly" do
94
+ let(:s1) { seq2 }
95
+ let(:s2) { seq1 }
96
+ let(:patch_set) {
97
+ Diff::LCS.diff(seq2, seq1, Diff::LCS::SDiffCallbacks)
98
+ }
99
+ end
100
+ end
101
+ end
102
+ end
103
+
104
+ describe "using a Diff::LCS.sdiff patchset" do
105
+ describe "an empty patchset returns the source" do
106
+ it "works on a string (hello)" do
107
+ expect(Diff::LCS::patch(hello, Diff::LCS.sdiff(hello, hello))).to eq(hello)
108
+ end
109
+
110
+ it "works on an array %W(h e l l o)" do
111
+ expect(Diff::LCS::patch(hello_ary, Diff::LCS.sdiff(hello_ary, hello_ary))).to eq(hello_ary)
112
+ end
113
+ end
114
+
115
+ describe "with default diff callbacks (DiffCallbacks)" do
116
+ describe "forward (s1 -> s2)" do
117
+ it_has_behavior "patch sequences correctly" do
118
+ let(:s1) { seq1 }
119
+ let(:s2) { seq2 }
120
+ let(:patch_set) {
121
+ Diff::LCS.sdiff(seq1, seq2, Diff::LCS::DiffCallbacks)
122
+ }
123
+ end
124
+ end
125
+
126
+ describe "reverse (s2 -> s1)" do
127
+ it_has_behavior "patch sequences correctly" do
128
+ let(:s1) { seq2 }
129
+ let(:s2) { seq1 }
130
+ let(:patch_set) {
131
+ Diff::LCS.sdiff(seq2, seq1, Diff::LCS::DiffCallbacks)
132
+ }
133
+ end
134
+ end
135
+ end
136
+
137
+ describe "with context diff callbacks (DiffCallbacks)" do
138
+ describe "forward (s1 -> s2)" do
139
+ it_has_behavior "patch sequences correctly" do
140
+ let(:s1) { seq1 }
141
+ let(:s2) { seq2 }
142
+ let(:patch_set) {
143
+ Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextDiffCallbacks)
144
+ }
145
+ end
146
+ end
147
+
148
+ describe "reverse (s2 -> s1)" do
149
+ it_has_behavior "patch sequences correctly" do
150
+ let(:s1) { seq2 }
151
+ let(:s2) { seq1 }
152
+ let(:patch_set) {
153
+ Diff::LCS.sdiff(seq2, seq1, Diff::LCS::ContextDiffCallbacks)
154
+ }
155
+ end
156
+ end
157
+ end
158
+
159
+ describe "with sdiff callbacks (SDiffCallbacks)" do
160
+ describe "forward (s1 -> s2)" do
161
+ it_has_behavior "patch sequences correctly" do
162
+ let(:s1) { seq1 }
163
+ let(:s2) { seq2 }
164
+ let(:patch_set) { Diff::LCS.sdiff(seq1, seq2) }
165
+ end
166
+ end
167
+
168
+ describe "reverse (s2 -> s1)" do
169
+ it_has_behavior "patch sequences correctly" do
170
+ let(:s1) { seq2 }
171
+ let(:s2) { seq1 }
172
+ let(:patch_set) { Diff::LCS.sdiff(seq2, seq1) }
173
+ end
174
+ end
175
+ end
176
+ end
177
+
178
+ # Note: because of the error in autodiscovery ("does not autodiscover s1
179
+ # to s2 patches"), this cannot use the "patch sequences correctly" shared
180
+ # set. Once the bug in autodiscovery is fixed, this can be converted as
181
+ # above.
182
+ describe "fix bug 891: patchsets do not contain the last equal part" do
183
+ before :each do
184
+ @s1 = %w(a b c d e f g h i j k)
185
+ @s2 = %w(a b c d D e f g h i j k)
186
+ end
187
+
188
+ describe "using Diff::LCS.diff with default diff callbacks" do
189
+ before :each do
190
+ @patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2)
191
+ @patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1)
192
+ end
193
+
194
+ it "autodiscovers s1 to s2 patches" do
195
+ expect do
196
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
197
+ end.to_not raise_error
198
+ end
199
+
200
+ it "autodiscovers s2 to s1 patches" do
201
+ expect do
202
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
203
+ end.to_not raise_error
204
+ end
205
+
206
+ it "autodiscovers s2 to s1 the left-to-right patches" do
207
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
208
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
209
+ end
210
+
211
+ it "correctly patches left-to-right (explicit patch)" do
212
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
213
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
214
+ expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
215
+ expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
216
+ end
217
+
218
+ it "correctly patches right-to-left (explicit unpatch)" do
219
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
220
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
221
+ expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
222
+ expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2)
223
+ end
224
+ end
225
+
226
+ describe "using Diff::LCS.diff with context diff callbacks" do
227
+ before :each do
228
+ @patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2,
229
+ Diff::LCS::ContextDiffCallbacks)
230
+ @patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1,
231
+ Diff::LCS::ContextDiffCallbacks)
232
+ end
233
+
234
+ it "autodiscovers s1 to s2 patches" do
235
+ expect do
236
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
237
+ end.to_not raise_error
238
+ end
239
+
240
+ it "autodiscovers s2 to s1 patches" do
241
+ expect do
242
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
243
+ end.to_not raise_error
244
+ end
245
+
246
+ it "autodiscovers s2 to s1 the left-to-right patches" do
247
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
248
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
249
+ end
250
+
251
+ it "correctly patches left-to-right (explicit patch)" do
252
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
253
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
254
+ expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
255
+ expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
256
+ end
257
+
258
+ it "correctly patches right-to-left (explicit unpatch)" do
259
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
260
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
261
+ expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
262
+ expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2)
263
+ end
264
+ end
265
+
266
+ describe "using Diff::LCS.diff with sdiff callbacks" do
267
+ before(:each) do
268
+ @patch_set_s1_s2 = Diff::LCS.diff(@s1, @s2,
269
+ Diff::LCS::SDiffCallbacks)
270
+ @patch_set_s2_s1 = Diff::LCS.diff(@s2, @s1,
271
+ Diff::LCS::SDiffCallbacks)
272
+ end
273
+
274
+ it "autodiscovers s1 to s2 patches" do
275
+ expect do
276
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
277
+ end.to_not raise_error
278
+ end
279
+
280
+ it "autodiscovers s2 to s1 patches" do
281
+ expect do
282
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
283
+ end.to_not raise_error
284
+ end
285
+
286
+ it "autodiscovers s2 to s1 the left-to-right patches" do
287
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
288
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
289
+ end
290
+
291
+ it "correctly patches left-to-right (explicit patch)" do
292
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
293
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
294
+ expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
295
+ expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
296
+ end
297
+
298
+ it "correctly patches right-to-left (explicit unpatch)" do
299
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
300
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
301
+ expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
302
+ expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2)
303
+ end
304
+ end
305
+
306
+ describe "using Diff::LCS.sdiff with default sdiff callbacks" do
307
+ before(:each) do
308
+ @patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2)
309
+ @patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1)
310
+ end
311
+
312
+ it "autodiscovers s1 to s2 patches" do
313
+ expect do
314
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
315
+ end.to_not raise_error
316
+ end
317
+
318
+ it "autodiscovers s2 to s1 patches" do
319
+ expect do
320
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
321
+ end.to_not raise_error
322
+ end
323
+
324
+ it "autodiscovers s2 to s1 the left-to-right patches" do
325
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
326
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
327
+ end
328
+
329
+ it "correctly patches left-to-right (explicit patch)" do
330
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
331
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
332
+ expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
333
+ expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
334
+ end
335
+
336
+ it "correctly patches right-to-left (explicit unpatch)" do
337
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
338
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
339
+ expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
340
+ expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2)
341
+ end
342
+ end
343
+
344
+ describe "using Diff::LCS.sdiff with context diff callbacks" do
345
+ before(:each) do
346
+ @patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2,
347
+ Diff::LCS::ContextDiffCallbacks)
348
+ @patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1,
349
+ Diff::LCS::ContextDiffCallbacks)
350
+ end
351
+
352
+ it "autodiscovers s1 to s2 patches" do
353
+ expect do
354
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
355
+ end.to_not raise_error
356
+ end
357
+
358
+ it "autodiscovers s2 to s1 patches" do
359
+ expect do
360
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
361
+ end.to_not raise_error
362
+ end
363
+
364
+ it "autodiscovers s2 to s1 the left-to-right patches" do
365
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
366
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
367
+ end
368
+
369
+ it "correctly patches left-to-right (explicit patch)" do
370
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
371
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
372
+ expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
373
+ expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
374
+ end
375
+
376
+ it "correctly patches right-to-left (explicit unpatch)" do
377
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
378
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
379
+ expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
380
+ expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2)
381
+ end
382
+ end
383
+
384
+ describe "using Diff::LCS.sdiff with default diff callbacks" do
385
+ before(:each) do
386
+ @patch_set_s1_s2 = Diff::LCS.sdiff(@s1, @s2, Diff::LCS::DiffCallbacks)
387
+ @patch_set_s2_s1 = Diff::LCS.sdiff(@s2, @s1, Diff::LCS::DiffCallbacks)
388
+ end
389
+
390
+ it "autodiscovers s1 to s2 patches" do
391
+ expect do
392
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2)).to eq(@s2)
393
+ end.to_not raise_error
394
+ end
395
+
396
+ it "autodiscovers s2 to s1 patches" do
397
+ expect do
398
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1)).to eq(@s2)
399
+ end.to_not raise_error
400
+ end
401
+
402
+ it "autodiscovers s2 to s1 the left-to-right patches" do
403
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1)).to eq(@s1)
404
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2)).to eq(@s1)
405
+ end
406
+
407
+ it "correctly patches left-to-right (explicit patch)" do
408
+ expect(Diff::LCS.patch(@s1, @patch_set_s1_s2, :patch)).to eq(@s2)
409
+ expect(Diff::LCS.patch(@s2, @patch_set_s2_s1, :patch)).to eq(@s1)
410
+ expect(Diff::LCS.patch!(@s1, @patch_set_s1_s2)).to eq(@s2)
411
+ expect(Diff::LCS.patch!(@s2, @patch_set_s2_s1)).to eq(@s1)
412
+ end
413
+
414
+ it "correctly patches right-to-left (explicit unpatch)" do
415
+ expect(Diff::LCS.patch(@s2, @patch_set_s1_s2, :unpatch)).to eq(@s1)
416
+ expect(Diff::LCS.patch(@s1, @patch_set_s2_s1, :unpatch)).to eq(@s2)
417
+ expect(Diff::LCS.unpatch!(@s2, @patch_set_s1_s2)).to eq(@s1)
418
+ expect(Diff::LCS.unpatch!(@s1, @patch_set_s2_s1)).to eq(@s2)
419
+ end
420
+ end
421
+ end
422
+ end