bibtex_to_scrapbox 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +6 -0
  7. data/LICENSE +22 -0
  8. data/README.md +43 -0
  9. data/Rakefile +6 -0
  10. data/bibtex_to_scrapbox.gemspec +29 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/exe/bibtex_to_scrapbox +7 -0
  14. data/gems/bin/htmldiff +29 -0
  15. data/gems/bin/ldiff +29 -0
  16. data/gems/bin/rake +27 -0
  17. data/gems/bin/rspec +27 -0
  18. data/gems/bin/thor +27 -0
  19. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/gem.build_complete +0 -0
  20. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/gem_make.out +288 -0
  21. data/gems/extensions/x86_64-darwin-16/2.4.0-static/unicode-0.4.4.4/unicode/unicode_native.bundle +0 -0
  22. data/gems/gems/bibtex-ruby-4.4.4/Gemfile +66 -0
  23. data/gems/gems/bibtex-ruby-4.4.4/Guardfile +22 -0
  24. data/gems/gems/bibtex-ruby-4.4.4/History.txt +306 -0
  25. data/gems/gems/bibtex-ruby-4.4.4/LICENSE +621 -0
  26. data/gems/gems/bibtex-ruby-4.4.4/Manifest +100 -0
  27. data/gems/gems/bibtex-ruby-4.4.4/README.md +615 -0
  28. data/gems/gems/bibtex-ruby-4.4.4/Rakefile +123 -0
  29. data/gems/gems/bibtex-ruby-4.4.4/bibtex-ruby.gemspec +38 -0
  30. data/gems/gems/bibtex-ruby-4.4.4/examples/bib2html.rb +42 -0
  31. data/gems/gems/bibtex-ruby-4.4.4/examples/bib2yaml.rb +12 -0
  32. data/gems/gems/bibtex-ruby-4.4.4/examples/markdown.bib +39 -0
  33. data/gems/gems/bibtex-ruby-4.4.4/features/bibtex.feature +96 -0
  34. data/gems/gems/bibtex-ruby-4.4.4/features/entries.feature +67 -0
  35. data/gems/gems/bibtex-ruby-4.4.4/features/issues/braced_strings.feature +48 -0
  36. data/gems/gems/bibtex-ruby-4.4.4/features/issues/crossref.feature +62 -0
  37. data/gems/gems/bibtex-ruby-4.4.4/features/issues/latex_filter.feature +171 -0
  38. data/gems/gems/bibtex-ruby-4.4.4/features/issues/multiline_strings.feature +14 -0
  39. data/gems/gems/bibtex-ruby-4.4.4/features/issues/name_parsing.feature +19 -0
  40. data/gems/gems/bibtex-ruby-4.4.4/features/issues/non_ascii_default_keys.feature +20 -0
  41. data/gems/gems/bibtex-ruby-4.4.4/features/issues/non_ascii_keys.feature +17 -0
  42. data/gems/gems/bibtex-ruby-4.4.4/features/issues/number_keys.feature +45 -0
  43. data/gems/gems/bibtex-ruby-4.4.4/features/issues/parse_months.feature +43 -0
  44. data/gems/gems/bibtex-ruby-4.4.4/features/issues/slash_keys.feature +21 -0
  45. data/gems/gems/bibtex-ruby-4.4.4/features/issues/trailing_comma.feature +21 -0
  46. data/gems/gems/bibtex-ruby-4.4.4/features/issues/whitespace_keys.feature +23 -0
  47. data/gems/gems/bibtex-ruby-4.4.4/features/names.feature +86 -0
  48. data/gems/gems/bibtex-ruby-4.4.4/features/preambles.feature +27 -0
  49. data/gems/gems/bibtex-ruby-4.4.4/features/query.feature +102 -0
  50. data/gems/gems/bibtex-ruby-4.4.4/features/replacement.feature +68 -0
  51. data/gems/gems/bibtex-ruby-4.4.4/features/step_definitions/bibtex_steps.rb +119 -0
  52. data/gems/gems/bibtex-ruby-4.4.4/features/step_definitions/name_steps.rb +18 -0
  53. data/gems/gems/bibtex-ruby-4.4.4/features/strings.feature +53 -0
  54. data/gems/gems/bibtex-ruby-4.4.4/features/support/env.rb +21 -0
  55. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex.rb +83 -0
  56. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibliography.rb +594 -0
  57. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibliography/rdf_converter.rb +27 -0
  58. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/bibtex.y +141 -0
  59. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/compatibility.rb +25 -0
  60. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/elements.rb +376 -0
  61. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry.rb +690 -0
  62. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/bibtexml_converter.rb +44 -0
  63. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/citeproc_converter.rb +164 -0
  64. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/entry/rdf_converter.rb +588 -0
  65. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/error.rb +49 -0
  66. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/extensions.rb +25 -0
  67. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters.rb +55 -0
  68. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters/latex.rb +13 -0
  69. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/filters/linebreaks.rb +11 -0
  70. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/lexer.rb +358 -0
  71. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/name_parser.rb +563 -0
  72. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/names.rb +315 -0
  73. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/names.y +267 -0
  74. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/parser.rb +474 -0
  75. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/replaceable.rb +52 -0
  76. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/ruby.rb +1 -0
  77. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/utilities.rb +59 -0
  78. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/value.rb +305 -0
  79. data/gems/gems/bibtex-ruby-4.4.4/lib/bibtex/version.rb +28 -0
  80. data/gems/gems/bibtex-ruby-4.4.4/test/benchmark.rb +84 -0
  81. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/entry/test_rdf_converter.rb +341 -0
  82. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_bibliography.rb +446 -0
  83. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_elements.rb +64 -0
  84. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_entry.rb +698 -0
  85. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_filters.rb +36 -0
  86. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_lexer.rb +42 -0
  87. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_name_parser.rb +29 -0
  88. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_names.rb +168 -0
  89. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_parser.rb +210 -0
  90. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_string.rb +83 -0
  91. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_utilities.rb +34 -0
  92. data/gems/gems/bibtex-ruby-4.4.4/test/bibtex/test_value.rb +189 -0
  93. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/bibdesk.bib +50 -0
  94. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/comment.bib +15 -0
  95. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/decoret.bib +83 -0
  96. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/empty.bib +0 -0
  97. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/entry.bib +24 -0
  98. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/errors.bib +67 -0
  99. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/no_bibtex.bib +9 -0
  100. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/preamble.bib +12 -0
  101. data/gems/gems/bibtex-ruby-4.4.4/test/fixtures/roundtrip.bib +11 -0
  102. data/gems/gems/bibtex-ruby-4.4.4/test/helper.rb +43 -0
  103. data/gems/gems/bibtex-ruby-4.4.4/test/macruby.d +21 -0
  104. data/gems/gems/bibtex-ruby-4.4.4/test/macruby.rb +22 -0
  105. data/gems/gems/bibtex-ruby-4.4.4/test/profile.rb +28 -0
  106. data/gems/gems/bibtex-ruby-4.4.4/test/test_bibtex.rb +127 -0
  107. data/gems/gems/bibtex-ruby-4.4.4/test/test_export.rb +33 -0
  108. data/gems/gems/diff-lcs-1.3/.rspec +1 -0
  109. data/gems/gems/diff-lcs-1.3/Code-of-Conduct.md +74 -0
  110. data/gems/gems/diff-lcs-1.3/Contributing.md +83 -0
  111. data/gems/gems/diff-lcs-1.3/History.md +220 -0
  112. data/gems/gems/diff-lcs-1.3/License.md +39 -0
  113. data/gems/gems/diff-lcs-1.3/Manifest.txt +37 -0
  114. data/gems/gems/diff-lcs-1.3/README.rdoc +84 -0
  115. data/gems/gems/diff-lcs-1.3/Rakefile +57 -0
  116. data/gems/gems/diff-lcs-1.3/autotest/discover.rb +1 -0
  117. data/gems/gems/diff-lcs-1.3/bin/htmldiff +32 -0
  118. data/gems/gems/diff-lcs-1.3/bin/ldiff +6 -0
  119. data/gems/gems/diff-lcs-1.3/docs/COPYING.txt +339 -0
  120. data/gems/gems/diff-lcs-1.3/docs/artistic.txt +127 -0
  121. data/gems/gems/diff-lcs-1.3/lib/diff-lcs.rb +3 -0
  122. data/gems/gems/diff-lcs-1.3/lib/diff/lcs.rb +725 -0
  123. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/array.rb +7 -0
  124. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/block.rb +37 -0
  125. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/callbacks.rb +322 -0
  126. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/change.rb +181 -0
  127. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/htmldiff.rb +149 -0
  128. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb +276 -0
  129. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/internals.rb +307 -0
  130. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/ldiff.rb +167 -0
  131. data/gems/gems/diff-lcs-1.3/lib/diff/lcs/string.rb +5 -0
  132. data/gems/gems/diff-lcs-1.3/spec/change_spec.rb +65 -0
  133. data/gems/gems/diff-lcs-1.3/spec/diff_spec.rb +47 -0
  134. data/gems/gems/diff-lcs-1.3/spec/fixtures/ds1.csv +50 -0
  135. data/gems/gems/diff-lcs-1.3/spec/fixtures/ds2.csv +51 -0
  136. data/gems/gems/diff-lcs-1.3/spec/hunk_spec.rb +72 -0
  137. data/gems/gems/diff-lcs-1.3/spec/issues_spec.rb +49 -0
  138. data/gems/gems/diff-lcs-1.3/spec/lcs_spec.rb +56 -0
  139. data/gems/gems/diff-lcs-1.3/spec/ldiff_spec.rb +47 -0
  140. data/gems/gems/diff-lcs-1.3/spec/patch_spec.rb +422 -0
  141. data/gems/gems/diff-lcs-1.3/spec/sdiff_spec.rb +214 -0
  142. data/gems/gems/diff-lcs-1.3/spec/spec_helper.rb +321 -0
  143. data/gems/gems/diff-lcs-1.3/spec/traverse_balanced_spec.rb +310 -0
  144. data/gems/gems/diff-lcs-1.3/spec/traverse_sequences_spec.rb +139 -0
  145. data/gems/gems/latex-decode-0.2.2/.gitignore +6 -0
  146. data/gems/gems/latex-decode-0.2.2/.travis.yml +18 -0
  147. data/gems/gems/latex-decode-0.2.2/Gemfile +21 -0
  148. data/gems/gems/latex-decode-0.2.2/LICENSE +621 -0
  149. data/gems/gems/latex-decode-0.2.2/README.md +65 -0
  150. data/gems/gems/latex-decode-0.2.2/Rakefile +41 -0
  151. data/gems/gems/latex-decode-0.2.2/cucumber.yml +1 -0
  152. data/gems/gems/latex-decode-0.2.2/features/brackets.feature +11 -0
  153. data/gems/gems/latex-decode-0.2.2/features/diacritics.feature +40 -0
  154. data/gems/gems/latex-decode-0.2.2/features/greek.feature +13 -0
  155. data/gems/gems/latex-decode-0.2.2/features/maths.feature +9 -0
  156. data/gems/gems/latex-decode-0.2.2/features/non-latex.feature +15 -0
  157. data/gems/gems/latex-decode-0.2.2/features/punctuation.feature +50 -0
  158. data/gems/gems/latex-decode-0.2.2/features/special_characters.feature +21 -0
  159. data/gems/gems/latex-decode-0.2.2/features/step_definitions/latex.rb +7 -0
  160. data/gems/gems/latex-decode-0.2.2/features/support/env.rb +14 -0
  161. data/gems/gems/latex-decode-0.2.2/features/symbols.feature +21 -0
  162. data/gems/gems/latex-decode-0.2.2/features/umlauts.feature +11 -0
  163. data/gems/gems/latex-decode-0.2.2/latex-decode.gemspec +33 -0
  164. data/gems/gems/latex-decode-0.2.2/lib/latex/decode.rb +54 -0
  165. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/accents.rb +36 -0
  166. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/base.rb +62 -0
  167. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/compatibility.rb +89 -0
  168. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/diacritics.rb +46 -0
  169. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/greek.rb +61 -0
  170. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/maths.rb +21 -0
  171. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/punctuation.rb +59 -0
  172. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/symbols.rb +225 -0
  173. data/gems/gems/latex-decode-0.2.2/lib/latex/decode/version.rb +5 -0
  174. data/gems/gems/rake-10.5.0/.autotest +7 -0
  175. data/gems/gems/rake-10.5.0/.rubocop.yml +27 -0
  176. data/gems/gems/rake-10.5.0/.togglerc +7 -0
  177. data/gems/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  178. data/gems/gems/rake-10.5.0/History.rdoc +659 -0
  179. data/gems/gems/rake-10.5.0/MIT-LICENSE +21 -0
  180. data/gems/gems/rake-10.5.0/Manifest.txt +166 -0
  181. data/gems/gems/rake-10.5.0/README.rdoc +139 -0
  182. data/gems/gems/rake-10.5.0/Rakefile +81 -0
  183. data/gems/gems/rake-10.5.0/bin/rake +33 -0
  184. data/gems/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  185. data/gems/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  186. data/gems/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  187. data/gems/gems/rake-10.5.0/doc/example/a.c +6 -0
  188. data/gems/gems/rake-10.5.0/doc/example/b.c +6 -0
  189. data/gems/gems/rake-10.5.0/doc/example/main.c +11 -0
  190. data/gems/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  191. data/gems/gems/rake-10.5.0/doc/jamis.rb +591 -0
  192. data/gems/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  193. data/gems/gems/rake-10.5.0/doc/rake.1 +141 -0
  194. data/gems/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  195. data/gems/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  196. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  197. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  198. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  199. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  200. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  201. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  202. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  203. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  204. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  205. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  206. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  207. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  208. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  209. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  210. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  211. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  212. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  213. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  214. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  215. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  216. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  217. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  218. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  219. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  220. data/gems/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  221. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  222. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  223. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  224. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  225. data/gems/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  226. data/gems/gems/rake-10.5.0/lib/rake.rb +79 -0
  227. data/gems/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  228. data/gems/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  229. data/gems/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  230. data/gems/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  231. data/gems/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  232. data/gems/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  233. data/gems/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  234. data/gems/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  235. data/gems/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  236. data/gems/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  237. data/gems/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  238. data/gems/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  239. data/gems/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  240. data/gems/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  241. data/gems/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  242. data/gems/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  243. data/gems/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  244. data/gems/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  245. data/gems/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  246. data/gems/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  247. data/gems/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  248. data/gems/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  249. data/gems/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  250. data/gems/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  251. data/gems/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  252. data/gems/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  253. data/gems/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  254. data/gems/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  255. data/gems/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  256. data/gems/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  257. data/gems/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  258. data/gems/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  259. data/gems/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  260. data/gems/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  261. data/gems/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  262. data/gems/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  263. data/gems/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  264. data/gems/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  265. data/gems/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  266. data/gems/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  267. data/gems/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  268. data/gems/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  269. data/gems/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  270. data/gems/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  271. data/gems/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  272. data/gems/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  273. data/gems/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  274. data/gems/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  275. data/gems/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  276. data/gems/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  277. data/gems/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  278. data/gems/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  279. data/gems/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  280. data/gems/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  281. data/gems/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  282. data/gems/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  283. data/gems/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  284. data/gems/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  285. data/gems/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  286. data/gems/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  287. data/gems/gems/rake-10.5.0/test/file_creation.rb +34 -0
  288. data/gems/gems/rake-10.5.0/test/helper.rb +129 -0
  289. data/gems/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  290. data/gems/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  291. data/gems/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  292. data/gems/gems/rake-10.5.0/test/test_rake.rb +40 -0
  293. data/gems/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  294. data/gems/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  295. data/gems/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  296. data/gems/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  297. data/gems/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  298. data/gems/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  299. data/gems/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  300. data/gems/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  301. data/gems/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  302. data/gems/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  303. data/gems/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  304. data/gems/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  305. data/gems/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  306. data/gems/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  307. data/gems/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  308. data/gems/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  309. data/gems/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  310. data/gems/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  311. data/gems/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  312. data/gems/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  313. data/gems/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  314. data/gems/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  315. data/gems/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  316. data/gems/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  317. data/gems/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  318. data/gems/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  319. data/gems/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  320. data/gems/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  321. data/gems/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  322. data/gems/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  323. data/gems/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  324. data/gems/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  325. data/gems/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  326. data/gems/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  327. data/gems/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  328. data/gems/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  329. data/gems/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  330. data/gems/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  331. data/gems/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  332. data/gems/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  333. data/gems/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  334. data/gems/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  335. data/gems/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  336. data/gems/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  337. data/gems/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  338. data/gems/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  339. data/gems/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  340. data/gems/gems/rspec-3.6.0/LICENSE.md +27 -0
  341. data/gems/gems/rspec-3.6.0/README.md +39 -0
  342. data/gems/gems/rspec-3.6.0/lib/rspec.rb +3 -0
  343. data/gems/gems/rspec-3.6.0/lib/rspec/version.rb +5 -0
  344. data/gems/gems/rspec-core-3.6.0/.document +5 -0
  345. data/gems/gems/rspec-core-3.6.0/.yardopts +8 -0
  346. data/gems/gems/rspec-core-3.6.0/Changelog.md +2167 -0
  347. data/gems/gems/rspec-core-3.6.0/LICENSE.md +26 -0
  348. data/gems/gems/rspec-core-3.6.0/README.md +384 -0
  349. data/gems/gems/rspec-core-3.6.0/exe/rspec +4 -0
  350. data/gems/gems/rspec-core-3.6.0/lib/rspec/autorun.rb +3 -0
  351. data/gems/gems/rspec-core-3.6.0/lib/rspec/core.rb +185 -0
  352. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/backtrace_formatter.rb +65 -0
  353. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/coordinator.rb +66 -0
  354. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/example_minimizer.rb +169 -0
  355. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/runner.rb +169 -0
  356. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/bisect/server.rb +70 -0
  357. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb +2177 -0
  358. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/configuration_options.rb +196 -0
  359. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/drb.rb +113 -0
  360. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/dsl.rb +98 -0
  361. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example.rb +653 -0
  362. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb +883 -0
  363. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/example_status_persister.rb +235 -0
  364. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/filter_manager.rb +231 -0
  365. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/flat_map.rb +20 -0
  366. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters.rb +265 -0
  367. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_formatter.rb +70 -0
  368. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  369. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_formatter.rb +69 -0
  370. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +144 -0
  371. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/console_codes.rb +68 -0
  372. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  373. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
  374. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/exception_presenter.rb +496 -0
  375. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  376. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/helpers.rb +110 -0
  377. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_formatter.rb +153 -0
  378. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_printer.rb +414 -0
  379. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/html_snippet_extractor.rb +118 -0
  380. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/json_formatter.rb +101 -0
  381. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  382. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  383. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/protocol.rb +182 -0
  384. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  385. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  386. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb +624 -0
  387. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/invocations.rb +85 -0
  388. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/memoized_helpers.rb +535 -0
  389. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/metadata.rb +499 -0
  390. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/metadata_filter.rb +255 -0
  391. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  392. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  393. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  394. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/null.rb +14 -0
  395. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  396. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  397. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/notifications.rb +514 -0
  398. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/option_parser.rb +309 -0
  399. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/ordering.rb +158 -0
  400. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/output_wrapper.rb +29 -0
  401. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/pending.rb +165 -0
  402. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/profiler.rb +32 -0
  403. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer.rb +48 -0
  404. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/.rspec +1 -0
  405. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
  406. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/rake_task.rb +168 -0
  407. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/reporter.rb +260 -0
  408. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/ruby_project.rb +53 -0
  409. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb +193 -0
  410. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/sandbox.rb +37 -0
  411. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/set.rb +54 -0
  412. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shared_context.rb +55 -0
  413. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shared_example_group.rb +271 -0
  414. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/shell_escape.rb +49 -0
  415. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  416. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/version.rb +9 -0
  417. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/warnings.rb +40 -0
  418. data/gems/gems/rspec-core-3.6.0/lib/rspec/core/world.rb +264 -0
  419. data/gems/gems/rspec-expectations-3.6.0/.document +5 -0
  420. data/gems/gems/rspec-expectations-3.6.0/.yardopts +6 -0
  421. data/gems/gems/rspec-expectations-3.6.0/Changelog.md +1072 -0
  422. data/gems/gems/rspec-expectations-3.6.0/LICENSE.md +25 -0
  423. data/gems/gems/rspec-expectations-3.6.0/README.md +305 -0
  424. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations.rb +82 -0
  425. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  426. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/configuration.rb +201 -0
  427. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/expectation_target.rb +127 -0
  428. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/fail_with.rb +39 -0
  429. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/failure_aggregator.rb +194 -0
  430. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/handler.rb +170 -0
  431. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/minitest_integration.rb +58 -0
  432. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/syntax.rb +132 -0
  433. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/expectations/version.rb +8 -0
  434. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers.rb +1025 -0
  435. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
  436. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in.rb +52 -0
  437. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/all.rb +85 -0
  438. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/base_matcher.rb +193 -0
  439. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be.rb +288 -0
  440. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
  441. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  442. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  443. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
  444. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/change.rb +387 -0
  445. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/compound.rb +272 -0
  446. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/contain_exactly.rb +301 -0
  447. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/cover.rb +24 -0
  448. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eq.rb +40 -0
  449. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/eql.rb +34 -0
  450. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/equal.rb +81 -0
  451. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/exist.rb +90 -0
  452. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/has.rb +103 -0
  453. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  454. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/include.rb +143 -0
  455. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/match.rb +106 -0
  456. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/operators.rb +128 -0
  457. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/output.rb +200 -0
  458. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/raise_error.rb +230 -0
  459. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/respond_to.rb +165 -0
  460. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  461. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  462. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  463. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/built_in/yield.rb +432 -0
  464. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/composable.rb +169 -0
  465. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/dsl.rb +527 -0
  466. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/english_phrasing.rb +58 -0
  467. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
  468. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/fail_matchers.rb +42 -0
  469. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/generated_descriptions.rb +42 -0
  470. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
  471. data/gems/gems/rspec-expectations-3.6.0/lib/rspec/matchers/matcher_protocol.rb +99 -0
  472. data/gems/gems/rspec-mocks-3.6.0/.document +5 -0
  473. data/gems/gems/rspec-mocks-3.6.0/.yardopts +6 -0
  474. data/gems/gems/rspec-mocks-3.6.0/Changelog.md +1073 -0
  475. data/gems/gems/rspec-mocks-3.6.0/LICENSE.md +25 -0
  476. data/gems/gems/rspec-mocks-3.6.0/README.md +460 -0
  477. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks.rb +130 -0
  478. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance.rb +11 -0
  479. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/chain.rb +110 -0
  480. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  481. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  482. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  483. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  484. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  485. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/recorder.rb +289 -0
  486. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  487. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  488. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  489. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/argument_matchers.rb +320 -0
  490. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/configuration.rb +212 -0
  491. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/error_generator.rb +369 -0
  492. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/example_methods.rb +434 -0
  493. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  494. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/marshal_extension.rb +41 -0
  495. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  496. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/have_received.rb +130 -0
  497. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive.rb +132 -0
  498. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  499. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  500. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_chain.rb +87 -0
  501. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/message_expectation.rb +740 -0
  502. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_double.rb +287 -0
  503. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/method_reference.rb +202 -0
  504. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/minitest_integration.rb +68 -0
  505. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/mutate_const.rb +339 -0
  506. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/object_reference.rb +149 -0
  507. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/order_group.rb +81 -0
  508. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/proxy.rb +484 -0
  509. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/space.rb +238 -0
  510. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/standalone.rb +3 -0
  511. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/syntax.rb +325 -0
  512. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/targets.rb +124 -0
  513. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/test_double.rb +171 -0
  514. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_double.rb +129 -0
  515. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
  516. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/verifying_proxy.rb +220 -0
  517. data/gems/gems/rspec-mocks-3.6.0/lib/rspec/mocks/version.rb +9 -0
  518. data/gems/gems/rspec-support-3.6.0/Changelog.md +211 -0
  519. data/gems/gems/rspec-support-3.6.0/LICENSE.md +23 -0
  520. data/gems/gems/rspec-support-3.6.0/README.md +40 -0
  521. data/gems/gems/rspec-support-3.6.0/lib/rspec/support.rb +139 -0
  522. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/caller_filter.rb +83 -0
  523. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/comparable_version.rb +46 -0
  524. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/differ.rb +215 -0
  525. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/directory_maker.rb +63 -0
  526. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/encoded_string.rb +165 -0
  527. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
  528. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/hunk_generator.rb +47 -0
  529. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/matcher_definition.rb +42 -0
  530. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/method_signature_verifier.rb +392 -0
  531. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/mutex.rb +73 -0
  532. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/object_formatter.rb +268 -0
  533. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/recursive_const_methods.rb +76 -0
  534. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/reentrant_mutex.rb +53 -0
  535. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/ruby_features.rb +162 -0
  536. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source.rb +75 -0
  537. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/location.rb +21 -0
  538. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/node.rb +107 -0
  539. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/source/token.rb +87 -0
  540. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec.rb +81 -0
  541. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  542. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  543. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/in_sub_process.rb +69 -0
  544. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  545. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/shell_out.rb +84 -0
  546. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
  547. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/string_matcher.rb +46 -0
  548. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  549. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  550. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/version.rb +7 -0
  551. data/gems/gems/rspec-support-3.6.0/lib/rspec/support/warnings.rb +39 -0
  552. data/gems/gems/thor-0.19.4/.document +5 -0
  553. data/gems/gems/thor-0.19.4/CHANGELOG.md +163 -0
  554. data/gems/gems/thor-0.19.4/CONTRIBUTING.md +15 -0
  555. data/gems/gems/thor-0.19.4/LICENSE.md +20 -0
  556. data/gems/gems/thor-0.19.4/README.md +47 -0
  557. data/gems/gems/thor-0.19.4/bin/thor +6 -0
  558. data/gems/gems/thor-0.19.4/lib/thor.rb +492 -0
  559. data/gems/gems/thor-0.19.4/lib/thor/actions.rb +318 -0
  560. data/gems/gems/thor-0.19.4/lib/thor/actions/create_file.rb +103 -0
  561. data/gems/gems/thor-0.19.4/lib/thor/actions/create_link.rb +59 -0
  562. data/gems/gems/thor-0.19.4/lib/thor/actions/directory.rb +118 -0
  563. data/gems/gems/thor-0.19.4/lib/thor/actions/empty_directory.rb +135 -0
  564. data/gems/gems/thor-0.19.4/lib/thor/actions/file_manipulation.rb +327 -0
  565. data/gems/gems/thor-0.19.4/lib/thor/actions/inject_into_file.rb +103 -0
  566. data/gems/gems/thor-0.19.4/lib/thor/base.rb +656 -0
  567. data/gems/gems/thor-0.19.4/lib/thor/command.rb +133 -0
  568. data/gems/gems/thor-0.19.4/lib/thor/core_ext/hash_with_indifferent_access.rb +85 -0
  569. data/gems/gems/thor-0.19.4/lib/thor/core_ext/io_binary_read.rb +12 -0
  570. data/gems/gems/thor-0.19.4/lib/thor/core_ext/ordered_hash.rb +129 -0
  571. data/gems/gems/thor-0.19.4/lib/thor/error.rb +32 -0
  572. data/gems/gems/thor-0.19.4/lib/thor/group.rb +281 -0
  573. data/gems/gems/thor-0.19.4/lib/thor/invocation.rb +177 -0
  574. data/gems/gems/thor-0.19.4/lib/thor/line_editor.rb +17 -0
  575. data/gems/gems/thor-0.19.4/lib/thor/line_editor/basic.rb +35 -0
  576. data/gems/gems/thor-0.19.4/lib/thor/line_editor/readline.rb +88 -0
  577. data/gems/gems/thor-0.19.4/lib/thor/parser.rb +4 -0
  578. data/gems/gems/thor-0.19.4/lib/thor/parser/argument.rb +70 -0
  579. data/gems/gems/thor-0.19.4/lib/thor/parser/arguments.rb +175 -0
  580. data/gems/gems/thor-0.19.4/lib/thor/parser/option.rb +146 -0
  581. data/gems/gems/thor-0.19.4/lib/thor/parser/options.rb +220 -0
  582. data/gems/gems/thor-0.19.4/lib/thor/rake_compat.rb +71 -0
  583. data/gems/gems/thor-0.19.4/lib/thor/runner.rb +322 -0
  584. data/gems/gems/thor-0.19.4/lib/thor/shell.rb +81 -0
  585. data/gems/gems/thor-0.19.4/lib/thor/shell/basic.rb +436 -0
  586. data/gems/gems/thor-0.19.4/lib/thor/shell/color.rb +149 -0
  587. data/gems/gems/thor-0.19.4/lib/thor/shell/html.rb +126 -0
  588. data/gems/gems/thor-0.19.4/lib/thor/util.rb +268 -0
  589. data/gems/gems/thor-0.19.4/lib/thor/version.rb +3 -0
  590. data/gems/gems/thor-0.19.4/thor.gemspec +21 -0
  591. data/gems/gems/unicode-0.4.4.4/README +156 -0
  592. data/gems/gems/unicode-0.4.4.4/Rakefile +103 -0
  593. data/gems/gems/unicode-0.4.4.4/ext/unicode/.sitearchdir.-.unicode.time +0 -0
  594. data/gems/gems/unicode-0.4.4.4/ext/unicode/Makefile +264 -0
  595. data/gems/gems/unicode-0.4.4.4/ext/unicode/extconf.rb +3 -0
  596. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode.c +1325 -0
  597. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode.o +0 -0
  598. data/gems/gems/unicode-0.4.4.4/ext/unicode/unicode_native.bundle +0 -0
  599. data/gems/gems/unicode-0.4.4.4/ext/unicode/unidata.map +24555 -0
  600. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.c +208 -0
  601. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.h +48 -0
  602. data/gems/gems/unicode-0.4.4.4/ext/unicode/ustring.o +0 -0
  603. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.c +257 -0
  604. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.h +43 -0
  605. data/gems/gems/unicode-0.4.4.4/ext/unicode/wstring.o +0 -0
  606. data/gems/gems/unicode-0.4.4.4/lib/unicode.rb +6 -0
  607. data/gems/gems/unicode-0.4.4.4/lib/unicode/unicode_native.bundle +0 -0
  608. data/gems/gems/unicode-0.4.4.4/test/test.rb +69 -0
  609. data/gems/gems/unicode-0.4.4.4/tools/README +7 -0
  610. data/gems/gems/unicode-0.4.4.4/tools/mkunidata.rb +293 -0
  611. data/gems/gems/unicode-0.4.4.4/tools/normtest.rb +111 -0
  612. data/gems/gems/unicode-0.4.4.4/unicode.gemspec +30 -0
  613. data/gems/specifications/bibtex-ruby-4.4.4.gemspec +32 -0
  614. data/gems/specifications/diff-lcs-1.3.gemspec +61 -0
  615. data/gems/specifications/latex-decode-0.2.2.gemspec +35 -0
  616. data/gems/specifications/rake-10.5.0.gemspec +43 -0
  617. data/gems/specifications/rspec-3.6.0.gemspec +42 -0
  618. data/gems/specifications/rspec-core-3.6.0.gemspec +62 -0
  619. data/gems/specifications/rspec-expectations-3.6.0.gemspec +50 -0
  620. data/gems/specifications/rspec-mocks-3.6.0.gemspec +50 -0
  621. data/gems/specifications/rspec-support-3.6.0.gemspec +41 -0
  622. data/gems/specifications/thor-0.19.4.gemspec +35 -0
  623. data/gems/specifications/unicode-0.4.4.4.gemspec +25 -0
  624. data/lib/bibtex_to_scrapbox.rb +67 -0
  625. data/lib/bibtex_to_scrapbox/version.rb +3 -0
  626. data/lib/cli.rb +23 -0
  627. metadata +740 -0
@@ -0,0 +1,301 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # rubocop:disable ClassLength
5
+ # @api private
6
+ # Provides the implementation for `contain_exactly` and `match_array`.
7
+ # Not intended to be instantiated directly.
8
+ class ContainExactly < BaseMatcher
9
+ # @api private
10
+ # @return [String]
11
+ def failure_message
12
+ if Array === actual
13
+ generate_failure_message
14
+ else
15
+ "expected a collection that can be converted to an array with " \
16
+ "`#to_ary` or `#to_a`, but got #{actual_formatted}"
17
+ end
18
+ end
19
+
20
+ # @api private
21
+ # @return [String]
22
+ def failure_message_when_negated
23
+ list = EnglishPhrasing.list(surface_descriptions_in(expected))
24
+ "expected #{actual_formatted} not to contain exactly#{list}"
25
+ end
26
+
27
+ # @api private
28
+ # @return [String]
29
+ def description
30
+ list = EnglishPhrasing.list(surface_descriptions_in(expected))
31
+ "contain exactly#{list}"
32
+ end
33
+
34
+ private
35
+
36
+ def generate_failure_message
37
+ message = expected_collection_line
38
+ message += actual_collection_line
39
+ message += missing_elements_line unless missing_items.empty?
40
+ message += extra_elements_line unless extra_items.empty?
41
+ message
42
+ end
43
+
44
+ def expected_collection_line
45
+ message_line('expected collection contained', expected, true)
46
+ end
47
+
48
+ def actual_collection_line
49
+ message_line('actual collection contained', actual)
50
+ end
51
+
52
+ def missing_elements_line
53
+ message_line('the missing elements were', missing_items, true)
54
+ end
55
+
56
+ def extra_elements_line
57
+ message_line('the extra elements were', extra_items)
58
+ end
59
+
60
+ def describe_collection(collection, surface_descriptions=false)
61
+ if surface_descriptions
62
+ "#{description_of(safe_sort(surface_descriptions_in collection))}\n"
63
+ else
64
+ "#{description_of(safe_sort(collection))}\n"
65
+ end
66
+ end
67
+
68
+ def message_line(prefix, collection, surface_descriptions=false)
69
+ "%-32s%s" % [prefix + ':',
70
+ describe_collection(collection, surface_descriptions)]
71
+ end
72
+
73
+ def match(_expected, _actual)
74
+ return false unless convert_actual_to_an_array
75
+ match_when_sorted? || (extra_items.empty? && missing_items.empty?)
76
+ end
77
+
78
+ # This cannot always work (e.g. when dealing with unsortable items,
79
+ # or matchers as expected items), but it's practically free compared to
80
+ # the slowness of the full matching algorithm, and in common cases this
81
+ # works, so it's worth a try.
82
+ def match_when_sorted?
83
+ values_match?(safe_sort(expected), safe_sort(actual))
84
+ end
85
+
86
+ def convert_actual_to_an_array
87
+ if actual.respond_to?(:to_ary)
88
+ @actual = actual.to_ary
89
+ elsif actual.respond_to?(:to_a) && !to_a_disallowed?(actual)
90
+ @actual = actual.to_a
91
+ else
92
+ return false
93
+ end
94
+ end
95
+
96
+ def safe_sort(array)
97
+ array.sort
98
+ rescue Support::AllExceptionsExceptOnesWeMustNotRescue
99
+ array
100
+ end
101
+
102
+ if RUBY_VERSION == "1.8.7"
103
+ def to_a_disallowed?(object)
104
+ case object
105
+ when NilClass, String then true
106
+ else Kernel == RSpec::Support.method_handle_for(object, :to_a).owner
107
+ end
108
+ end
109
+ else
110
+ def to_a_disallowed?(object)
111
+ NilClass === object
112
+ end
113
+ end
114
+
115
+ def missing_items
116
+ @missing_items ||= best_solution.unmatched_expected_indexes.map do |index|
117
+ expected[index]
118
+ end
119
+ end
120
+
121
+ def extra_items
122
+ @extra_items ||= best_solution.unmatched_actual_indexes.map do |index|
123
+ actual[index]
124
+ end
125
+ end
126
+
127
+ def best_solution
128
+ @best_solution ||= pairings_maximizer.find_best_solution
129
+ end
130
+
131
+ def pairings_maximizer
132
+ @pairings_maximizer ||= begin
133
+ expected_matches = Hash[Array.new(expected.size) { |i| [i, []] }]
134
+ actual_matches = Hash[Array.new(actual.size) { |i| [i, []] }]
135
+
136
+ expected.each_with_index do |e, ei|
137
+ actual.each_with_index do |a, ai|
138
+ next unless values_match?(e, a)
139
+
140
+ expected_matches[ei] << ai
141
+ actual_matches[ai] << ei
142
+ end
143
+ end
144
+
145
+ PairingsMaximizer.new(expected_matches, actual_matches)
146
+ end
147
+ end
148
+
149
+ # Once we started supporting composing matchers, the algorithm for this matcher got
150
+ # much more complicated. Consider this expression:
151
+ #
152
+ # expect(["fool", "food"]).to contain_exactly(/foo/, /fool/)
153
+ #
154
+ # This should pass (because we can pair /fool/ with "fool" and /foo/ with "food"), but
155
+ # the original algorithm used by this matcher would pair the first elements it could
156
+ # (/foo/ with "fool"), which would leave /fool/ and "food" unmatched. When we have
157
+ # an expected element which is a matcher that matches a superset of actual items
158
+ # compared to another expected element matcher, we need to consider every possible pairing.
159
+ #
160
+ # This class is designed to maximize the number of actual/expected pairings -- or,
161
+ # conversely, to minimize the number of unpaired items. It's essentially a brute
162
+ # force solution, but with a few heuristics applied to reduce the size of the
163
+ # problem space:
164
+ #
165
+ # * Any items which match none of the items in the other list are immediately
166
+ # placed into the `unmatched_expected_indexes` or `unmatched_actual_indexes` array.
167
+ # The extra items and missing items in the matcher failure message are derived
168
+ # from these arrays.
169
+ # * Any items which reciprocally match only each other are paired up and not
170
+ # considered further.
171
+ #
172
+ # What's left is only the items which match multiple items from the other list
173
+ # (or vice versa). From here, it performs a brute-force depth-first search,
174
+ # looking for a solution which pairs all elements in both lists, or, barring that,
175
+ # that produces the fewest unmatched items.
176
+ #
177
+ # @private
178
+ class PairingsMaximizer
179
+ Solution = Struct.new(:unmatched_expected_indexes, :unmatched_actual_indexes,
180
+ :indeterminate_expected_indexes, :indeterminate_actual_indexes) do
181
+ def worse_than?(other)
182
+ unmatched_item_count > other.unmatched_item_count
183
+ end
184
+
185
+ def candidate?
186
+ indeterminate_expected_indexes.empty? &&
187
+ indeterminate_actual_indexes.empty?
188
+ end
189
+
190
+ def ideal?
191
+ candidate? && (
192
+ unmatched_expected_indexes.empty? ||
193
+ unmatched_actual_indexes.empty?
194
+ )
195
+ end
196
+
197
+ def unmatched_item_count
198
+ unmatched_expected_indexes.count + unmatched_actual_indexes.count
199
+ end
200
+
201
+ def +(derived_candidate_solution)
202
+ self.class.new(
203
+ unmatched_expected_indexes + derived_candidate_solution.unmatched_expected_indexes,
204
+ unmatched_actual_indexes + derived_candidate_solution.unmatched_actual_indexes,
205
+ # Ignore the indeterminate indexes: by the time we get here,
206
+ # we've dealt with all indeterminates.
207
+ [], []
208
+ )
209
+ end
210
+ end
211
+
212
+ attr_reader :expected_to_actual_matched_indexes, :actual_to_expected_matched_indexes, :solution
213
+
214
+ def initialize(expected_to_actual_matched_indexes, actual_to_expected_matched_indexes)
215
+ @expected_to_actual_matched_indexes = expected_to_actual_matched_indexes
216
+ @actual_to_expected_matched_indexes = actual_to_expected_matched_indexes
217
+
218
+ unmatched_expected_indexes, indeterminate_expected_indexes =
219
+ categorize_indexes(expected_to_actual_matched_indexes, actual_to_expected_matched_indexes)
220
+
221
+ unmatched_actual_indexes, indeterminate_actual_indexes =
222
+ categorize_indexes(actual_to_expected_matched_indexes, expected_to_actual_matched_indexes)
223
+
224
+ @solution = Solution.new(unmatched_expected_indexes, unmatched_actual_indexes,
225
+ indeterminate_expected_indexes, indeterminate_actual_indexes)
226
+ end
227
+
228
+ def find_best_solution
229
+ return solution if solution.candidate?
230
+ best_solution_so_far = NullSolution
231
+
232
+ expected_index = solution.indeterminate_expected_indexes.first
233
+ actuals = expected_to_actual_matched_indexes[expected_index]
234
+
235
+ actuals.each do |actual_index|
236
+ solution = best_solution_for_pairing(expected_index, actual_index)
237
+ return solution if solution.ideal?
238
+ best_solution_so_far = solution if best_solution_so_far.worse_than?(solution)
239
+ end
240
+
241
+ best_solution_so_far
242
+ end
243
+
244
+ private
245
+
246
+ # @private
247
+ # Starting solution that is worse than any other real solution.
248
+ NullSolution = Class.new do
249
+ def self.worse_than?(_other)
250
+ true
251
+ end
252
+ end
253
+
254
+ def categorize_indexes(indexes_to_categorize, other_indexes)
255
+ unmatched = []
256
+ indeterminate = []
257
+
258
+ indexes_to_categorize.each_pair do |index, matches|
259
+ if matches.empty?
260
+ unmatched << index
261
+ elsif !reciprocal_single_match?(matches, index, other_indexes)
262
+ indeterminate << index
263
+ end
264
+ end
265
+
266
+ return unmatched, indeterminate
267
+ end
268
+
269
+ def reciprocal_single_match?(matches, index, other_list)
270
+ return false unless matches.one?
271
+ other_list[matches.first] == [index]
272
+ end
273
+
274
+ def best_solution_for_pairing(expected_index, actual_index)
275
+ modified_expecteds = apply_pairing_to(
276
+ solution.indeterminate_expected_indexes,
277
+ expected_to_actual_matched_indexes, actual_index)
278
+
279
+ modified_expecteds.delete(expected_index)
280
+
281
+ modified_actuals = apply_pairing_to(
282
+ solution.indeterminate_actual_indexes,
283
+ actual_to_expected_matched_indexes, expected_index)
284
+
285
+ modified_actuals.delete(actual_index)
286
+
287
+ solution + self.class.new(modified_expecteds, modified_actuals).find_best_solution
288
+ end
289
+
290
+ def apply_pairing_to(indeterminates, original_matches, other_list_index)
291
+ indeterminates.inject({}) do |accum, index|
292
+ accum[index] = original_matches[index] - [other_list_index]
293
+ accum
294
+ end
295
+ end
296
+ end
297
+ end
298
+ # rubocop:enable ClassLength
299
+ end
300
+ end
301
+ end
@@ -0,0 +1,24 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Provides the implementation for `cover`.
6
+ # Not intended to be instantiated directly.
7
+ class Cover < BaseMatcher
8
+ def initialize(*expected)
9
+ @expected = expected
10
+ end
11
+
12
+ def matches?(range)
13
+ @actual = range
14
+ @expected.all? { |e| range.cover?(e) }
15
+ end
16
+
17
+ def does_not_match?(range)
18
+ @actual = range
19
+ expected.none? { |e| range.cover?(e) }
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,40 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Provides the implementation for `eq`.
6
+ # Not intended to be instantiated directly.
7
+ class Eq < BaseMatcher
8
+ # @api private
9
+ # @return [String]
10
+ def failure_message
11
+ "\nexpected: #{expected_formatted}\n got: #{actual_formatted}\n\n(compared using ==)\n"
12
+ end
13
+
14
+ # @api private
15
+ # @return [String]
16
+ def failure_message_when_negated
17
+ "\nexpected: value != #{expected_formatted}\n got: #{actual_formatted}\n\n(compared using ==)\n"
18
+ end
19
+
20
+ # @api private
21
+ # @return [String]
22
+ def description
23
+ "eq #{expected_formatted}"
24
+ end
25
+
26
+ # @api private
27
+ # @return [Boolean]
28
+ def diffable?
29
+ true
30
+ end
31
+
32
+ private
33
+
34
+ def match(expected, actual)
35
+ actual == expected
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,34 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Provides the implementation for `eql`.
6
+ # Not intended to be instantiated directly.
7
+ class Eql < BaseMatcher
8
+ # @api private
9
+ # @return [String]
10
+ def failure_message
11
+ "\nexpected: #{expected_formatted}\n got: #{actual_formatted}\n\n(compared using eql?)\n"
12
+ end
13
+
14
+ # @api private
15
+ # @return [String]
16
+ def failure_message_when_negated
17
+ "\nexpected: value != #{expected_formatted}\n got: #{actual_formatted}\n\n(compared using eql?)\n"
18
+ end
19
+
20
+ # @api private
21
+ # @return [Boolean]
22
+ def diffable?
23
+ true
24
+ end
25
+
26
+ private
27
+
28
+ def match(expected, actual)
29
+ actual.eql? expected
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,81 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Provides the implementation for `equal`.
6
+ # Not intended to be instantiated directly.
7
+ class Equal < BaseMatcher
8
+ # @api private
9
+ # @return [String]
10
+ def failure_message
11
+ if expected_is_a_literal_singleton?
12
+ simple_failure_message
13
+ else
14
+ detailed_failure_message
15
+ end
16
+ end
17
+
18
+ # @api private
19
+ # @return [String]
20
+ def failure_message_when_negated
21
+ <<-MESSAGE
22
+
23
+ expected not #{inspect_object(actual)}
24
+ got #{inspect_object(expected)}
25
+
26
+ Compared using equal?, which compares object identity.
27
+
28
+ MESSAGE
29
+ end
30
+
31
+ # @api private
32
+ # @return [Boolean]
33
+ def diffable?
34
+ !expected_is_a_literal_singleton?
35
+ end
36
+
37
+ private
38
+
39
+ def match(expected, actual)
40
+ actual.equal? expected
41
+ end
42
+
43
+ LITERAL_SINGLETONS = [true, false, nil]
44
+
45
+ def expected_is_a_literal_singleton?
46
+ LITERAL_SINGLETONS.include?(expected)
47
+ end
48
+
49
+ def actual_inspected
50
+ if LITERAL_SINGLETONS.include?(actual)
51
+ actual_formatted
52
+ else
53
+ inspect_object(actual)
54
+ end
55
+ end
56
+
57
+ def simple_failure_message
58
+ "\nexpected #{expected_formatted}\n got #{actual_inspected}\n"
59
+ end
60
+
61
+ def detailed_failure_message
62
+ <<-MESSAGE
63
+
64
+ expected #{inspect_object(expected)}
65
+ got #{inspect_object(actual)}
66
+
67
+ Compared using equal?, which compares object identity,
68
+ but expected and actual are not the same object. Use
69
+ `expect(actual).to eq(expected)` if you don't care about
70
+ object identity in this example.
71
+
72
+ MESSAGE
73
+ end
74
+
75
+ def inspect_object(o)
76
+ "#<#{o.class}:#{o.object_id}> => #{RSpec::Support::ObjectFormatter.format(o)}"
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end