takuya-lvm-snapshot 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (380) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +4 -0
  4. data/Gemfile +10 -0
  5. data/LICENSE +674 -0
  6. data/README.md +80 -0
  7. data/Rakefile +4 -0
  8. data/bin/console +15 -0
  9. data/bin/setup +8 -0
  10. data/bundle/ruby/2.7.0/bin/htmldiff +29 -0
  11. data/bundle/ruby/2.7.0/bin/ldiff +29 -0
  12. data/bundle/ruby/2.7.0/bin/rake +27 -0
  13. data/bundle/ruby/2.7.0/bin/rspec +27 -0
  14. data/bundle/ruby/2.7.0/cache/diff-lcs-1.5.0.gem +0 -0
  15. data/bundle/ruby/2.7.0/cache/rake-13.0.3.gem +0 -0
  16. data/bundle/ruby/2.7.0/cache/rspec-3.12.0.gem +0 -0
  17. data/bundle/ruby/2.7.0/cache/rspec-core-3.12.0.gem +0 -0
  18. data/bundle/ruby/2.7.0/cache/rspec-expectations-3.12.1.gem +0 -0
  19. data/bundle/ruby/2.7.0/cache/rspec-mocks-3.12.1.gem +0 -0
  20. data/bundle/ruby/2.7.0/cache/rspec-support-3.12.0.gem +0 -0
  21. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/.rspec +1 -0
  22. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/Code-of-Conduct.md +74 -0
  23. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/Contributing.md +119 -0
  24. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/History.md +400 -0
  25. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/License.md +39 -0
  26. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/Manifest.txt +59 -0
  27. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/README.rdoc +84 -0
  28. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/Rakefile +121 -0
  29. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/bin/htmldiff +35 -0
  30. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/bin/ldiff +9 -0
  31. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/docs/COPYING.txt +339 -0
  32. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/docs/artistic.txt +127 -0
  33. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/array.rb +7 -0
  34. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/backports.rb +9 -0
  35. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/block.rb +37 -0
  36. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/callbacks.rb +325 -0
  37. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/change.rb +174 -0
  38. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/htmldiff.rb +150 -0
  39. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/hunk.rb +358 -0
  40. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/internals.rb +308 -0
  41. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/ldiff.rb +171 -0
  42. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs/string.rb +5 -0
  43. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff/lcs.rb +739 -0
  44. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/lib/diff-lcs.rb +3 -0
  45. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/change_spec.rb +89 -0
  46. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/diff_spec.rb +51 -0
  47. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/aX +1 -0
  48. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/bXaX +1 -0
  49. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ds1.csv +50 -0
  50. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ds2.csv +51 -0
  51. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff +4 -0
  52. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-c +7 -0
  53. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-e +3 -0
  54. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-f +3 -0
  55. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-u +5 -0
  56. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef +4 -0
  57. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-c +15 -0
  58. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-e +3 -0
  59. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-f +3 -0
  60. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-u +9 -0
  61. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2 +7 -0
  62. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
  63. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
  64. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
  65. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
  66. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
  67. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef +4 -0
  68. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef2 +17 -0
  69. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef +4 -0
  70. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef2 +14 -0
  71. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/hunk_spec.rb +83 -0
  72. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/issues_spec.rb +154 -0
  73. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/lcs_spec.rb +56 -0
  74. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/ldiff_spec.rb +87 -0
  75. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/patch_spec.rb +416 -0
  76. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/sdiff_spec.rb +214 -0
  77. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/spec_helper.rb +374 -0
  78. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/traverse_balanced_spec.rb +310 -0
  79. data/bundle/ruby/2.7.0/gems/diff-lcs-1.5.0/spec/traverse_sequences_spec.rb +137 -0
  80. data/bundle/ruby/2.7.0/gems/rake-13.0.3/CONTRIBUTING.rdoc +43 -0
  81. data/bundle/ruby/2.7.0/gems/rake-13.0.3/Gemfile +10 -0
  82. data/bundle/ruby/2.7.0/gems/rake-13.0.3/History.rdoc +2386 -0
  83. data/bundle/ruby/2.7.0/gems/rake-13.0.3/MIT-LICENSE +21 -0
  84. data/bundle/ruby/2.7.0/gems/rake-13.0.3/README.rdoc +155 -0
  85. data/bundle/ruby/2.7.0/gems/rake-13.0.3/Rakefile +41 -0
  86. data/bundle/ruby/2.7.0/gems/rake-13.0.3/bin/bundle +105 -0
  87. data/bundle/ruby/2.7.0/gems/rake-13.0.3/bin/console +7 -0
  88. data/bundle/ruby/2.7.0/gems/rake-13.0.3/bin/rake +29 -0
  89. data/bundle/ruby/2.7.0/gems/rake-13.0.3/bin/rdoc +29 -0
  90. data/bundle/ruby/2.7.0/gems/rake-13.0.3/bin/rubocop +29 -0
  91. data/bundle/ruby/2.7.0/gems/rake-13.0.3/bin/setup +6 -0
  92. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/command_line_usage.rdoc +158 -0
  93. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/example/Rakefile1 +38 -0
  94. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/example/Rakefile2 +35 -0
  95. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/example/a.c +6 -0
  96. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/example/b.c +6 -0
  97. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/example/main.c +11 -0
  98. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/glossary.rdoc +42 -0
  99. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/jamis.rb +592 -0
  100. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/proto_rake.rdoc +127 -0
  101. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/rake.1 +156 -0
  102. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/rakefile.rdoc +622 -0
  103. data/bundle/ruby/2.7.0/gems/rake-13.0.3/doc/rational.rdoc +151 -0
  104. data/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake +27 -0
  105. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/application.rb +824 -0
  106. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/backtrace.rb +24 -0
  107. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/clean.rb +78 -0
  108. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/cloneable.rb +17 -0
  109. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/cpu_counter.rb +107 -0
  110. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/default_loader.rb +15 -0
  111. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/dsl_definition.rb +195 -0
  112. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/early_time.rb +22 -0
  113. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/ext/core.rb +26 -0
  114. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/ext/string.rb +176 -0
  115. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/file_creation_task.rb +25 -0
  116. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/file_list.rb +435 -0
  117. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/file_task.rb +54 -0
  118. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/file_utils.rb +134 -0
  119. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/file_utils_ext.rb +134 -0
  120. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/invocation_chain.rb +57 -0
  121. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/invocation_exception_mixin.rb +17 -0
  122. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/late_time.rb +18 -0
  123. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/linked_list.rb +112 -0
  124. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/loaders/makefile.rb +54 -0
  125. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/multi_task.rb +14 -0
  126. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/name_space.rb +38 -0
  127. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/packagetask.rb +222 -0
  128. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/phony.rb +16 -0
  129. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/private_reader.rb +21 -0
  130. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/promise.rb +100 -0
  131. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/pseudo_status.rb +30 -0
  132. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/rake_module.rb +67 -0
  133. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/rake_test_loader.rb +27 -0
  134. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/rule_recursion_overflow_error.rb +20 -0
  135. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/scope.rb +43 -0
  136. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/task.rb +434 -0
  137. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/task_argument_error.rb +8 -0
  138. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/task_arguments.rb +109 -0
  139. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/task_manager.rb +331 -0
  140. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/tasklib.rb +12 -0
  141. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/testtask.rb +189 -0
  142. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/thread_history_display.rb +49 -0
  143. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/thread_pool.rb +163 -0
  144. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/trace_output.rb +23 -0
  145. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/version.rb +10 -0
  146. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake/win32.rb +51 -0
  147. data/bundle/ruby/2.7.0/gems/rake-13.0.3/lib/rake.rb +71 -0
  148. data/bundle/ruby/2.7.0/gems/rake-13.0.3/rake.gemspec +43 -0
  149. data/bundle/ruby/2.7.0/gems/rspec-3.12.0/LICENSE.md +27 -0
  150. data/bundle/ruby/2.7.0/gems/rspec-3.12.0/README.md +47 -0
  151. data/bundle/ruby/2.7.0/gems/rspec-3.12.0/lib/rspec/version.rb +5 -0
  152. data/bundle/ruby/2.7.0/gems/rspec-3.12.0/lib/rspec.rb +3 -0
  153. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/.document +5 -0
  154. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/.yardopts +8 -0
  155. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/Changelog.md +2360 -0
  156. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/LICENSE.md +26 -0
  157. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/README.md +384 -0
  158. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/exe/rspec +4 -0
  159. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/autorun.rb +3 -0
  160. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/backtrace_formatter.rb +65 -0
  161. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/coordinator.rb +62 -0
  162. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  163. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/fork_runner.rb +138 -0
  164. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/server.rb +61 -0
  165. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_command.rb +126 -0
  166. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/shell_runner.rb +73 -0
  167. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/bisect/utilities.rb +69 -0
  168. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration.rb +2385 -0
  169. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/configuration_options.rb +233 -0
  170. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/did_you_mean.rb +46 -0
  171. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/drb.rb +120 -0
  172. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/dsl.rb +98 -0
  173. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/example.rb +666 -0
  174. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/example_group.rb +905 -0
  175. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/example_status_persister.rb +235 -0
  176. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/filter_manager.rb +231 -0
  177. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/flat_map.rb +20 -0
  178. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  179. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
  180. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  181. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  182. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  183. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/console_codes.rb +76 -0
  184. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  185. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  186. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/exception_presenter.rb +525 -0
  187. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  188. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  189. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/helpers.rb +118 -0
  190. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
  191. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_printer.rb +412 -0
  192. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  193. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/json_formatter.rb +102 -0
  194. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  195. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  196. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/protocol.rb +182 -0
  197. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  198. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  199. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/formatters.rb +279 -0
  200. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/hooks.rb +646 -0
  201. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/invocations.rb +87 -0
  202. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/memoized_helpers.rb +580 -0
  203. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata.rb +498 -0
  204. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/metadata_filter.rb +255 -0
  205. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  206. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  207. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  208. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
  209. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  210. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  211. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/notifications.rb +521 -0
  212. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/option_parser.rb +323 -0
  213. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb +169 -0
  214. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/output_wrapper.rb +29 -0
  215. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/pending.rb +157 -0
  216. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/profiler.rb +34 -0
  217. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/.rspec +1 -0
  218. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  219. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/project_initializer.rb +48 -0
  220. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/rake_task.rb +188 -0
  221. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/reporter.rb +265 -0
  222. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/ruby_project.rb +53 -0
  223. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/runner.rb +212 -0
  224. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/sandbox.rb +37 -0
  225. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/set.rb +54 -0
  226. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_context.rb +55 -0
  227. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/shared_example_group.rb +271 -0
  228. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/shell_escape.rb +49 -0
  229. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  230. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/version.rb +9 -0
  231. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/warnings.rb +40 -0
  232. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core/world.rb +287 -0
  233. data/bundle/ruby/2.7.0/gems/rspec-core-3.12.0/lib/rspec/core.rb +212 -0
  234. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/.document +5 -0
  235. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/.yardopts +6 -0
  236. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/Changelog.md +1294 -0
  237. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/LICENSE.md +25 -0
  238. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/README.md +320 -0
  239. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  240. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/configuration.rb +230 -0
  241. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/expectation_target.rb +163 -0
  242. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/fail_with.rb +39 -0
  243. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/failure_aggregator.rb +229 -0
  244. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/handler.rb +182 -0
  245. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/minitest_integration.rb +58 -0
  246. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/syntax.rb +132 -0
  247. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations/version.rb +8 -0
  248. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/expectations.rb +82 -0
  249. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/aliased_matcher.rb +116 -0
  250. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/all.rb +86 -0
  251. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/base_matcher.rb +198 -0
  252. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/be.rb +191 -0
  253. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/be_between.rb +77 -0
  254. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  255. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  256. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/be_within.rb +72 -0
  257. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/change.rb +450 -0
  258. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/compound.rb +290 -0
  259. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/contain_exactly.rb +310 -0
  260. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  261. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/cover.rb +24 -0
  262. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/eq.rb +40 -0
  263. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/eql.rb +34 -0
  264. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/equal.rb +81 -0
  265. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/exist.rb +90 -0
  266. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/has.rb +167 -0
  267. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  268. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/include.rb +206 -0
  269. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/match.rb +106 -0
  270. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/operators.rb +128 -0
  271. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/output.rb +207 -0
  272. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/raise_error.rb +271 -0
  273. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  274. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  275. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  276. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
  277. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in/yield.rb +375 -0
  278. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/built_in.rb +53 -0
  279. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/composable.rb +171 -0
  280. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/dsl.rb +545 -0
  281. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/english_phrasing.rb +58 -0
  282. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  283. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/fail_matchers.rb +42 -0
  284. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/generated_descriptions.rb +41 -0
  285. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/matcher_delegator.rb +35 -0
  286. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers/matcher_protocol.rb +105 -0
  287. data/bundle/ruby/2.7.0/gems/rspec-expectations-3.12.1/lib/rspec/matchers.rb +1044 -0
  288. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/.document +5 -0
  289. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/.yardopts +6 -0
  290. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/Changelog.md +1227 -0
  291. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/LICENSE.md +25 -0
  292. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/README.md +463 -0
  293. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/chain.rb +111 -0
  294. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  295. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  296. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  297. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  298. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  299. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/recorder.rb +295 -0
  300. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  301. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  302. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/any_instance.rb +11 -0
  303. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/argument_list_matcher.rb +115 -0
  304. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/argument_matchers.rb +322 -0
  305. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/configuration.rb +212 -0
  306. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/error_generator.rb +390 -0
  307. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/example_methods.rb +434 -0
  308. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  309. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/marshal_extension.rb +41 -0
  310. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  311. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/matchers/have_received.rb +134 -0
  312. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/matchers/receive.rb +133 -0
  313. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  314. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  315. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/message_chain.rb +87 -0
  316. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/message_expectation.rb +820 -0
  317. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/method_double.rb +309 -0
  318. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/method_reference.rb +214 -0
  319. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/minitest_integration.rb +68 -0
  320. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/mutate_const.rb +339 -0
  321. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/object_reference.rb +149 -0
  322. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/order_group.rb +81 -0
  323. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/proxy.rb +519 -0
  324. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/space.rb +238 -0
  325. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/standalone.rb +3 -0
  326. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/syntax.rb +325 -0
  327. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/targets.rb +124 -0
  328. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/test_double.rb +171 -0
  329. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/verifying_double.rb +121 -0
  330. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
  331. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/verifying_proxy.rb +220 -0
  332. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks/version.rb +9 -0
  333. data/bundle/ruby/2.7.0/gems/rspec-mocks-3.12.1/lib/rspec/mocks.rb +133 -0
  334. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/Changelog.md +364 -0
  335. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/LICENSE.md +23 -0
  336. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/README.md +40 -0
  337. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/caller_filter.rb +83 -0
  338. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/comparable_version.rb +46 -0
  339. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/differ.rb +215 -0
  340. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/directory_maker.rb +63 -0
  341. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/encoded_string.rb +161 -0
  342. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
  343. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/hunk_generator.rb +47 -0
  344. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/matcher_definition.rb +42 -0
  345. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/method_signature_verifier.rb +438 -0
  346. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/mutex.rb +73 -0
  347. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/object_formatter.rb +275 -0
  348. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/recursive_const_methods.rb +76 -0
  349. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/reentrant_mutex.rb +78 -0
  350. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/ruby_features.rb +198 -0
  351. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/source/location.rb +21 -0
  352. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/source/node.rb +110 -0
  353. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/source/token.rb +94 -0
  354. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/source.rb +85 -0
  355. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
  356. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/diff_helpers.rb +31 -0
  357. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  358. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/in_sub_process.rb +67 -0
  359. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  360. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/shell_out.rb +105 -0
  361. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/stderr_splitter.rb +75 -0
  362. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/string_matcher.rb +45 -0
  363. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  364. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  365. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/spec.rb +82 -0
  366. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/version.rb +7 -0
  367. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/warnings.rb +39 -0
  368. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  369. data/bundle/ruby/2.7.0/gems/rspec-support-3.12.0/lib/rspec/support.rb +154 -0
  370. data/bundle/ruby/2.7.0/specifications/diff-lcs-1.5.0.gemspec +50 -0
  371. data/bundle/ruby/2.7.0/specifications/rake-13.0.3.gemspec +26 -0
  372. data/bundle/ruby/2.7.0/specifications/rspec-3.12.0.gemspec +39 -0
  373. data/bundle/ruby/2.7.0/specifications/rspec-core-3.12.0.gemspec +53 -0
  374. data/bundle/ruby/2.7.0/specifications/rspec-expectations-3.12.1.gemspec +44 -0
  375. data/bundle/ruby/2.7.0/specifications/rspec-mocks-3.12.1.gemspec +44 -0
  376. data/bundle/ruby/2.7.0/specifications/rspec-support-3.12.0.gemspec +36 -0
  377. data/lib/takuya/lvm_snapshot/version.rb +7 -0
  378. data/lib/takuya/lvm_snapshot.rb +111 -0
  379. data/takuya-lvm-snapshot.gemspec +34 -0
  380. metadata +424 -0
@@ -0,0 +1,1294 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.1...3-12-maintenance)
3
+
4
+ ### 3.12.1 / 2022-12-16
5
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.12.0...v3.12.1)
6
+
7
+ Bug Fixes:
8
+
9
+ * Pass keyword arguments through to aliased (and thus negated) matchers. (Jon Rowe, #1394)
10
+ * When handling failures in an aggregated_failures block (or example) prevent
11
+ the failure list leaking out. (Maciek Rząsa, #1392)
12
+
13
+ ### 3.12.0 / 2022-10-26
14
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.1...v3.12.0)
15
+
16
+ Enhancements:
17
+
18
+ * Add `an_array_matching` alias for `match_array` to improve readability as an argument
19
+ matcher. (Mark Schneider, #1361)
20
+
21
+ ### 3.11.1 / 2022-09-12
22
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.11.0...v3.11.1)
23
+
24
+ Bug Fixes:
25
+
26
+ * Allow the `contain_exactly` matcher to be reused by resetting its
27
+ internals on `matches?` (@bclayman-sq, #1326)
28
+ * Using the exist matcher on `FileTest` no longer produces a deprecation warning.
29
+ (Ryo Nakamura, #1383)
30
+
31
+ ### 3.11.0 / 2022-02-09
32
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.2...v3.11.0)
33
+
34
+ Enhancements:
35
+
36
+ * Return `true` from `aggregate_failures` when no exception occurs. (Jon Rowe, #1225)
37
+
38
+ Deprecations:
39
+
40
+ * Print a deprecation message when using the implicit block expectation syntax.
41
+ (Phil Pirozhkov, #1139)
42
+
43
+ ### 3.10.2 / 2022-01-14
44
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.1...v3.10.2)
45
+
46
+ Bug Fixes:
47
+
48
+ * Fix support for dynamic matchers for expectation target checks (Phil Pirozhkov, #1294)
49
+ * Fix `expect(array).to include(hash).times`, previously this would fail due to
50
+ matching the entire array as a single hash, rather than a member of the hash.
51
+ (Slava Kardakov, #1322)
52
+ * Ensure `raise_error` matches works with the `error_highlight` option from Ruby 3.1.
53
+ (Peter Goldstein, #1339)
54
+
55
+ ### 3.10.1 / 2020-12-27
56
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.0...v3.10.1)
57
+
58
+ Bug Fixes:
59
+
60
+ * Allow JRuby 9.2.x.x to generate backtraces normally rather than via our
61
+ backfill workaround. (#1230, Jon Rowe)
62
+
63
+ ### 3.10.0 / 2020-10-30
64
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.10.0)
65
+
66
+ Enhancements:
67
+
68
+ * Allow `include` matcher to be chained with `once`, `at_least`, etc. for simple cases.
69
+ (Marc-André Lafortune, #1168)
70
+ * Add an explicit warning when `nil` is passed to `raise_error`. (Phil Pirozhkov, #1143)
71
+ * Improve `include` matcher's composability. (Phil Pirozhkov, #1155)
72
+ * Mocks expectations can now set a custom failure message.
73
+ (Benoit Tigeot and Nicolas Zermati, #1156)
74
+ * `aggregate_failures` now shows the backtrace line for each failure. (Fabricio Bedin, #1163)
75
+ * Support multiple combinations of `yield_control` modifiers like `at_least`, `at_most`.
76
+ (Jon Rowe, #1169)
77
+ * Dynamic `have_<n>` matchers now have output consistent with other dynamic matchers.
78
+ (Marc-André Lafortune, #1195)
79
+ * New config option `strict_predicate_matchers` allows predicate matcher to be strict
80
+ (i.e. match for `true` or `false`) instead of the default (match truthy vs `false` or `nil`).
81
+ (Marc-André Lafortune, #1196)
82
+
83
+ ### 3.9.4 / 2020-10-29
84
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.9.4)
85
+
86
+ Bug Fixes:
87
+
88
+ * Fix regression with `be_` and `have_` matchers and arguments implementing `to_hash`
89
+ were they would act like keywords and be cast to a hash. (Jon Rowe, #1222)
90
+
91
+ ### 3.9.3 / 2020-10-23
92
+
93
+ Bug Fixes:
94
+
95
+ * Swap the comparison of the delta vs the expected for the `be_within` matcher allowing
96
+ more complicated oobjects to be compared providing they provide `abs` and other
97
+ comparison methods. (Kelly Stannard, #1182)
98
+ * Properly format expected in the description of the `be_within` matcher. (Jon Rowe, #1185)
99
+ * Remove warning when using keyword arguments with `be_` and `have_` matchers on 2.7.x
100
+ (Jon Rowe, #1187)
101
+ * Prevent formatting a single hash as a list of key value pairs in default failure messages
102
+ for custom matches (fixes formatting in `EnglishPhrasing#list`). (Robert Eshleman, #1193)
103
+ * Prevent errors from causing false positives when using `be <operator>` comparison, e.g.
104
+ `expect(1).not_to be < 'a'` will now correctly fail rather than pass. (Jon Rowe, #1208)
105
+
106
+
107
+ ### 3.9.2 / 2020-05-08
108
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.1...v3.9.2)
109
+
110
+ Bug Fixes:
111
+
112
+ * Issue a proper `ArgumentError` when invalid arguments are given to `yield_control`
113
+ modifiers such as `at_least` et al. (Marc-André Lafortune, #1167)
114
+ * Prevent Ruby 2.7 keyword arguments warning from being issued by custom
115
+ matcher definitions. (Jon Rowe, #1176)
116
+
117
+ ### 3.9.1 / 2020-03-13
118
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.0...v3.9.1)
119
+
120
+ Bug Fixes:
121
+
122
+ * Issue an improved warning when using `respond_to(...).with(n).arguments` and ignore
123
+ the warning when using with `have_attributes(...)`. (Jon Rowe, #1164)
124
+
125
+ ### 3.9.0 / 2019-10-08
126
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.6...v3.9.0)
127
+
128
+ Enhancements:
129
+
130
+ * The `respond_to` matcher now uses the signature from `initialize` to validate checks
131
+ for `new` (unless `new` is non standard). (Jon Rowe, #1072)
132
+ * Generated descriptions for matchers now use `is expected to` rather than `should` in
133
+ line with our preferred DSL. (Pete Johns, #1080, rspec/rspec-core#2572)
134
+ * Add the ability to re-raise expectation errors when matching
135
+ with `match_when_negated` blocks. (Jon Rowe, #1130)
136
+ * Add a warning when an empty diff is produce due to identical inspect output.
137
+ (Benoit Tigeot, #1126)
138
+
139
+ ### 3.8.6 / 2019-10-07
140
+
141
+ Bug Fixes:
142
+
143
+ * Revert #1125 due to the change being incompatible with our semantic versioning
144
+ policy.
145
+
146
+ ### 3.8.5 / 2019-10-02
147
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.4...v3.8.5)
148
+
149
+ Bug Fixes:
150
+
151
+ * Prevent unsupported implicit block expectation syntax from being used.
152
+ (Phil Pirozhkov, #1125)
153
+
154
+ ### 3.8.4 / 2019-06-10
155
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.3...v3.8.4)
156
+
157
+ Bug Fixes:
158
+
159
+ * Prevent false negatives when checking objects for the methods required to run the
160
+ the `be_an_instance_of` and `be_kind_of` matchers. (Nazar Matus, #1112)
161
+
162
+ ### 3.8.3 / 2019-04-20
163
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.2...v3.8.3)
164
+
165
+ Bug Fixes:
166
+
167
+ * Prevent composed `all` matchers from leaking into their siblings leading to duplicate
168
+ failures. (Jamie English, #1086)
169
+ * Prevent objects which change their hash on comparison from failing change checks.
170
+ (Phil Pirozhkov, #1100)
171
+ * Issue an `ArgumentError` rather than a `NoMethodError` when `be_an_instance_of` and
172
+ `be_kind_of` matchers encounter objects not supporting those methods.
173
+ (Taichi Ishitani, #1107)
174
+
175
+ ### 3.8.2 / 2018-10-09
176
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.1...v3.8.2)
177
+
178
+ Bug Fixes:
179
+
180
+ * Change `include` matcher to rely on a `respond_to?(:include?)` check rather than a direct
181
+ Hash comparison before calling `to_hash` to convert to a hash. (Jordan Owens, #1073)
182
+ * Prevent unexpected call stack jumps from causing an obscure error (`IndexError`), and
183
+ replace that error with a proper informative message. (Jon Rowe, #1076)
184
+
185
+ ### 3.8.1 / 2018-08-06
186
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.8.0...v3.8.1)
187
+
188
+ Bug Fixes:
189
+
190
+ * Fix regression in `include` matcher so stopped
191
+ `expect(hash.with_indifferent_access).to include(:symbol_key)`
192
+ from working. (Eito Katagiri, #1069)
193
+
194
+ ### 3.8.0 / 2018-08-04
195
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.7.0...v3.8.0)
196
+
197
+ Enhancements:
198
+
199
+ * Improve failure message of `change(receiver, :message)` by including the
200
+ receiver as `SomeClass#some_message`. (Tomohiro Hashidate, #1005)
201
+ * Improve `change` matcher so that it can correctly detect changes in
202
+ deeply nested mutable objects (such as arrays-of-hashes-of-arrays).
203
+ The improved logic uses the before/after `hash` value to see if the
204
+ object has been mutated, rather than shallow duping the object.
205
+ (Myron Marston, #1034)
206
+ * Improve `include` matcher so that pseudo-hash objects (e.g. objects
207
+ that decorate a hash using a `SimpleDelegator` or similar) are treated
208
+ as a hash, as long as they implement `to_hash`. (Pablo Brasero, #1012)
209
+ * Add `max_formatted_output_length=` to configuration, allowing changing
210
+ the length at which we truncate large output strings.
211
+ (Sam Phippen #951, Benoit Tigeot #1056)
212
+ * Improve error message when passing a matcher that doesn't support block
213
+ expectations to a block based `expect`. (@nicktime, #1066)
214
+
215
+ ### 3.7.0 / 2017-10-17
216
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0...v3.7.0)
217
+
218
+ Enhancements:
219
+
220
+ * Improve compatibility with `--enable-frozen-string-literal` option
221
+ on Ruby 2.3+. (Pat Allan, #997)
222
+
223
+ ### 3.6.0 / 2017-05-04
224
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta2...v3.6.0)
225
+
226
+ Enhancements:
227
+
228
+ * Treat NoMethodError as a failure for comparison matchers. (Jon Rowe, #972)
229
+ * Allow for scoped aliased and negated matchers--just call
230
+ `alias_matcher` or `define_negated_matcher` from within an example
231
+ group. (Markus Reiter, #974)
232
+ * Improve failure message of `change` matcher with block and `satisfy` matcher
233
+ by including the block snippet instead of just describing it as `result` or
234
+ `block` when Ripper is available. (Yuji Nakayama, #987)
235
+
236
+ Bug Fixes:
237
+
238
+ * Fix `yield_with_args` and `yield_successive_args` matchers so that
239
+ they compare expected to actual args at the time the args are yielded
240
+ instead of at the end, in case the method that is yielding mutates the
241
+ arguments after yielding. (Alyssa Ross, #965)
242
+
243
+ ### 3.6.0.beta2 / 2016-12-12
244
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.6.0.beta1...v3.6.0.beta2)
245
+
246
+ Bug Fixes:
247
+
248
+ * Using the exist matcher on `File` no longer produces a deprecation warning.
249
+ (Jon Rowe, #954)
250
+
251
+ ### 3.6.0.beta1 / 2016-10-09
252
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0...v3.6.0.beta1)
253
+
254
+ Bug Fixes:
255
+
256
+ * Fix `contain_exactly` to work correctly with ranges. (Myron Marston, #940)
257
+ * Fix `change` to work correctly with sets. (Marcin Gajewski, #939)
258
+
259
+ ### 3.5.0 / 2016-07-01
260
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta4...v3.5.0)
261
+
262
+ Enhancements:
263
+
264
+ * Add support for keyword arguments to the `respond_to` matcher. (Rob Smith, #915).
265
+
266
+ ### 3.5.0.beta4 / 2016-06-05
267
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta3...v3.5.0.beta4)
268
+
269
+ Bug Fixes:
270
+
271
+ * Fix `include` matcher so that it provides a valid diff for hashes. (Yuji Nakayama, #916)
272
+
273
+ ### 3.5.0.beta3 / 2016-04-02
274
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta2...v3.5.0.beta3)
275
+
276
+ Enhancements:
277
+
278
+ * Make `rspec/expectations/minitest_integration` work on Minitest::Spec
279
+ 5.6+. (Myron Marston, #904)
280
+ * Add an alias `having_attributes` for `have_attributes` matcher.
281
+ (Yuji Nakayama, #905)
282
+ * Improve `change` matcher error message when block is mis-used.
283
+ (Alex Altair, #908)
284
+
285
+ ### 3.5.0.beta2 / 2016-03-10
286
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.5.0.beta1...v3.5.0.beta2)
287
+
288
+ Enhancements:
289
+
290
+ * Add the ability to raise an error on encountering false positives via
291
+ `RSpec::Configuration#on_potential_false_positives = :raise`. (Jon Rowe, #900)
292
+ * When using the custom matcher DSL, support new
293
+ `notify_expectation_failures: true` option for the `match` method to
294
+ allow expectation failures to be raised as normal instead of being
295
+ converted into a `false` return value for `matches?`. (Jon Rowe, #892)
296
+
297
+ Bug Fixes:
298
+
299
+ * Allow `should` deprecation check to work on `BasicObject`s. (James Coleman, #898)
300
+
301
+ ### 3.5.0.beta1 / 2016-02-06
302
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.4.0...v3.5.0.beta1)
303
+
304
+ Enhancements:
305
+
306
+ * Make `match_when_negated` in custom matcher DSL support use of
307
+ expectations within the match logic. (Chris Arcand, #789)
308
+
309
+ Bug Fixes:
310
+
311
+ * Return `true` as expected from passing negated expectations
312
+ (such as `expect("foo").not_to eq "bar"`), so they work
313
+ properly when used within a `match` or `match_when_negated`
314
+ block. (Chris Arcand, #789)
315
+
316
+ ### 3.4.0 / 2015-11-11
317
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.1...v3.4.0)
318
+
319
+ Enhancements:
320
+
321
+ * Warn when `RSpec::Matchers` is included in a superclass after it has
322
+ already been included in a subclass on MRI 1.9, since that situation
323
+ can cause uses of `super` to trigger infinite recursion. (Myron Marston, #816)
324
+ * Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and
325
+ `SystemExit`. It is dangerous to interfere with these. (Myron Marston, #845)
326
+ * Add `#with_captures` to the
327
+ [match matcher](https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/match-matcher)
328
+ which allows a user to specify expected captures when matching a regex
329
+ against a string. (Sam Phippen, #848)
330
+ * Always print compound failure messages in the multi-line form. Trying
331
+ to print it all on a single line didn't read very well. (Myron Marston, #859)
332
+
333
+ Bug Fixes:
334
+
335
+ * Fix failure message from dynamic predicate matchers when the object
336
+ does not respond to the predicate so that it is inspected rather
337
+ than relying upon its `to_s` -- that way for `nil`, `"nil"` is
338
+ printed rather than an empty string. (Myron Marston, #841)
339
+ * Fix SystemStackError raised when diffing an Enumerable object
340
+ whose `#each` includes the object itself. (Yuji Nakayama, #857)
341
+
342
+ ### 3.3.1 / 2015-07-15
343
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.0...v3.3.1)
344
+
345
+ Bug Fixes:
346
+
347
+ * Fix `be >`, `be <`, etc so that it fails rather than allowing an
348
+ argument error to be raised when compared against an object of the
349
+ wrong type. This allows it to be used in composed matcher expressions
350
+ against heterogeneous objects. (Dennis Günnewig, #809)
351
+ * Fix `respond_to` to work properly on target objects
352
+ that redefine the `method` method. (unmanbearpig, #821)
353
+
354
+ ### 3.3.0 / 2015-06-12
355
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.1...v3.3.0)
356
+
357
+ Enhancements:
358
+
359
+ * Expose `RSpec::Matchers::EnglishPhrasing` to make it easier to write
360
+ nice failure messages in custom matchers. (Jared Beck, #736)
361
+ * Add `RSpec::Matchers::FailMatchers`, a mixin which provides
362
+ `fail`, `fail_with` and `fail_including` matchers for use in
363
+ specifying that an expectation fails for use by
364
+ extension/plugin authors. (Charlie Rudolph, #729)
365
+ * Avoid loading `tempfile` (and its dependencies) unless
366
+ it is absolutely needed. (Myron Marston, #735)
367
+ * Improve failure output when attempting to use `be_true` or `be_false`.
368
+ (Tim Wade, #744)
369
+ * Define `RSpec::Matchers#respond_to_missing?` so that
370
+ `RSpec::Matchers#respond_to?` and `RSpec::Matchers#method` handle
371
+ dynamic predicate matchers. (Andrei Botalov, #751)
372
+ * Use custom Time/DateTime/BigDecimal formatting for all matchers
373
+ so they are consistently represented in failure messages.
374
+ (Gavin Miller, #740)
375
+ * Add configuration to turn off warnings about matcher combinations that
376
+ may cause false positives. (Jon Rowe, #768)
377
+ * Warn when using a bare `raise_error` matcher that you may be subject to
378
+ false positives. (Jon Rowe, #768)
379
+ * Warn rather than raise when using the`raise_error` matcher in negative
380
+ expectations that may be subject to false positives. (Jon Rowe, #775)
381
+ * Improve failure message for `include(a, b, c)` so that if `a` and `b`
382
+ are included the failure message only mentions `c`. (Chris Arcand, #780)
383
+ * Allow `satisfy` matcher to take an optional description argument
384
+ that will be used in the `description`, `failure_message` and
385
+ `failure_message_when_negated` in place of the undescriptive
386
+ "sastify block". (Chris Arcand, #783)
387
+ * Add new `aggregate_failures` API that allows multiple independent
388
+ expectations to all fail and be listed in the failure output, rather
389
+ than the example aborting on the first failure. (Myron Marston, #776)
390
+ * Improve `raise_error` matcher so that it can accept a matcher as a single argument
391
+ that matches the message. (Time Wade, #782)
392
+
393
+ Bug Fixes:
394
+
395
+ * Make `contain_exactly` / `match_array` work with strict test doubles
396
+ that have not defined `<=>`. (Myron Marston, #758)
397
+ * Fix `include` matcher so that it omits the diff when it would
398
+ confusingly highlight items that are actually included but are not
399
+ an exact match in a line-by-line diff. (Tim Wade, #763)
400
+ * Fix `match` matcher so that it does not blow up when matching a string
401
+ or regex against another matcher (rather than a string or regex).
402
+ (Myron Marston, #772)
403
+ * Silence whitespace-only diffs. (Myron Marston, #801)
404
+
405
+ ### 3.2.1 / 2015-04-06
406
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.0...v3.2.1)
407
+
408
+ Bug Fixes:
409
+
410
+ * Prevent `Range`s from being enumerated when generating matcher
411
+ descriptions. (Jon Rowe, #755)
412
+ * Ensure exception messages are compared as strings in the `raise_error`
413
+ matcher. (Jon Rowe, #755)
414
+
415
+ ### 3.2.0 / 2015-02-03
416
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.2...v3.2.0)
417
+
418
+ Enhancements:
419
+
420
+ * Add `block_arg` method to custom matcher API, which allows you to
421
+ access the block passed to a custom matcher, if there is one.
422
+ (Mike Dalton, #645)
423
+ * Provide more detail in failure message of `yield_control` matcher.
424
+ (Jon Rowe, #650)
425
+ * Add a shorthand syntax for `chain` in the matcher DSL which assigns values
426
+ for use elsewhere, for example `chain :and_smaller_than, :small_value`
427
+ creates an `attr_reader` for `small_value` (Tom Stuart, #644)
428
+ * Provide a more helpful deprecation message when using the `should` syntax.
429
+ (Elia Schito, #663)
430
+ * Provide more detail in the `have_attributes` matcher failure message.
431
+ (Jon Rowe, #668)
432
+ * Make the `have_attributes` matcher diffable.
433
+ (Jon Rowe, Alexey Fedorov, #668)
434
+ * Add `output(...).to_std(out|err)_from_any_process` as alternatives
435
+ to `output(...).to_std(out|err)`. The latter doesn't work when a sub
436
+ process writes to the named stream but is much faster.
437
+ (Alex Genco, #700)
438
+ * Improve compound matchers (created by `and` and `or`) so that diffs
439
+ are included in failures when one or more of their matchers
440
+ are diffable. (Alexey Fedorov, #713)
441
+
442
+ Bug Fixes:
443
+
444
+ * Avoid calling `private_methods` from the `be` predicate matcher on
445
+ the target object if the object publicly responds to the predicate
446
+ method. This avoids a possible error that can occur if the object
447
+ raises errors from `private_methods` (which can happen with celluloid
448
+ objects). (@chapmajs, #670)
449
+ * Make `yield_control` (with no modifier) default to
450
+ `at_least(:once)` rather than raising a confusing error
451
+ when multiple yields are encountered.
452
+ (Myron Marston, #675)
453
+ * Fix "instance variable @color not initialized" warning when using
454
+ rspec-expectations outside of an rspec-core context. (Myron Marston, #689)
455
+ * Fix `start_with` and `end_with` to work properly when checking a
456
+ string against an array of strings. (Myron Marston, #690)
457
+ * Don't use internally delegated matchers when generating descriptions
458
+ for examples without doc strings. (Myron Marston, #692)
459
+
460
+ ### 3.1.2 / 2014-09-26
461
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.1...v3.1.2)
462
+
463
+ Bug Fixes:
464
+
465
+ * Fix `define_negated_matcher` so that matchers that support fluent
466
+ interfaces continue to be negated after you use the chained method.
467
+ (Myron Marston, #656)
468
+ * Fix `define_negated_matcher` so that the matchers fail with an
469
+ appropriate failure message. (Myron Marston, #659)
470
+
471
+ ### 3.1.1 / 2014-09-15
472
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.0...v3.1.1)
473
+
474
+ Bug Fixes:
475
+
476
+ * Fix regression in `all` matcher in 3.1.0 that prevented it from
477
+ working on objects that are not `Enumerable` but do implement
478
+ `each_with_index` (such as an ActiveRecord proxy). (Jori Hardman, #647)
479
+
480
+ ### 3.1.0 / 2014-09-04
481
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.4...v3.1.0)
482
+
483
+ Enhancements:
484
+
485
+ * Add `have_attributes` matcher, that passes if actual's attribute
486
+ values match the expected attributes hash:
487
+ `Person = Struct.new(:name, :age)`
488
+ `person = Person.new("Bob", 32)`
489
+ `expect(person).to have_attributes(:name => "Bob", :age => 32)`.
490
+ (Adam Farhi, #571)
491
+ * Extended compound matcher support to block matchers, for cases like:
492
+ `expect { ... }.to change { x }.to(3).and change { y }.to(4)`. (Myron
493
+ Marston, #567)
494
+ * Include chained methods in custom matcher description and failure message
495
+ when new `include_chain_clauses_in_custom_matcher_descriptions` config
496
+ option is enabled. (Dan Oved, #600)
497
+ * Add `thrice` modifier to `yield_control` matcher as a synonym for
498
+ `exactly(3).times`. (Dennis Taylor, #615)
499
+ * Add `RSpec::Matchers.define_negated_matcher`, which defines a negated
500
+ version of the named matcher. (Adam Farhi, Myron Marston, #618)
501
+ * Document and support negation of `contain_exactly`/`match_array`.
502
+ (Jon Rowe, #626).
503
+
504
+ Bug Fixes:
505
+
506
+ * Rename private `LegacyMacherAdapter` constant to `LegacyMatcherAdapter`
507
+ to fix typo. (Abdelkader Boudih, #563)
508
+ * Fix `all` matcher so that it fails properly (rather than raising a
509
+ `NoMethodError`) when matched against a non-enumerable. (Hao Su, #622)
510
+
511
+ ### 3.0.4 / 2014-08-14
512
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.3...v3.0.4)
513
+
514
+ Bug Fixes:
515
+
516
+ * Fix `start_with` and `end_with` so that they work properly with
517
+ structs. (Myron Marston, #620)
518
+ * Fix failure message generation so that structs are printed properly
519
+ in failures. Previously failure messages would represent them as
520
+ an array. (Myron Marston, #620)
521
+ * Fix composable matcher support so that it does not wrongly treat
522
+ structs as arrays. (Myron Marston, #620)
523
+
524
+ ### 3.0.3 / 2014-07-21
525
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.2...v3.0.3)
526
+
527
+ Bug Fixes:
528
+
529
+ * Fix issue with detection of generic operator matchers so they work
530
+ correctly when undefined. (Myron Marston, #597)
531
+ * Don't inadvertently define `BasicObject` in 1.8.7. (Chris Griego, #603)
532
+ * Fix `include` matcher so that it fails gracefully when matched against
533
+ an object that does not respond to `include?`. (Myron Marston, #607)
534
+
535
+ ### 3.0.2 / 2014-06-19
536
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.1...v3.0.2)
537
+
538
+ Bug Fixes:
539
+
540
+ * Fix regression in `contain_exactly` (AKA `match_array`) that caused it
541
+ to wrongly pass when the expected array was empty. (Myron Marston, #581)
542
+ * Provide a better error message when you use the `change(obj, :msg)`
543
+ form of the change matcher but forget the message argument. (Alex
544
+ Sunderland, #585)
545
+ * Make the `contain_exactly` matcher work with arrays that contain hashes in
546
+ arbitrary ordering. (Sam Phippen, #578)
547
+
548
+ ### 3.0.1 / 2014-06-12
549
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0...v3.0.1)
550
+
551
+ Bug Fixes:
552
+
553
+ * Add a missing `require` that would cause the `respond_to` matcher to
554
+ fail when used in a project where the rest of RSpec (e.g. core and
555
+ expecatations) weren't being used. (Myron Marston, #566)
556
+ * Structs are no longer treated as arrays when diffed. (Jon Rowe, #576)
557
+
558
+ ### 3.0.0 / 2014-06-01
559
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0.rc1...v3.0.0)
560
+
561
+ No code changes. Just taking it out of pre-release.
562
+
563
+ ### 3.0.0.rc1 / 2014-05-18
564
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0.beta2...v3.0.0.rc1)
565
+
566
+ Breaking Changes for 3.0.0:
567
+
568
+ * Remove `matcher_execution_context` attribute from DSL-defined
569
+ custom matchers. (Myron Marston)
570
+ * Remove `RSpec::Matchers::Pretty#_pretty_print`. (Myron Marston)
571
+ * Remove `RSpec::Matchers::Pretty#expected_to_sentence`. (Myron Marston)
572
+ * Rename `RSpec::Matchers::Configuration` constant to
573
+ `RSpec::Expectations::Configuration`. (Myron Marston)
574
+ * Prevent `have_xyz` predicate matchers using private methods.
575
+ (Adrian Gonzalez)
576
+ * Block matchers must now implement `supports_block_expectations?`.
577
+ (Myron Marston)
578
+ * Stop supporting `require 'rspec-expectations'`.
579
+ Use `require 'rspec/expectations'` instead. (Myron Marston)
580
+
581
+ Bug Fixes:
582
+
583
+ * Fix `NoMethodError` triggered by beta2 when `YARD` was loaded in
584
+ the test environment. (Myron Marston)
585
+ * Fix `be_xyz` matcher to accept a `do...end` block. (Myron Marston)
586
+ * Fix composable matcher failure message generation logic
587
+ so that it does not blow up when given `$stdout` or `$stderr`.
588
+ (Myron Marston)
589
+ * Fix `change` matcher to work properly with `IO` objects.
590
+ (Myron Marston)
591
+ * Fix `exist` matcher so that it can be used in composed matcher
592
+ expressions involving objects that do not implement `exist?` or
593
+ `exists?`. (Daniel Fone)
594
+ * Fix composable matcher match logic so that it clones matchers
595
+ before using them in order to work properly with matchers
596
+ that use internal memoization based on a given `actual` value.
597
+ (Myron Marston)
598
+ * Fix `be_xyz` and `has_xyz` predicate matchers so that they can
599
+ be used in composed matcher expressions involving objects that
600
+ do not implement the predicate method. (Daniel Fone)
601
+
602
+ Enhancements:
603
+
604
+ * Document the remaining public APIs. rspec-expectations now has 100% of
605
+ the public API documented and will remain that way (as new undocumented
606
+ methods will fail the build). (Myron Marston)
607
+ * Improve the formatting of BigDecimal objects in `eq` matcher failure
608
+ messages. (Daniel Fone)
609
+ * Improve the failure message for `be_xyz` predicate matchers so
610
+ that it includes the `inspect` output of the receiver.
611
+ (Erik Michaels-Ober, Sam Phippen)
612
+ * Add `all` matcher, to allow you to specify that a given matcher
613
+ matches all elements in a collection:
614
+ `expect([1, 3, 5]).to all( be_odd )`. (Adam Farhi)
615
+ * Add boolean aliases (`&`/`|`) for compound operators (`and`/`or`). (Adam Farhi)
616
+ * Give users a clear error when they wrongly use a value matcher
617
+ in a block expectation expression (e.g. `expect { 3 }.to eq(3)`)
618
+ or vice versa. (Myron Marston)
619
+
620
+ ### 3.0.0.beta2 / 2014-02-17
621
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0.beta1...v3.0.0.beta2)
622
+
623
+ Breaking Changes for 3.0.0:
624
+
625
+ * Remove deprecated support for accessing the `RSpec` constant using
626
+ `Rspec` or `Spec`. (Myron Marston)
627
+ * Remove deprecated `RSpec::Expectations.differ=`. (Myron Marston)
628
+ * Remove support for deprecated `expect(...).should`. (Myron Marston)
629
+ * Explicitly disallow `expect { }.not_to change { }` with `by`,
630
+ `by_at_least`, `by_at_most` or `to`. These have never been supported
631
+ but did not raise explicit errors. (Myron Marston)
632
+ * Provide `===` rather than `==` as an alias of `matches?` for
633
+ all matchers. The semantics of `===` are closer to an RSpec
634
+ matcher than `==`. (Myron Marston)
635
+ * Remove deprecated `RSpec::Matchers::OperatorMatcher` constant.
636
+ (Myron Marston)
637
+ * Make `RSpec::Expectations::ExpectationNotMetError` subclass
638
+ `Exception` rather than `StandardError` so they can bypass
639
+ a bare `rescue` in end-user code (e.g. when an expectation is
640
+ set from within a rspec-mocks stub implementation). (Myron Marston)
641
+ * Remove Test::Unit and Minitest 4.x integration. (Myron Marston)
642
+
643
+ Enhancements:
644
+
645
+ * Simplify the failure message of the `be` matcher when matching against:
646
+ `true`, `false` and `nil`. (Sam Phippen)
647
+ * Update matcher protocol and custom matcher DSL to better align
648
+ with the newer `expect` syntax. If you want your matchers to
649
+ maintain compatibility with multiple versions of RSpec, you can
650
+ alias the new names to the old. (Myron Marston)
651
+ * `failure_message_for_should` => `failure_message`
652
+ * `failure_message_for_should_not` => `failure_message_when_negated`
653
+ * `match_for_should` => `match`
654
+ * `match_for_should_not` => `match_when_negated`
655
+ * Improve generated descriptions from `change` matcher. (Myron Marston)
656
+ * Add support for compound matcher expressions using `and` and `or`.
657
+ Simply chain them off of any existing matcher to create an expression
658
+ like `expect(alphabet).to start_with("a").and end_with("z")`.
659
+ (Eloy Espinaco)
660
+ * Add `contain_exactly` as a less ambiguous version of `match_array`.
661
+ Note that it expects the expected array to be splatted as
662
+ individual args: `expect(array).to contain_exactly(1, 2)` is
663
+ the same as `expect(array).to match_array([1, 2])`. (Myron Marston)
664
+ * Update `contain_exactly`/`match_array` so that it can match against
665
+ other non-array collections (such as a `Set`). (Myron Marston)
666
+ * Update built-in matchers so that they can accept matchers as arguments
667
+ to allow you to compose matchers in arbitrary ways. (Myron Marston)
668
+ * Add `RSpec::Matchers::Composable` mixin that can be used to make
669
+ a custom matcher composable as well. Note that custom matchers
670
+ defined via `RSpec::Matchers.define` already have this. (Myron
671
+ Marston)
672
+ * Define noun-phrase aliases for built-in matchers, which can be
673
+ used when creating composed matcher expressions that read better
674
+ and provide better failure messages. (Myron Marston)
675
+ * Add `RSpec::Matchers.alias_matcher` so users can define their own
676
+ matcher aliases. The `description` of the matcher will reflect the
677
+ alternate matcher name. (Myron Marston)
678
+ * Add explicit `be_between` matcher. `be_between` has worked for a
679
+ long time as a dynamic predicate matcher, but the failure message
680
+ was suboptimal. The new matcher provides a much better failure
681
+ message. (Erik Michaels-Ober)
682
+ * Enhance the `be_between` matcher to allow for `inclusive` or `exclusive`
683
+ comparison (e.g. inclusive of min/max or exclusive of min/max).
684
+ (Pedro Gimenez)
685
+ * Make failure message for `not_to be #{operator}` less confusing by
686
+ only saying it's confusing when comparison operators are used.
687
+ (Prathamesh Sonpatki)
688
+ * Improve failure message of `eq` matcher when `Time` or `DateTime`
689
+ objects are used so that the full sub-second precision is included.
690
+ (Thomas Holmes, Jeff Wallace)
691
+ * Add `output` matcher for expecting that a block outputs `to_stdout`
692
+ or `to_stderr`. (Luca Pette, Matthias Günther)
693
+ * Forward a provided block on to the `has_xyz?` method call when
694
+ the `have_xyz` matcher is used. (Damian Galarza)
695
+ * Provide integration with Minitest 5.x. Require
696
+ `rspec/expectations/minitest_integration` after loading minitest
697
+ to use rspec-expectations with minitest. (Myron Marston)
698
+
699
+ Bug Fixes:
700
+
701
+ * Fix wrong matcher descriptions with falsey expected value (yujinakayama)
702
+ * Fix `expect { }.not_to change { }.from(x)` so that the matcher only
703
+ passes if the starting value is `x`. (Tyler Rick, Myron Marston)
704
+ * Fix hash diffing, so that it colorizes properly and doesn't consider trailing
705
+ commas when performing the diff. (Jared Norman)
706
+ * Fix built-in matchers to fail normally rather than raising
707
+ `ArgumentError` when given an object of the wrong type to match
708
+ against, so that they work well in composite matcher expressions like
709
+ `expect([1.51, "foo"]).to include(a_string_matching(/foo/), a_value_within(0.1).of(1.5))`.
710
+ (Myron Marston)
711
+
712
+ Deprecations:
713
+
714
+ * Retain support for RSpec 2 matcher protocol (e.g. for matchers
715
+ in 3rd party extension gems like `shoulda`), but it will print
716
+ a deprecation warning. (Myron Marston)
717
+
718
+ ### 3.0.0.beta1 / 2013-11-07
719
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.2...v3.0.0.beta1)
720
+
721
+ Breaking Changes for 3.0.0:
722
+
723
+ * Remove explicit support for 1.8.6. (Jon Rowe)
724
+ * Remove the deprecated `be_close` matcher, preferring `be_within` instead.
725
+ (Sam Phippen)
726
+ * Remove the deprecated `have`, `have_at_least` and `have_at_most` matchers.
727
+ You can continue using those matchers through https://github.com/rspec/rspec-collection_matchers,
728
+ or you can rewrite your expectations with something like
729
+ `expect(your_object.size).to eq(num)`. (Hugo Baraúna)
730
+ * Rename `be_true` and `be_false` to `be_truthy` and `be_falsey`. (Sam Phippen)
731
+ * Make `expect { }.to_not raise_error(SomeSpecificClass, message)`,
732
+ `expect { }.to_not raise_error(SomeSpecificClass)` and
733
+ `expect { }.to_not raise_error(message)` invalid, since they are prone
734
+ to hiding failures. Instead, use `expect { }.to_not raise_error` (with no
735
+ args). (Sam Phippen)
736
+ * Within `RSpec::Matchers.define` blocks, helper methods made available
737
+ either via `def self.helper` or `extend HelperModule` are no longer
738
+ available to the `match` block (or any of the others). Instead
739
+ `include` your helper module and define the helper method as an
740
+ instance method. (Myron Marston)
741
+ * Force upgrading Diff::LCS for encoding compatability with diffs. (Jon Rowe)
742
+
743
+ Enhancements:
744
+
745
+ * Support `do..end` style block with `raise_error` matcher. (Yuji Nakayama)
746
+ * Rewrote custom matcher DSL to simplify its implementation and solve a
747
+ few issues. (Myron Marston)
748
+ * Allow early `return` from within custom matcher DSL blocks. (Myron
749
+ Marston)
750
+ * The custom matcher DSL's `chain` can now accept a block. (Myron
751
+ Marston)
752
+ * Support setting an expectation on a `raise_error` matcher via a chained
753
+ `with_message` method call. (Sam Phippen)
754
+
755
+ Bug Fixes:
756
+
757
+ * Allow `include` and `match` matchers to be used from within a
758
+ DSL-defined custom matcher's `match` block. (Myron Marston)
759
+ * Correct encoding error message on diff failure (Jon Rowe)
760
+
761
+ Deprecations:
762
+
763
+ * Using the old `:should` syntax without explicitly configuring it is deprecated.
764
+ It will continue to work but will emit a deprecation warning in RSpec 3 if
765
+ you do not explicitly enable it. (Sam Phippen)
766
+
767
+ ### 2.99.2 / 2014-07-21
768
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.1...v2.99.2)
769
+
770
+ Bug Fixes:
771
+
772
+ * Fix regression in `Expectations#method_handle_for` where proxy objects
773
+ with method delegated would wrongly not return a method handle.
774
+ (Jon Rowe, #594)
775
+ * Fix issue with detection of generic operator matchers so they work
776
+ correctly when undefined. (Myron Marston, #597)
777
+
778
+ ### 2.99.1 / 2014-06-19
779
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0...v2.99.1)
780
+
781
+ Bug Fixes:
782
+
783
+ * Fix typo in custom matcher `expected` deprecation warning -- it's
784
+ `expected_as_array`, not `expected_array`. (Frederick Cheung, #562)
785
+
786
+ ### 2.99.0 / 2014-06-01
787
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.rc1...v2.99.0)
788
+
789
+ Enhancements:
790
+
791
+ * Special case deprecation message for `errors_on` with `rspec-rails` to be more useful.
792
+ (Aaron Kromer)
793
+
794
+ ### 2.99.0.rc1 / 2014-05-18
795
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.beta2...2.99.0.rc1)
796
+
797
+ Deprecations:
798
+
799
+ * Deprecate `matcher_execution_context` attribute on DSL-defined
800
+ custom matchers. (Myron Marston)
801
+ * Deprecate `RSpec::Matchers::Pretty#_pretty_print`. (Myron Marston)
802
+ * Deprecate `RSpec::Matchers::Pretty#expected_to_sentence`. (Myron Marston)
803
+ * Deprecate `RSpec::Matchers::Configuration` in favor of
804
+ `RSpec::Expectations::Configuration`. (Myron Marston)
805
+ * Deprecate `be_xyz` predicate matcher on an object that doesn't respond to
806
+ `xyz?` or `xyzs?`. (Daniel Fone)
807
+ * Deprecate `have_xyz` matcher on an object that doesn't respond to `has_xyz?`.
808
+ (Daniel Fone)
809
+ * Deprecate `have_xyz` matcher on an object that has a private method `has_xyz?`.
810
+ (Jon Rowe)
811
+ * Issue a deprecation warning when a block expectation expression is
812
+ used with a matcher that doesn't explicitly support block expectations
813
+ via `supports_block_expectations?`. (Myron Marston)
814
+ * Deprecate `require 'rspec-expectations'`. Use
815
+ `require 'rspec/expectations'` instead. (Myron Marston)
816
+
817
+ ### 2.99.0.beta2 / 2014-02-17
818
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.beta1...v2.99.0.beta2)
819
+
820
+ Deprecations:
821
+
822
+ * Deprecate chaining `by`, `by_at_least`, `by_at_most` or `to` off of
823
+ `expect { }.not_to change { }`. The docs have always said these are
824
+ not supported for the negative form but now they explicitly raise
825
+ errors in RSpec 3. (Myron Marston)
826
+ * Change the semantics of `expect { }.not_to change { x }.from(y)`.
827
+ In RSpec 2.x, this expectation would only fail if `x` started with
828
+ the value of `y` and changed. If it started with a different value
829
+ and changed, it would pass. In RSpec 3, it will pass only if the
830
+ value starts at `y` and it does not change. (Myron Marston)
831
+ * Deprecate `matcher == value` as an alias for `matcher.matches?(value)`,
832
+ in favor of `matcher === value`. (Myron Marston)
833
+ * Deprecate `RSpec::Matchers::OperatorMatcher` in favor of
834
+ `RSpec::Matchers::BuiltIn::OperatorMatcher`. (Myron Marston)
835
+ * Deprecate auto-integration with Test::Unit and minitest.
836
+ Instead, include `RSpec::Matchers` in the appropriate test case
837
+ base class yourself. (Myron Marston)
838
+ * Deprecate treating `#expected` on a DSL-generated custom matcher
839
+ as an array when only 1 argument is passed to the matcher method.
840
+ In RSpec 3 it will be the single value in order to make diffs
841
+ work properly. (Jon Rowe)
842
+
843
+ ### 2.99.0.beta1 / 2013-11-07
844
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.4...v2.99.0.beta1)
845
+
846
+ Deprecations
847
+
848
+ * Deprecate `have`, `have_at_least` and `have_at_most`. You can continue using those
849
+ matchers through https://github.com/rspec/rspec-collection_matchers, or
850
+ you can rewrite your expectations with something like
851
+ `expect(your_object.size).to eq(num)`. (Hugo Baraúna)
852
+ * Deprecate `be_xyz` predicate matcher when `xyz?` is a private method.
853
+ (Jon Rowe)
854
+ * Deprecate `be_true`/`be_false` in favour of `be_truthy`/`be_falsey`
855
+ (for Ruby's conditional semantics) or `be true`/`be false`
856
+ (for exact equality). (Sam Phippen)
857
+ * Deprecate calling helper methods from a custom matcher with the wrong
858
+ scope. (Myron Marston)
859
+ * `def self.foo` / `extend Helper` can be used to add macro methods
860
+ (e.g. methods that call the custom matcher DSL methods), but should
861
+ not be used to define helper methods called from within the DSL
862
+ blocks.
863
+ * `def foo` / `include Helper` is the opposite: it's for helper methods
864
+ callable from within a DSL block, but not for defining macros.
865
+ * RSpec 2.x allowed helper methods defined either way to be used for
866
+ either purpose, but RSpec 3.0 will not.
867
+
868
+ ### 2.14.5 / 2014-02-01
869
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.4...v2.14.5)
870
+
871
+ Bug fixes
872
+
873
+ * Fix wrong matcher descriptions with falsey expected value
874
+ (yujinakayama)
875
+
876
+ ### 2.14.4 / 2013-11-06
877
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.3...v2.14.4)
878
+
879
+ Bug fixes
880
+
881
+ * Make the `match` matcher produce a diff output. (Jon Rowe, Ben Moss)
882
+ * Choose encoding for diff's more intelligently, and when all else fails fall
883
+ back to default internal encoding with replacing characters. (Jon Rowe)
884
+
885
+ ### 2.14.3 / 2013-09-22
886
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.2...v2.14.3)
887
+
888
+ Bug fixes
889
+
890
+ * Fix operator matchers (`should` syntax) when `method` is redefined on target.
891
+ (Brandon Turner)
892
+ * Fix diffing of hashes with object based keys. (Jon Rowe)
893
+ * Fix operator matchers (`should` syntax) when operator is defined via
894
+ `method_missing` (Jon Rowe)
895
+
896
+ ### 2.14.2 / 2013-08-14
897
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.1...v2.14.2)
898
+
899
+ Bug fixes
900
+
901
+ * Fix `be_<predicate>` matcher to not support operator chaining like the
902
+ `be` matcher does (e.g. `be == 5`). This led to some odd behaviors
903
+ since `be_<predicate> == anything` returned a `BeComparedTo` matcher
904
+ and was thus always truthy. This was a consequence of the implementation
905
+ (e.g. subclassing the basic `Be` matcher) and was not intended behavior.
906
+ (Myron Marston).
907
+ * Fix `change` matcher to compare using `==` in addition to `===`. This
908
+ is important for an expression like:
909
+ `expect {}.to change { a.class }.from(ClassA).to(ClassB)` because
910
+ `SomeClass === SomeClass` returns false. (Myron Marston)
911
+
912
+ ### 2.14.1 / 2013-08-08
913
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.0...2.14.1)
914
+
915
+ Bug fixes
916
+
917
+ * Ensure diff output uses the same encoding as the encoding of
918
+ the string being diff'd to prevent `Encoding::UndefinedConversionError`
919
+ errors (Jon Rowe).
920
+
921
+ ### 2.14.0 / 2013-07-06
922
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.0.rc1...v2.14.0)
923
+
924
+ Bug fixes
925
+
926
+ * Values that are not matchers use `#inspect`, rather than `#description` for
927
+ documentation output (Andy Lindeman, Sam Phippen).
928
+ * Make `expect(a).to be_within(x).percent_of(y)` work with negative y
929
+ (Katsuhiko Nishimra).
930
+ * Make the `be_predicate` matcher work as expected used with `expect{...}.to
931
+ change...` (Sam Phippen).
932
+
933
+ ### 2.14.0.rc1 / 2013-05-27
934
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.13.0...v2.14.0.rc1)
935
+
936
+ Enhancements
937
+
938
+ * Enhance `yield_control` so that you can specify an exact or relative
939
+ number of times: `expect { }.to yield_control.exactly(3).times`,
940
+ `expect { }.to yield_control.at_least(2).times`, etc (Bartek
941
+ Borkowski).
942
+ * Make the differ that is used when an expectation fails better handle arrays
943
+ by splitting each element of the array onto its own line. (Sam Phippen)
944
+ * Accept duck-typed strings that respond to `:to_str` as expectation messages.
945
+ (Toby Ovod-Everett)
946
+
947
+ Bug fixes
948
+
949
+ * Fix differ to not raise errors when dealing with differently-encoded
950
+ strings (Jon Rowe).
951
+ * Fix `expect(something).to be_within(x).percent_of(y)` where x and y are both
952
+ integers (Sam Phippen).
953
+ * Fix `have` matcher to handle the fact that on ruby 2.0,
954
+ `Enumerator#size` may return nil (Kenta Murata).
955
+ * Fix `expect { raise s }.to raise_error(s)` where s is an error instance
956
+ on ruby 2.0 (Sam Phippen).
957
+ * Fix `expect(object).to raise_error` passing. This now warns the user and
958
+ fails the spec (tomykaira).
959
+
960
+ Deprecations
961
+
962
+ * Deprecate `expect { }.not_to raise_error(SpecificErrorClass)` or
963
+ `expect { }.not_to raise_error("some specific message")`. Using
964
+ these was prone to hiding failures as they would allow _any other
965
+ error_ to pass. (Sam Phippen and David Chelimsky)
966
+
967
+ ### 2.13.0 / 2013-02-23
968
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.12.1...v2.13.0)
969
+
970
+ Enhancements
971
+
972
+ * Add support for percent deltas to `be_within` matcher:
973
+ `expect(value).to be_within(10).percent_of(expected)`
974
+ (Myron Marston).
975
+ * Add support to `include` matcher to allow it to be given a list
976
+ of matchers as the expecteds to match against (Luke Redpath).
977
+
978
+ Bug fixes
979
+
980
+ * Fix `change` matcher so that it dups strings in order to handle
981
+ mutated strings (Myron Marston).
982
+ * Fix `should be =~ /some regex/` / `expect(...).to be =~ /some regex/`.
983
+ Previously, these either failed with a confusing `undefined method
984
+ matches?' for false:FalseClass` error or were no-ops that didn't
985
+ actually verify anything (Myron Marston).
986
+ * Add compatibility for diff-lcs 1.2 and relax the version
987
+ constraint (Peter Goldstein).
988
+ * Fix DSL-generated matchers to allow multiple instances of the
989
+ same matcher in the same example to have different description
990
+ and failure messages based on the expected value (Myron Marston).
991
+ * Prevent `undefined method #split for Array` error when dumping
992
+ the diff of an array of multiline strings (Myron Marston).
993
+ * Don't blow up when comparing strings that are in an encoding
994
+ that is not ASCII compatible (Myron Marston).
995
+ * Remove confusing "Check the implementation of #==" message
996
+ printed for empty diffs (Myron Marston).
997
+
998
+ ### 2.12.1 / 2012-12-15
999
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.12.0...v2.12.1)
1000
+
1001
+ Bug fixes
1002
+
1003
+ * Improve the failure message for an expression like
1004
+ `{}.should =~ {}`. (Myron Marston and Andy Lindeman)
1005
+ * Provide a `match_regex` alias so that custom matchers
1006
+ built using the matcher DSL can use it (since `match`
1007
+ is a different method in that context).
1008
+ (Steven Harman)
1009
+
1010
+ ### 2.12.0 / 2012-11-12
1011
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.3...v2.12.0)
1012
+
1013
+ Enhancements
1014
+
1015
+ * Colorize diffs if the `--color` option is configured. (Alex Coplan)
1016
+ * Include backtraces in unexpected errors handled by `raise_error`
1017
+ matcher (Myron Marston)
1018
+ * Print a warning when users accidentally pass a non-string argument
1019
+ as an expectation message (Sam Phippen)
1020
+ * `=~` and `match_array` matchers output a more useful error message when
1021
+ the actual value is not an array (or an object that responds to `#to_ary`)
1022
+ (Sam Phippen)
1023
+
1024
+ Bug fixes
1025
+
1026
+ * Fix `include` matcher so that `expect({}).to include(:a => nil)`
1027
+ fails as it should (Sam Phippen).
1028
+ * Fix `be_an_instance_of` matcher so that `Class#to_s` is used in the
1029
+ description rather than `Class#inspect`, since some classes (like
1030
+ `ActiveRecord::Base`) define a long, verbose `#inspect`.
1031
+ (Tom Stuart)
1032
+
1033
+ ### 2.11.3 / 2012-09-04
1034
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.2...v2.11.3)
1035
+
1036
+ Bug fixes
1037
+
1038
+ * Fix (and deprecate) `expect { }.should` syntax so that it works even
1039
+ though it was never a documented or intended syntax. It worked as a
1040
+ consequence of the implementation of `expect` in RSpec 2.10 and
1041
+ earlier. (Myron Marston)
1042
+ * Ensure #== is defined on built in matchers so that they can be composed.
1043
+ For example:
1044
+
1045
+ expect {
1046
+ user.emailed!
1047
+ }.to change { user.last_emailed_at }.to be_within(1.second).of(Time.zone.now)
1048
+
1049
+ ### 2.11.2 / 2012-07-25
1050
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.1...v2.11.2)
1051
+
1052
+ Bug fixes
1053
+
1054
+ * Define `should` and `should_not` on `Object` rather than `BasicObject`
1055
+ on MacRuby. On MacRuby, `BasicObject` is defined but is not the root
1056
+ of the object hierarchy. (Gabriel Gilder)
1057
+
1058
+ ### 2.11.1 / 2012-07-08
1059
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.0...v2.11.1)
1060
+
1061
+ Bug fixes
1062
+
1063
+ * Constrain `actual` in `be_within` matcher to values that respond to `-` instead
1064
+ of requiring a specific type.
1065
+ * `Time`, for example, is a legit alternative.
1066
+
1067
+ ### 2.11.0 / 2012-07-07
1068
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.10.0...v2.11.0)
1069
+
1070
+ Enhancements
1071
+
1072
+ * Expand `expect` syntax so that it supports expections on bare values
1073
+ in addition to blocks (Myron Marston).
1074
+ * Add configuration options to control available expectation syntaxes
1075
+ (Myron Marston):
1076
+ * `RSpec.configuration.expect_with(:rspec) { |c| c.syntax = :expect }`
1077
+ * `RSpec.configuration.expect_with(:rspec) { |c| c.syntax = :should }`
1078
+ * `RSpec.configuration.expect_with(:rspec) { |c| c.syntax = [:should, :expect] }`
1079
+ * `RSpec.configuration.add_should_and_should_not_to Delegator`
1080
+
1081
+ Bug fixes
1082
+
1083
+ * Allow only `Numeric` values to be the "actual" in the `be_within` matcher.
1084
+ This prevents confusing error messages. (Su Zhang @zhangsu)
1085
+ * Define `should` and `should_not` on `BasicObject` rather than `Kernel`
1086
+ on 1.9. This makes `should` and `should_not` work properly with
1087
+ `BasicObject`-subclassed proxy objects like `Delegator`. (Myron
1088
+ Marston)
1089
+
1090
+ ### 2.10.0 / 2012-05-03
1091
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.9.1...v2.10.0)
1092
+
1093
+ Enhancements
1094
+
1095
+ * Add new `start_with` and `end_with` matchers (Jeremy Wadsack)
1096
+ * Add new matchers for specifying yields (Myron Marston):
1097
+ * `expect {...}.to yield_control`
1098
+ * `expect {...}.to yield_with_args(1, 2, 3)`
1099
+ * `expect {...}.to yield_with_no_args`
1100
+ * `expect {...}.to yield_successive_args(1, 2, 3)`
1101
+ * `match_unless_raises` takes multiple exception args
1102
+
1103
+ Bug fixes
1104
+
1105
+ * Fix `be_within` matcher to be inclusive of delta.
1106
+ * Fix message-specific specs to pass on Rubinius (John Firebaugh)
1107
+
1108
+ ### 2.9.1 / 2012-04-03
1109
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.9.0...v2.9.1)
1110
+
1111
+ Bug fixes
1112
+
1113
+ * Provide a helpful message if the diff between two objects is empty.
1114
+ * Fix bug diffing single strings with multiline strings.
1115
+ * Fix for error with using custom matchers inside other custom matchers
1116
+ (mirasrael)
1117
+ * Fix using execution context methods in nested DSL matchers (mirasrael)
1118
+
1119
+ ### 2.9.0 / 2012-03-17
1120
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.8.0...v2.9.0)
1121
+
1122
+ Enhancements
1123
+
1124
+ * Move built-in matcher classes to RSpec::Matchers::BuiltIn to reduce pollution
1125
+ of RSpec::Matchers (which is included in every example).
1126
+ * Autoload files with matcher classes to improve load time.
1127
+
1128
+ Bug fixes
1129
+
1130
+ * Align `respond_to?` and `method_missing` in DSL-defined matchers.
1131
+ * Clear out user-defined instance variables between invocations of DSL-defined
1132
+ matchers.
1133
+ * Dup the instance of a DSL generated matcher so its state is not changed by
1134
+ subsequent invocations.
1135
+ * Treat expected args consistently across positive and negative expectations
1136
+ (thanks to Ralf Kistner for the heads up)
1137
+
1138
+ ### 2.8.0 / 2012-01-04
1139
+
1140
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.8.0.rc2...v2.8.0)
1141
+
1142
+ Enhancements
1143
+
1144
+ * Better diff output for Hash (Philippe Creux)
1145
+ * Eliminate Ruby warnings (Olek Janiszewski)
1146
+
1147
+ ### 2.8.0.rc2 / 2011-12-19
1148
+
1149
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.8.0.rc1...v2.8.0.rc2)
1150
+
1151
+ No changes for this release. Just releasing with the other rspec gems.
1152
+
1153
+ ### 2.8.0.rc1 / 2011-11-06
1154
+
1155
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.7.0...v2.8.0.rc1)
1156
+
1157
+ Enhancements
1158
+
1159
+ * Use classes for the built-in matchers (they're faster).
1160
+ * Eliminate Ruby warnings (Matijs van Zuijlen)
1161
+
1162
+ ### 2.7.0 / 2011-10-16
1163
+
1164
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.6.0...v2.7.0)
1165
+
1166
+ Enhancements
1167
+
1168
+ * `HaveMatcher` converts argument using `to_i` (Alex Bepple & Pat Maddox)
1169
+ * Improved failure message for the `have_xxx` matcher (Myron Marston)
1170
+ * `HaveMatcher` supports `count` (Matthew Bellantoni)
1171
+ * Change matcher dups `Enumerable` before the action, supporting custom
1172
+ `Enumerable` types like `CollectionProxy` in Rails (David Chelimsky)
1173
+
1174
+ Bug fixes
1175
+
1176
+ * Fix typo in `have(n).xyz` documentation (Jean Boussier)
1177
+ * fix `safe_sort` for ruby 1.9.2 (`Kernel` now defines `<=>` for Object) (Peter
1178
+ van Hardenberg)
1179
+
1180
+ ### 2.6.0 / 2011-05-12
1181
+
1182
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.5.0...v2.6.0)
1183
+
1184
+ Enhancements
1185
+
1186
+ * `change` matcher accepts regexps (Robert Davis)
1187
+ * better descriptions for `have_xxx` matchers (Magnus Bergmark)
1188
+ * `range.should cover(*values)` (Anders Furseth)
1189
+
1190
+ Bug fixes
1191
+
1192
+ * Removed non-ascii characters that were choking rcov (Geoffrey Byers)
1193
+ * change matcher dups arrays and hashes so their before/after states can be
1194
+ compared correctly.
1195
+ * Fix the order of inclusion of RSpec::Matchers in Test::Unit::TestCase and
1196
+ MiniTest::Unit::TestCase to prevent a SystemStackError (Myron Marston)
1197
+
1198
+ ### 2.5.0 / 2011-02-05
1199
+
1200
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.4.0...v2.5.0)
1201
+
1202
+ Enhancements
1203
+
1204
+ * `should exist` works with `exist?` or `exists?` (Myron Marston)
1205
+ * `expect { ... }.not_to do_something` (in addition to `to_not`)
1206
+
1207
+ Documentation
1208
+
1209
+ * improved docs for raise_error matcher (James Almond)
1210
+
1211
+ ### 2.4.0 / 2011-01-02
1212
+
1213
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.3.0...v2.4.0)
1214
+
1215
+ No functional changes in this release, which was made to align with the
1216
+ rspec-core-2.4.0 release.
1217
+
1218
+ Enhancements
1219
+
1220
+ * improved RDoc for change matcher (Jo Liss)
1221
+
1222
+ ### 2.3.0 / 2010-12-12
1223
+
1224
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.2.1...v2.3.0)
1225
+
1226
+ Enhancements
1227
+
1228
+ * diff strings when include matcher fails (Mike Sassak)
1229
+
1230
+ ### 2.2.0 / 2010-11-28
1231
+
1232
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.1.0...v2.2.0)
1233
+
1234
+ ### 2.1.0 / 2010-11-07
1235
+
1236
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.1...v2.1.0)
1237
+
1238
+ Enhancements
1239
+
1240
+ * `be_within(delta).of(expected)` matcher (Myron Marston)
1241
+ * Lots of new Cucumber features (Myron Marston)
1242
+ * Raise error if you try `should != expected` on Ruby-1.9 (Myron Marston)
1243
+ * Improved failure messages from `throw_symbol` (Myron Marston)
1244
+
1245
+ Bug fixes
1246
+
1247
+ * Eliminate hard dependency on `RSpec::Core` (Myron Marston)
1248
+ * `have_matcher` - use pluralize only when ActiveSupport inflections are indeed
1249
+ defined (Josep M Bach)
1250
+ * throw_symbol matcher no longer swallows exceptions (Myron Marston)
1251
+ * fix matcher chaining to avoid name collisions (Myron Marston)
1252
+
1253
+ ### 2.0.0 / 2010-10-10
1254
+
1255
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.rc...v2.0.0)
1256
+
1257
+ Enhancements
1258
+
1259
+ * Add match_for_should_not method to matcher DSL (Myron Marston)
1260
+
1261
+ Bug fixes
1262
+
1263
+ * `respond_to` matcher works correctly with `should_not` with multiple methods
1264
+ (Myron Marston)
1265
+ * `include` matcher works correctly with `should_not` with multiple values
1266
+ (Myron Marston)
1267
+
1268
+ ### 2.0.0.rc / 2010-10-05
1269
+
1270
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.beta.22...v2.0.0.rc)
1271
+
1272
+ Enhancements
1273
+
1274
+ * `require 'rspec/expectations'` in a T::U or MiniUnit suite (Josep M. Bach)
1275
+
1276
+ Bug fixes
1277
+
1278
+ * change by 0 passes/fails correctly (Len Smith)
1279
+ * Add description to satisfy matcher
1280
+
1281
+ ### 2.0.0.beta.22 / 2010-09-12
1282
+
1283
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.beta.20...v2.0.0.beta.22)
1284
+
1285
+ Enhancements
1286
+
1287
+ * diffing improvements
1288
+ * diff multiline strings
1289
+ * don't diff single line strings
1290
+ * don't diff numbers (silly)
1291
+ * diff regexp + multiline string
1292
+
1293
+ Bug fixes
1294
+ * `should[_not]` change now handles boolean values correctly