jscop 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.replit +2 -0
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +69 -0
  6. data/.stickler.yml +13 -0
  7. data/CODE_OF_CONDUCT.md +74 -0
  8. data/Gemfile +10 -0
  9. data/Gemfile.lock +59 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +101 -0
  12. data/Rakefile +6 -0
  13. data/bin/console +13 -0
  14. data/bin/setup +8 -0
  15. data/exe/jscop +45 -0
  16. data/jscop.gemspec +32 -0
  17. data/lib/classes/error.rb +33 -0
  18. data/lib/classes/js_parser.rb +24 -0
  19. data/lib/classes/line.rb +9 -0
  20. data/lib/helpers/lint_ware.rb +39 -0
  21. data/lib/jscop/check_js_files.rb +29 -0
  22. data/lib/jscop/class_count.rb +28 -0
  23. data/lib/jscop/class_name.rb +36 -0
  24. data/lib/jscop/naming_checker.rb +33 -0
  25. data/lib/jscop/spacing_checker.rb +40 -0
  26. data/lib/jscop/unused_var_checker.rb +93 -0
  27. data/lib/jscop/version.rb +3 -0
  28. data/lib/jscop.rb +6 -0
  29. data/vendor/cache/ruby/2.6.0/bin/htmldiff +29 -0
  30. data/vendor/cache/ruby/2.6.0/bin/ldiff +29 -0
  31. data/vendor/cache/ruby/2.6.0/bin/rake +27 -0
  32. data/vendor/cache/ruby/2.6.0/bin/rspec +27 -0
  33. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/CHANGELOG +65 -0
  34. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/LICENSE +339 -0
  35. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/README.md +105 -0
  36. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/Rakefile +13 -0
  37. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/colorize.gemspec +36 -0
  38. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/lib/colorize/class_methods.rb +120 -0
  39. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/lib/colorize/instance_methods.rb +132 -0
  40. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/lib/colorize.rb +12 -0
  41. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/lib/colorized_string.rb +19 -0
  42. data/vendor/cache/ruby/2.6.0/gems/colorize-0.8.1/test/test_colorize.rb +164 -0
  43. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/.rspec +1 -0
  44. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/Code-of-Conduct.md +74 -0
  45. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/Contributing.md +83 -0
  46. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/History.md +220 -0
  47. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/License.md +39 -0
  48. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/Manifest.txt +37 -0
  49. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/README.rdoc +84 -0
  50. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/Rakefile +57 -0
  51. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/autotest/discover.rb +1 -0
  52. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/bin/htmldiff +32 -0
  53. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/bin/ldiff +6 -0
  54. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/docs/COPYING.txt +339 -0
  55. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/docs/artistic.txt +127 -0
  56. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +7 -0
  57. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +37 -0
  58. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +322 -0
  59. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +181 -0
  60. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +149 -0
  61. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +276 -0
  62. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +307 -0
  63. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +167 -0
  64. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +5 -0
  65. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff/lcs.rb +725 -0
  66. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/lib/diff-lcs.rb +3 -0
  67. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/change_spec.rb +65 -0
  68. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/diff_spec.rb +47 -0
  69. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +50 -0
  70. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +51 -0
  71. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/hunk_spec.rb +72 -0
  72. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/issues_spec.rb +49 -0
  73. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/lcs_spec.rb +56 -0
  74. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/ldiff_spec.rb +47 -0
  75. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/patch_spec.rb +422 -0
  76. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/sdiff_spec.rb +214 -0
  77. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/spec_helper.rb +321 -0
  78. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +310 -0
  79. data/vendor/cache/ruby/2.6.0/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +139 -0
  80. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/.autotest +7 -0
  81. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/.rubocop.yml +27 -0
  82. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/.togglerc +7 -0
  83. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  84. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/History.rdoc +659 -0
  85. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/MIT-LICENSE +21 -0
  86. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/Manifest.txt +166 -0
  87. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/README.rdoc +139 -0
  88. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/Rakefile +81 -0
  89. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/bin/rake +33 -0
  90. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  91. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  92. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  93. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/a.c +6 -0
  94. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/b.c +6 -0
  95. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/example/main.c +11 -0
  96. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  97. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/jamis.rb +591 -0
  98. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  99. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/rake.1 +141 -0
  100. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  101. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  102. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  103. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  104. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  105. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  106. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  107. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  108. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  109. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  110. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  111. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  112. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  113. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  114. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  115. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  116. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  117. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  118. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  119. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  120. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  121. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  122. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  123. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  124. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  125. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  126. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  127. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  128. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  129. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  130. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  131. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  132. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  133. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  134. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  135. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  136. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  137. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  138. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  139. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  140. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  141. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  142. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  143. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  144. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  145. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  146. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  147. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  148. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  149. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  150. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  151. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  152. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  153. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  154. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  155. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  156. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  157. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  158. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  159. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  160. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  161. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  162. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  163. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  164. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  165. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  166. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  167. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  168. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  169. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  170. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  171. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  172. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  173. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  174. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  175. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  176. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  177. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  178. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  179. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  180. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  181. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  182. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  183. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  184. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  185. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  186. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  187. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  188. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  189. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  190. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/lib/rake.rb +79 -0
  191. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  192. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  193. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/file_creation.rb +34 -0
  194. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/helper.rb +129 -0
  195. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  196. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  197. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  198. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake.rb +40 -0
  199. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  200. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  201. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  202. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  203. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  204. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  205. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  206. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  207. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  208. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  209. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  210. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  211. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  212. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  213. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  214. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  215. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  216. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  217. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  218. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  219. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  220. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  221. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  222. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  223. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  224. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  225. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  226. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  227. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  228. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  229. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  230. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  231. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  232. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  233. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  234. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  235. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  236. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  237. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  238. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  239. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  240. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  241. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  242. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  243. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  244. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  245. data/vendor/cache/ruby/2.6.0/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  246. data/vendor/cache/ruby/2.6.0/gems/rspec-3.9.0/LICENSE.md +27 -0
  247. data/vendor/cache/ruby/2.6.0/gems/rspec-3.9.0/README.md +43 -0
  248. data/vendor/cache/ruby/2.6.0/gems/rspec-3.9.0/lib/rspec/version.rb +5 -0
  249. data/vendor/cache/ruby/2.6.0/gems/rspec-3.9.0/lib/rspec.rb +3 -0
  250. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/.document +5 -0
  251. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/.yardopts +8 -0
  252. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/Changelog.md +2274 -0
  253. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/LICENSE.md +26 -0
  254. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/README.md +384 -0
  255. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec +4 -0
  256. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/autorun.rb +3 -0
  257. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/backtrace_formatter.rb +65 -0
  258. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/coordinator.rb +62 -0
  259. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  260. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/fork_runner.rb +135 -0
  261. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/server.rb +61 -0
  262. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/shell_command.rb +126 -0
  263. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/shell_runner.rb +73 -0
  264. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/bisect/utilities.rb +58 -0
  265. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb +2336 -0
  266. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration_options.rb +233 -0
  267. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/did_you_mean.rb +46 -0
  268. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/drb.rb +113 -0
  269. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/dsl.rb +98 -0
  270. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb +656 -0
  271. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb +889 -0
  272. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_status_persister.rb +235 -0
  273. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/filter_manager.rb +231 -0
  274. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/flat_map.rb +20 -0
  275. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  276. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_formatter.rb +70 -0
  277. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  278. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  279. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  280. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/console_codes.rb +68 -0
  281. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  282. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  283. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/exception_presenter.rb +508 -0
  284. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  285. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  286. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/helpers.rb +110 -0
  287. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_formatter.rb +153 -0
  288. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_printer.rb +414 -0
  289. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  290. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/json_formatter.rb +102 -0
  291. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  292. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  293. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/protocol.rb +182 -0
  294. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  295. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  296. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/formatters.rb +272 -0
  297. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb +632 -0
  298. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/invocations.rb +87 -0
  299. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/memoized_helpers.rb +554 -0
  300. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb +498 -0
  301. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata_filter.rb +255 -0
  302. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  303. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  304. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  305. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/null.rb +14 -0
  306. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  307. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  308. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/notifications.rb +521 -0
  309. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/option_parser.rb +316 -0
  310. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/ordering.rb +158 -0
  311. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/output_wrapper.rb +29 -0
  312. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/pending.rb +165 -0
  313. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/profiler.rb +34 -0
  314. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer/.rspec +1 -0
  315. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
  316. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/project_initializer.rb +48 -0
  317. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/rake_task.rb +188 -0
  318. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb +265 -0
  319. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/ruby_project.rb +53 -0
  320. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb +204 -0
  321. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/sandbox.rb +37 -0
  322. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/set.rb +54 -0
  323. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_context.rb +55 -0
  324. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb +269 -0
  325. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/shell_escape.rb +49 -0
  326. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  327. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/version.rb +9 -0
  328. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/warnings.rb +40 -0
  329. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/world.rb +275 -0
  330. data/vendor/cache/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core.rb +186 -0
  331. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/.document +5 -0
  332. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/.yardopts +6 -0
  333. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/Changelog.md +1178 -0
  334. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/LICENSE.md +25 -0
  335. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/README.md +320 -0
  336. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  337. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/configuration.rb +215 -0
  338. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb +127 -0
  339. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb +39 -0
  340. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/failure_aggregator.rb +194 -0
  341. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb +170 -0
  342. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/minitest_integration.rb +58 -0
  343. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/syntax.rb +132 -0
  344. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/version.rb +8 -0
  345. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations.rb +82 -0
  346. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/aliased_matcher.rb +116 -0
  347. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/all.rb +86 -0
  348. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/base_matcher.rb +193 -0
  349. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be.rb +288 -0
  350. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be_between.rb +77 -0
  351. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  352. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  353. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/be_within.rb +72 -0
  354. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/change.rb +428 -0
  355. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/compound.rb +276 -0
  356. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/contain_exactly.rb +302 -0
  357. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/cover.rb +24 -0
  358. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/eq.rb +40 -0
  359. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/eql.rb +34 -0
  360. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/equal.rb +81 -0
  361. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/exist.rb +90 -0
  362. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/has.rb +103 -0
  363. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  364. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/include.rb +149 -0
  365. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/match.rb +106 -0
  366. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/operators.rb +128 -0
  367. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/output.rb +200 -0
  368. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/raise_error.rb +230 -0
  369. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/respond_to.rb +199 -0
  370. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  371. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  372. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  373. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in/yield.rb +432 -0
  374. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/built_in.rb +52 -0
  375. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/composable.rb +171 -0
  376. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/dsl.rb +534 -0
  377. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/english_phrasing.rb +58 -0
  378. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  379. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/fail_matchers.rb +42 -0
  380. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/generated_descriptions.rb +41 -0
  381. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/matcher_delegator.rb +35 -0
  382. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers/matcher_protocol.rb +99 -0
  383. data/vendor/cache/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/matchers.rb +1038 -0
  384. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/.document +5 -0
  385. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/.yardopts +6 -0
  386. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/Changelog.md +1133 -0
  387. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/LICENSE.md +25 -0
  388. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/README.md +463 -0
  389. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/chain.rb +111 -0
  390. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  391. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  392. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  393. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  394. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  395. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/recorder.rb +294 -0
  396. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  397. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  398. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/any_instance.rb +11 -0
  399. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  400. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/argument_matchers.rb +322 -0
  401. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/configuration.rb +212 -0
  402. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/error_generator.rb +369 -0
  403. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/example_methods.rb +434 -0
  404. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  405. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/marshal_extension.rb +41 -0
  406. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  407. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/have_received.rb +134 -0
  408. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive.rb +132 -0
  409. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  410. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  411. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_chain.rb +87 -0
  412. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb +751 -0
  413. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_double.rb +287 -0
  414. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/method_reference.rb +202 -0
  415. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/minitest_integration.rb +68 -0
  416. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/mutate_const.rb +339 -0
  417. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/object_reference.rb +149 -0
  418. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/order_group.rb +81 -0
  419. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/proxy.rb +503 -0
  420. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/space.rb +238 -0
  421. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/standalone.rb +3 -0
  422. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/syntax.rb +325 -0
  423. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/targets.rb +124 -0
  424. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/test_double.rb +171 -0
  425. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_double.rb +129 -0
  426. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
  427. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/verifying_proxy.rb +220 -0
  428. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/version.rb +9 -0
  429. data/vendor/cache/ruby/2.6.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks.rb +130 -0
  430. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/Changelog.md +292 -0
  431. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/LICENSE.md +23 -0
  432. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/README.md +40 -0
  433. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/caller_filter.rb +83 -0
  434. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/comparable_version.rb +46 -0
  435. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/differ.rb +215 -0
  436. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/directory_maker.rb +63 -0
  437. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/encoded_string.rb +161 -0
  438. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/fuzzy_matcher.rb +48 -0
  439. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/hunk_generator.rb +47 -0
  440. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/matcher_definition.rb +42 -0
  441. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/method_signature_verifier.rb +438 -0
  442. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/mutex.rb +73 -0
  443. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/object_formatter.rb +275 -0
  444. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/recursive_const_methods.rb +76 -0
  445. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/reentrant_mutex.rb +53 -0
  446. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/ruby_features.rb +185 -0
  447. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/source/location.rb +21 -0
  448. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/source/node.rb +110 -0
  449. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/source/token.rb +87 -0
  450. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/source.rb +75 -0
  451. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  452. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/formatting_support.rb +9 -0
  453. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/in_sub_process.rb +69 -0
  454. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  455. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/shell_out.rb +89 -0
  456. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/stderr_splitter.rb +67 -0
  457. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/string_matcher.rb +46 -0
  458. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  459. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  460. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/spec.rb +81 -0
  461. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/version.rb +7 -0
  462. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support/warnings.rb +39 -0
  463. data/vendor/cache/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb +149 -0
  464. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/CHANGELOG.md +42 -0
  465. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/LICENSE.txt +21 -0
  466. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/README.md +117 -0
  467. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/3d.md +33 -0
  468. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/block.md +34 -0
  469. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/doom.md +30 -0
  470. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/standard.md +27 -0
  471. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/starwars.md +28 -0
  472. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/fonts/straight.md +20 -0
  473. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/font/result.rb +33 -0
  474. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/font/version.rb +7 -0
  475. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/font.rb +88 -0
  476. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/3d.yml +1040 -0
  477. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/block.yml +906 -0
  478. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/doom.yml +916 -0
  479. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/standard.yml +769 -0
  480. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/starwars.yml +862 -0
  481. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty/fonts/straight.yml +570 -0
  482. data/vendor/cache/ruby/2.6.0/gems/tty-font-0.5.0/lib/tty-font.rb +1 -0
  483. data/vendor/cache/ruby/2.6.0/specifications/colorize-0.8.1.gemspec +38 -0
  484. data/vendor/cache/ruby/2.6.0/specifications/diff-lcs-1.3.gemspec +61 -0
  485. data/vendor/cache/ruby/2.6.0/specifications/rake-10.5.0.gemspec +43 -0
  486. data/vendor/cache/ruby/2.6.0/specifications/rspec-3.9.0.gemspec +43 -0
  487. data/vendor/cache/ruby/2.6.0/specifications/rspec-core-3.9.1.gemspec +63 -0
  488. data/vendor/cache/ruby/2.6.0/specifications/rspec-expectations-3.9.1.gemspec +51 -0
  489. data/vendor/cache/ruby/2.6.0/specifications/rspec-mocks-3.9.1.gemspec +51 -0
  490. data/vendor/cache/ruby/2.6.0/specifications/rspec-support-3.9.2.gemspec +39 -0
  491. data/vendor/cache/ruby/2.6.0/specifications/tty-font-0.5.0.gemspec +42 -0
  492. metadata +605 -0
@@ -0,0 +1,230 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Provides the implementation for `raise_error`.
6
+ # Not intended to be instantiated directly.
7
+ # rubocop:disable ClassLength
8
+ # rubocop:disable RescueException
9
+ class RaiseError
10
+ include Composable
11
+
12
+ def initialize(expected_error_or_message=nil, expected_message=nil, &block)
13
+ @block = block
14
+ @actual_error = nil
15
+ @warn_about_bare_error = expected_error_or_message.nil?
16
+
17
+ case expected_error_or_message
18
+ when nil
19
+ @expected_error = Exception
20
+ @expected_message = expected_message
21
+ when String
22
+ @expected_error = Exception
23
+ @expected_message = expected_error_or_message
24
+ else
25
+ @expected_error = expected_error_or_message
26
+ @expected_message = expected_message
27
+ end
28
+ end
29
+
30
+ # @api public
31
+ # Specifies the expected error message.
32
+ def with_message(expected_message)
33
+ raise_message_already_set if @expected_message
34
+ @warn_about_bare_error = false
35
+ @expected_message = expected_message
36
+ self
37
+ end
38
+
39
+ # rubocop:disable MethodLength
40
+ # @private
41
+ def matches?(given_proc, negative_expectation=false, &block)
42
+ @given_proc = given_proc
43
+ @block ||= block
44
+ @raised_expected_error = false
45
+ @with_expected_message = false
46
+ @eval_block = false
47
+ @eval_block_passed = false
48
+
49
+ return false unless Proc === given_proc
50
+
51
+ begin
52
+ given_proc.call
53
+ rescue Exception => @actual_error
54
+ if values_match?(@expected_error, @actual_error) ||
55
+ values_match?(@expected_error, @actual_error.message)
56
+ @raised_expected_error = true
57
+ @with_expected_message = verify_message
58
+ end
59
+ end
60
+
61
+ warn_about_bare_error if warning_about_bare_error && !negative_expectation
62
+ eval_block if !negative_expectation && ready_to_eval_block?
63
+
64
+ expectation_matched?
65
+ end
66
+ # rubocop:enable MethodLength
67
+
68
+ # @private
69
+ def does_not_match?(given_proc)
70
+ warn_for_false_positives
71
+ !matches?(given_proc, :negative_expectation) && Proc === given_proc
72
+ end
73
+
74
+ # @private
75
+ def supports_block_expectations?
76
+ true
77
+ end
78
+
79
+ def expects_call_stack_jump?
80
+ true
81
+ end
82
+
83
+ # @api private
84
+ # @return [String]
85
+ def failure_message
86
+ @eval_block ? @actual_error.message : "expected #{expected_error}#{given_error}"
87
+ end
88
+
89
+ # @api private
90
+ # @return [String]
91
+ def failure_message_when_negated
92
+ "expected no #{expected_error}#{given_error}"
93
+ end
94
+
95
+ # @api private
96
+ # @return [String]
97
+ def description
98
+ "raise #{expected_error}"
99
+ end
100
+
101
+ private
102
+
103
+ def expectation_matched?
104
+ error_and_message_match? && block_matches?
105
+ end
106
+
107
+ def error_and_message_match?
108
+ @raised_expected_error && @with_expected_message
109
+ end
110
+
111
+ def block_matches?
112
+ @eval_block ? @eval_block_passed : true
113
+ end
114
+
115
+ def ready_to_eval_block?
116
+ @raised_expected_error && @with_expected_message && @block
117
+ end
118
+
119
+ def eval_block
120
+ @eval_block = true
121
+ begin
122
+ @block[@actual_error]
123
+ @eval_block_passed = true
124
+ rescue Exception => err
125
+ @actual_error = err
126
+ end
127
+ end
128
+
129
+ def verify_message
130
+ return true if @expected_message.nil?
131
+ values_match?(@expected_message, @actual_error.message.to_s)
132
+ end
133
+
134
+ def warn_for_false_positives
135
+ expression = if expecting_specific_exception? && @expected_message
136
+ "`expect { }.not_to raise_error(SpecificErrorClass, message)`"
137
+ elsif expecting_specific_exception?
138
+ "`expect { }.not_to raise_error(SpecificErrorClass)`"
139
+ elsif @expected_message
140
+ "`expect { }.not_to raise_error(message)`"
141
+ end
142
+
143
+ return unless expression
144
+
145
+ warn_about_negative_false_positive expression
146
+ end
147
+
148
+ def handle_warning(message)
149
+ RSpec::Expectations.configuration.false_positives_handler.call(message)
150
+ end
151
+
152
+ def warning_about_bare_error
153
+ @warn_about_bare_error && @block.nil?
154
+ end
155
+
156
+ def warn_about_bare_error
157
+ handle_warning("Using the `raise_error` matcher without providing a specific " \
158
+ "error or message risks false positives, since `raise_error` " \
159
+ "will match when Ruby raises a `NoMethodError`, `NameError` or " \
160
+ "`ArgumentError`, potentially allowing the expectation to pass " \
161
+ "without even executing the method you are intending to call. " \
162
+ "#{warning}"\
163
+ "Instead consider providing a specific error class or message. " \
164
+ "This message can be suppressed by setting: " \
165
+ "`RSpec::Expectations.configuration.on_potential_false" \
166
+ "_positives = :nothing`")
167
+ end
168
+
169
+ def warn_about_negative_false_positive(expression)
170
+ handle_warning("Using #{expression} risks false positives, since literally " \
171
+ "any other error would cause the expectation to pass, " \
172
+ "including those raised by Ruby (e.g. NoMethodError, NameError " \
173
+ "and ArgumentError), meaning the code you are intending to test " \
174
+ "may not even get reached. Instead consider using " \
175
+ "`expect { }.not_to raise_error` or `expect { }.to raise_error" \
176
+ "(DifferentSpecificErrorClass)`. This message can be suppressed by " \
177
+ "setting: `RSpec::Expectations.configuration.on_potential_false" \
178
+ "_positives = :nothing`")
179
+ end
180
+
181
+ def expected_error
182
+ case @expected_message
183
+ when nil
184
+ if RSpec::Support.is_a_matcher?(@expected_error)
185
+ "Exception with #{description_of(@expected_error)}"
186
+ else
187
+ description_of(@expected_error)
188
+ end
189
+ when Regexp
190
+ "#{@expected_error} with message matching #{description_of(@expected_message)}"
191
+ else
192
+ "#{@expected_error} with #{description_of(@expected_message)}"
193
+ end
194
+ end
195
+
196
+ def format_backtrace(backtrace)
197
+ formatter = Matchers.configuration.backtrace_formatter
198
+ formatter.format_backtrace(backtrace)
199
+ end
200
+
201
+ def given_error
202
+ return " but was not given a block" unless Proc === @given_proc
203
+ return " but nothing was raised" unless @actual_error
204
+
205
+ backtrace = format_backtrace(@actual_error.backtrace)
206
+ [
207
+ ", got #{description_of(@actual_error)} with backtrace:",
208
+ *backtrace
209
+ ].join("\n # ")
210
+ end
211
+
212
+ def expecting_specific_exception?
213
+ @expected_error != Exception
214
+ end
215
+
216
+ def raise_message_already_set
217
+ raise "`expect { }.to raise_error(message).with_message(message)` is not valid. " \
218
+ 'The matcher only allows the expected message to be specified once'
219
+ end
220
+
221
+ def warning
222
+ warning = "Actual error raised was #{description_of(@actual_error)}. "
223
+ warning if @actual_error
224
+ end
225
+ end
226
+ # rubocop:enable RescueException
227
+ # rubocop:enable ClassLength
228
+ end
229
+ end
230
+ end
@@ -0,0 +1,199 @@
1
+ RSpec::Support.require_rspec_support "method_signature_verifier"
2
+
3
+ # TODO: Refactor this file to be under our class length
4
+ # rubocop:disable ClassLength
5
+ module RSpec
6
+ module Matchers
7
+ module BuiltIn
8
+ # @api private
9
+ # Provides the implementation for `respond_to`.
10
+ # Not intended to be instantiated directly.
11
+ class RespondTo < BaseMatcher
12
+ def initialize(*names)
13
+ @names = names
14
+ @expected_arity = nil
15
+ @expected_keywords = []
16
+ @ignoring_method_signature_failure = false
17
+ @unlimited_arguments = nil
18
+ @arbitrary_keywords = nil
19
+ end
20
+
21
+ # @api public
22
+ # Specifies the number of expected arguments.
23
+ #
24
+ # @example
25
+ # expect(obj).to respond_to(:message).with(3).arguments
26
+ def with(n)
27
+ @expected_arity = n
28
+ self
29
+ end
30
+
31
+ # @api public
32
+ # Specifies keyword arguments, if any.
33
+ #
34
+ # @example
35
+ # expect(obj).to respond_to(:message).with_keywords(:color, :shape)
36
+ # @example with an expected number of arguments
37
+ # expect(obj).to respond_to(:message).with(3).arguments.and_keywords(:color, :shape)
38
+ def with_keywords(*keywords)
39
+ @expected_keywords = keywords
40
+ self
41
+ end
42
+ alias :and_keywords :with_keywords
43
+
44
+ # @api public
45
+ # Specifies that the method accepts any keyword, i.e. the method has
46
+ # a splatted keyword parameter of the form **kw_args.
47
+ #
48
+ # @example
49
+ # expect(obj).to respond_to(:message).with_any_keywords
50
+ def with_any_keywords
51
+ @arbitrary_keywords = true
52
+ self
53
+ end
54
+ alias :and_any_keywords :with_any_keywords
55
+
56
+ # @api public
57
+ # Specifies that the number of arguments has no upper limit, i.e. the
58
+ # method has a splatted parameter of the form *args.
59
+ #
60
+ # @example
61
+ # expect(obj).to respond_to(:message).with_unlimited_arguments
62
+ def with_unlimited_arguments
63
+ @unlimited_arguments = true
64
+ self
65
+ end
66
+ alias :and_unlimited_arguments :with_unlimited_arguments
67
+
68
+ # @api public
69
+ # No-op. Intended to be used as syntactic sugar when using `with`.
70
+ #
71
+ # @example
72
+ # expect(obj).to respond_to(:message).with(3).arguments
73
+ def argument
74
+ self
75
+ end
76
+ alias :arguments :argument
77
+
78
+ # @private
79
+ def matches?(actual)
80
+ find_failing_method_names(actual, :reject).empty?
81
+ end
82
+
83
+ # @private
84
+ def does_not_match?(actual)
85
+ find_failing_method_names(actual, :select).empty?
86
+ end
87
+
88
+ # @api private
89
+ # @return [String]
90
+ def failure_message
91
+ "expected #{actual_formatted} to respond to #{@failing_method_names.map { |name| description_of(name) }.join(', ')}#{with_arity}"
92
+ end
93
+
94
+ # @api private
95
+ # @return [String]
96
+ def failure_message_when_negated
97
+ failure_message.sub(/to respond to/, 'not to respond to')
98
+ end
99
+
100
+ # @api private
101
+ # @return [String]
102
+ def description
103
+ "respond to #{pp_names}#{with_arity}"
104
+ end
105
+
106
+ # @api private
107
+ # Used by other matchers to suppress a check
108
+ def ignoring_method_signature_failure!
109
+ @ignoring_method_signature_failure = true
110
+ end
111
+
112
+ private
113
+
114
+ def find_failing_method_names(actual, filter_method)
115
+ @actual = actual
116
+ @failing_method_names = @names.__send__(filter_method) do |name|
117
+ @actual.respond_to?(name) && matches_arity?(actual, name)
118
+ end
119
+ end
120
+
121
+ def setup_method_signature_expectation
122
+ expectation = Support::MethodSignatureExpectation.new
123
+
124
+ if @expected_arity.is_a?(Range)
125
+ expectation.min_count = @expected_arity.min
126
+ expectation.max_count = @expected_arity.max
127
+ else
128
+ expectation.min_count = @expected_arity
129
+ end
130
+
131
+ expectation.keywords = @expected_keywords
132
+ expectation.expect_unlimited_arguments = @unlimited_arguments
133
+ expectation.expect_arbitrary_keywords = @arbitrary_keywords
134
+
135
+ expectation
136
+ end
137
+
138
+ def matches_arity?(actual, name)
139
+ expectation = setup_method_signature_expectation
140
+
141
+ return true if expectation.empty?
142
+
143
+ begin
144
+ Support::StrictSignatureVerifier.new(method_signature_for(actual, name)).
145
+ with_expectation(expectation).valid?
146
+ rescue NameError
147
+ return true if @ignoring_method_signature_failure
148
+ raise ArgumentError, "The #{matcher_name} matcher requires that " \
149
+ "the actual object define the method(s) in " \
150
+ "order to check arity, but the method " \
151
+ "`#{name}` is not defined. Remove the arity " \
152
+ "check or define the method to continue."
153
+ end
154
+ end
155
+
156
+ def method_signature_for(actual, name)
157
+ method_handle = Support.method_handle_for(actual, name)
158
+
159
+ if name == :new && method_handle.owner === ::Class && ::Class === actual
160
+ Support::MethodSignature.new(actual.instance_method(:initialize))
161
+ else
162
+ Support::MethodSignature.new(method_handle)
163
+ end
164
+ end
165
+
166
+ def with_arity
167
+ str = ''.dup
168
+ str << " with #{with_arity_string}" if @expected_arity
169
+ str << " #{str.length == 0 ? 'with' : 'and'} #{with_keywords_string}" if @expected_keywords && @expected_keywords.count > 0
170
+ str << " #{str.length == 0 ? 'with' : 'and'} unlimited arguments" if @unlimited_arguments
171
+ str << " #{str.length == 0 ? 'with' : 'and'} any keywords" if @arbitrary_keywords
172
+ str
173
+ end
174
+
175
+ def with_arity_string
176
+ "#{@expected_arity} argument#{@expected_arity == 1 ? '' : 's'}"
177
+ end
178
+
179
+ def with_keywords_string
180
+ kw_str = case @expected_keywords.count
181
+ when 1
182
+ @expected_keywords.first.inspect
183
+ when 2
184
+ @expected_keywords.map(&:inspect).join(' and ')
185
+ else
186
+ "#{@expected_keywords[0...-1].map(&:inspect).join(', ')}, and #{@expected_keywords.last.inspect}"
187
+ end
188
+
189
+ "keyword#{@expected_keywords.count == 1 ? '' : 's'} #{kw_str}"
190
+ end
191
+
192
+ def pp_names
193
+ @names.length == 1 ? "##{@names.first}" : description_of(@names)
194
+ end
195
+ end
196
+ end
197
+ end
198
+ end
199
+ # rubocop:enable ClassLength
@@ -0,0 +1,60 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Provides the implementation for `satisfy`.
6
+ # Not intended to be instantiated directly.
7
+ class Satisfy < BaseMatcher
8
+ def initialize(description=nil, &block)
9
+ @description = description
10
+ @block = block
11
+ end
12
+
13
+ # @private
14
+ def matches?(actual, &block)
15
+ @block = block if block
16
+ @actual = actual
17
+ @block.call(actual)
18
+ end
19
+
20
+ # @private
21
+ def description
22
+ @description ||= "satisfy #{block_representation}"
23
+ end
24
+
25
+ # @api private
26
+ # @return [String]
27
+ def failure_message
28
+ "expected #{actual_formatted} to #{description}"
29
+ end
30
+
31
+ # @api private
32
+ # @return [String]
33
+ def failure_message_when_negated
34
+ "expected #{actual_formatted} not to #{description}"
35
+ end
36
+
37
+ private
38
+
39
+ if RSpec::Support::RubyFeatures.ripper_supported?
40
+ def block_representation
41
+ if (block_snippet = extract_block_snippet)
42
+ "expression `#{block_snippet}`"
43
+ else
44
+ 'block'
45
+ end
46
+ end
47
+
48
+ def extract_block_snippet
49
+ return nil unless @block
50
+ Expectations::BlockSnippetExtractor.try_extracting_single_line_body_of(@block, matcher_name)
51
+ end
52
+ else
53
+ def block_representation
54
+ 'block'
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,94 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Base class for the `end_with` and `start_with` matchers.
6
+ # Not intended to be instantiated directly.
7
+ class StartOrEndWith < BaseMatcher
8
+ def initialize(*expected)
9
+ @actual_does_not_have_ordered_elements = false
10
+ @expected = expected.length == 1 ? expected.first : expected
11
+ end
12
+
13
+ # @api private
14
+ # @return [String]
15
+ def failure_message
16
+ super.tap do |msg|
17
+ if @actual_does_not_have_ordered_elements
18
+ msg << ", but it does not have ordered elements"
19
+ elsif !actual.respond_to?(:[])
20
+ msg << ", but it cannot be indexed using #[]"
21
+ end
22
+ end
23
+ end
24
+
25
+ # @api private
26
+ # @return [String]
27
+ def description
28
+ return super unless Hash === expected
29
+ english_name = EnglishPhrasing.split_words(self.class.matcher_name)
30
+ description_of_expected = surface_descriptions_in(expected).inspect
31
+ "#{english_name} #{description_of_expected}"
32
+ end
33
+
34
+ private
35
+
36
+ def match(_expected, actual)
37
+ return false unless actual.respond_to?(:[])
38
+
39
+ begin
40
+ return true if subsets_comparable? && subset_matches?
41
+ element_matches?
42
+ rescue ArgumentError
43
+ @actual_does_not_have_ordered_elements = true
44
+ return false
45
+ end
46
+ end
47
+
48
+ def subsets_comparable?
49
+ # Structs support the Enumerable interface but don't really have
50
+ # the semantics of a subset of a larger set...
51
+ return false if Struct === expected
52
+
53
+ expected.respond_to?(:length)
54
+ end
55
+ end
56
+
57
+ # For RSpec 3.1, the base class was named `StartAndEndWith`. For SemVer reasons,
58
+ # we still provide this constant until 4.0.
59
+ # @deprecated Use StartOrEndWith instead.
60
+ # @private
61
+ StartAndEndWith = StartOrEndWith
62
+
63
+ # @api private
64
+ # Provides the implementation for `start_with`.
65
+ # Not intended to be instantiated directly.
66
+ class StartWith < StartOrEndWith
67
+ private
68
+
69
+ def subset_matches?
70
+ values_match?(expected, actual[0, expected.length])
71
+ end
72
+
73
+ def element_matches?
74
+ values_match?(expected, actual[0])
75
+ end
76
+ end
77
+
78
+ # @api private
79
+ # Provides the implementation for `end_with`.
80
+ # Not intended to be instantiated directly.
81
+ class EndWith < StartOrEndWith
82
+ private
83
+
84
+ def subset_matches?
85
+ values_match?(expected, actual[-expected.length, expected.length])
86
+ end
87
+
88
+ def element_matches?
89
+ values_match?(expected, actual[-1])
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end