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,84 @@
1
+ # ruby -Ilib -rrubygems test/benchmark.rb
2
+
3
+ require 'benchmark'
4
+ include Benchmark
5
+
6
+ require 'bibtex'
7
+
8
+ # data = File.open(BibTeX::Test.fixtures(:benchmark)).read
9
+
10
+ input = <<-END
11
+ @book{pickaxe,
12
+ Address = {Raleigh, North Carolina},
13
+ Author = {Thomas, Dave, and Fowler, Chad, and Hunt, Andy},
14
+ Date-Added = {2010-08-05 09:54:07 +0200},
15
+ Date-Modified = {2010-08-05 10:07:01 +0200},
16
+ Keywords = {ruby},
17
+ Publisher = {The Pragmatic Bookshelf},
18
+ Series = {The Facets of Ruby},
19
+ Title = {Programming Ruby 1.9: The Pragmatic Programmer's Guide},
20
+ Year = {2009}
21
+ }
22
+ END
23
+
24
+ n, k = 31, 10
25
+ lexer = BibTeX::Lexer.new
26
+ # parser = BibTeX::Parser.new
27
+
28
+ f = []
29
+ g = []
30
+
31
+ # Ruby 1.9.3
32
+ format = Benchmark.const_defined?(:FMTSTR) ? Benchmark::FMTSTR : Benchmark::FORMAT
33
+
34
+ Benchmark.benchmark((" "*15) + CAPTION, 7, format, '%14s:' % 'sum(f)', '%14s:' % 'sum(g)') do |b|
35
+
36
+ 1.step(n,k) do |i|
37
+
38
+ f << b.report('%14s:' % "f(#{i})") do
39
+ i.times do
40
+ lexer.data = input
41
+ lexer.analyse
42
+ # BibTeX::Parser.new.parse(input)
43
+ end
44
+ end
45
+
46
+ data = input * i
47
+
48
+ g << b.report('%14s:' % "g(#{i})") do
49
+ lexer.data = data
50
+ lexer.analyse
51
+ # BibTeX::Parser.new.parse(data)
52
+ end
53
+
54
+ end
55
+
56
+ [f.inject(:+), g.inject(:+)]
57
+ end
58
+
59
+ # require 'gnuplot'
60
+ #
61
+ # f = f.map(&:total)
62
+ # g = g.map(&:total)
63
+ #
64
+ # x = 1.step(n,k).to_a
65
+ #
66
+ # Gnuplot.open do |gp|
67
+ # Gnuplot::Plot.new(gp) do |plot|
68
+ #
69
+ # plot.title 'BibTeX-Ruby Benchmark'
70
+ # plot.ylabel 't'
71
+ # plot.xlabel 'n'
72
+ #
73
+ # plot.data << Gnuplot::DataSet.new([x,f]) do |ds|
74
+ # ds.with = 'linespoints'
75
+ # ds.title = 'f'
76
+ # end
77
+ #
78
+ # plot.data << Gnuplot::DataSet.new([x,g]) do |ds|
79
+ # ds.with = 'linespoints'
80
+ # ds.title = 'g'
81
+ # end
82
+ #
83
+ # end
84
+ # end
@@ -0,0 +1,341 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'helper.rb'
4
+
5
+ module BibTeX
6
+ class RDFConverterTest < Minitest::Spec
7
+ subject { BibTeX::Entry::RDFConverter.new(entry) }
8
+ let(:entry) { Entry.new }
9
+
10
+ before do
11
+ entry.parse_names
12
+ entry.parse_month
13
+ end
14
+
15
+ describe '#abstract' do
16
+ let(:entry) { Entry.new(abstract: 'foo') }
17
+
18
+ it 'should run successfully' do
19
+ subject.abstract
20
+ end
21
+ end
22
+
23
+ describe '#annote' do
24
+ let(:entry) { Entry.new(annote: 'foo') }
25
+
26
+ it 'should run successfully' do
27
+ subject.annote
28
+ end
29
+ end
30
+
31
+ describe '#author' do
32
+ let(:entry) { Entry.new(author: 'Gustav Gans and Donald Duck') }
33
+
34
+ it 'should run successfully' do
35
+ subject.author
36
+ end
37
+ end
38
+
39
+ describe '#bdsk_url' do
40
+ let(:entry) { Entry.new(:'bdsk-url-1' => 'http://www.example.com') }
41
+
42
+ it 'should run successfully' do
43
+ subject.bdsk_url
44
+ end
45
+ end
46
+
47
+ describe '#booktitle' do
48
+ let(:entry) { Entry.new(booktitle: 'Entenhausen brennt!') }
49
+
50
+ it 'should run successfully' do
51
+ subject.booktitle
52
+ end
53
+ end
54
+
55
+ describe '#chapter' do
56
+ let(:entry) { Entry.new(chapter: '4') }
57
+
58
+ it 'should run successfully' do
59
+ subject.chapter
60
+ end
61
+ end
62
+
63
+ describe '#children' do
64
+ it 'should run successfully'
65
+ end
66
+
67
+ describe '#copyright' do
68
+ let(:entry) { Entry.new(copyright: 'King Kong') }
69
+
70
+ it 'should run successfully' do
71
+ subject.copyright
72
+ end
73
+ end
74
+
75
+ describe '#date_added' do
76
+ let(:entry) { Entry.new(:'date-added' => '2014-01-20') }
77
+
78
+ it 'should run successfully' do
79
+ subject.date_added
80
+ end
81
+ end
82
+
83
+ describe '#date_modified' do
84
+ let(:entry) { Entry.new(:'date-modified' => '2014-01-20') }
85
+
86
+ it 'should run successfully' do
87
+ subject.date_modified
88
+ end
89
+ end
90
+
91
+ describe '#doi' do
92
+ let(:entry) { Entry.new(doi: '10.1000/182') }
93
+
94
+ it 'should run successfully' do
95
+ subject.doi
96
+ end
97
+ end
98
+
99
+ describe '#edition' do
100
+ let(:entry) { Entry.new(edition: 'fifth edition') }
101
+
102
+ it 'should run successfully' do
103
+ subject.edition
104
+ end
105
+ end
106
+
107
+ describe '#editor' do
108
+ let(:entry) { Entry.new(editor: 'Dagobert Duck') }
109
+
110
+ it 'should run successfully' do
111
+ subject.editor
112
+ end
113
+ end
114
+
115
+ describe '#fallback_default' do
116
+ it 'should run successfully' do
117
+ subject.fallback_default
118
+ end
119
+ end
120
+
121
+ describe '#howpublished' do
122
+ let(:entry) { Entry.new(howpublished: 'http://www.example.com') }
123
+
124
+ it 'should run successfully' do
125
+ subject.howpublished
126
+ end
127
+ end
128
+
129
+ describe '#institution' do
130
+ let(:entry) { Entry.new(institution: 'University of Duckberg') }
131
+
132
+ it 'should run successfully' do
133
+ subject.institution
134
+ end
135
+ end
136
+
137
+ describe '#isbn' do
138
+ let(:entry) { Entry.new(isbn: '978-3-935322-14-0') }
139
+
140
+ it 'should run successfully' do
141
+ subject.isbn
142
+ end
143
+ end
144
+
145
+ describe '#issn' do
146
+ let(:entry) { Entry.new(issn: '978-3-935322-14-0') }
147
+
148
+ it 'should run successfully' do
149
+ subject.issn
150
+ end
151
+ end
152
+
153
+ describe '#journal_dc_source' do
154
+ let(:entry) { Entry.new(journal: 'Lustiges Taschenbuch') }
155
+
156
+ it 'should run successfully' do
157
+ subject.journal_dc_source
158
+ end
159
+ end
160
+
161
+ describe '#journal_dc_part_of' do
162
+ let(:entry) { Entry.new(journal: 'Lustiges Taschenbuch') }
163
+
164
+ it 'should run successfully' do
165
+ subject.journal_dc_part_of
166
+ end
167
+ end
168
+
169
+ describe '#key' do
170
+ let(:entry) { Entry.new(key: 'pickaxe') }
171
+
172
+ it 'should run successfully' do
173
+ subject.key
174
+ end
175
+ end
176
+
177
+ describe '#keywords' do
178
+ let(:entry) { Entry.new(keywords: 'Ruby, RDF, Fun') }
179
+
180
+ it 'should run successfully' do
181
+ subject.keywords
182
+ end
183
+ end
184
+
185
+ describe '#language' do
186
+ let(:entry) { Entry.new(language: 'french') }
187
+
188
+ it 'should run successfully' do
189
+ subject.language
190
+ end
191
+ end
192
+
193
+ describe '#location' do
194
+ let(:entry) { Entry.new(location: 'Duckberg') }
195
+
196
+ it 'should run successfully' do
197
+ subject.location
198
+ end
199
+ end
200
+
201
+ describe '#lccn' do
202
+ let(:entry) { Entry.new(lccn: '1234') }
203
+
204
+ it 'should run successfully' do
205
+ subject.lccn
206
+ end
207
+ end
208
+
209
+ describe '#note' do
210
+ let(:entry) { Entry.new(note: 'Never gonna give you up!') }
211
+
212
+ it 'should run successfully' do
213
+ subject.note
214
+ end
215
+ end
216
+
217
+ describe '#number' do
218
+ let(:entry) { Entry.new(number: '2') }
219
+
220
+ it 'should run successfully' do
221
+ subject.number
222
+ end
223
+ end
224
+
225
+ describe '#organization' do
226
+ let(:entry) { Entry.new(organization: 'Azkaban Prison') }
227
+
228
+ it 'should run successfully' do
229
+ subject.organization
230
+ end
231
+ end
232
+
233
+ describe '#pages' do
234
+ let(:entry) { Entry.new(pages: '1--12') }
235
+
236
+ it 'should run successfully' do
237
+ subject.pages
238
+ end
239
+ end
240
+
241
+ describe '#pagetotal' do
242
+ let(:entry) { Entry.new(pagetotal: '12') }
243
+
244
+ it 'should run successfully' do
245
+ subject.pagetotal
246
+ end
247
+ end
248
+
249
+ describe '#parent' do
250
+ it 'should run successfully'
251
+ end
252
+
253
+ describe '#publisher' do
254
+ let(:entry) { Entry.new(publisher: 'Neustaedter Zeitung') }
255
+
256
+ it 'should run successfully' do
257
+ subject.publisher
258
+ end
259
+ end
260
+
261
+ describe '#school' do
262
+ let(:entry) { Entry.new(school: 'Hogwarts School of Witchcraft and Wizardry') }
263
+
264
+ it 'should run successfully' do
265
+ subject.school
266
+ end
267
+ end
268
+
269
+ describe '#series' do
270
+ let(:entry) { Entry.new(series: 'Harry Potter') }
271
+
272
+ it 'should run successfully' do
273
+ subject.series
274
+ end
275
+ end
276
+
277
+ describe '#thesis_degree' do
278
+ let(:entry) { Entry.new(type: :thesis) }
279
+
280
+ it 'should run successfully' do
281
+ subject.thesis_degree
282
+ end
283
+ end
284
+
285
+ describe '#title' do
286
+ let(:entry) { Entry.new(title: 'My Title') }
287
+
288
+ it 'should run successfully' do
289
+ subject.title
290
+ end
291
+ end
292
+
293
+ describe '#translator' do
294
+ let(:entry) { Entry.new(translator: 'Jon Doe') }
295
+
296
+ it 'should run successfully' do
297
+ subject.translator
298
+ end
299
+ end
300
+
301
+ describe '#type' do
302
+ let(:entry) { Entry.new(type: :proceedings) }
303
+
304
+ it 'should run successfully' do
305
+ subject.type
306
+ end
307
+ end
308
+
309
+ describe '#url' do
310
+ let(:entry) { Entry.new(url: 'http://www.example.com') }
311
+
312
+ it 'should run successfully' do
313
+ subject.url
314
+ end
315
+ end
316
+
317
+ describe '#volume' do
318
+ let(:entry) { Entry.new(volume: '4') }
319
+
320
+ it 'should run successfully' do
321
+ subject.volume
322
+ end
323
+ end
324
+
325
+ describe '#volumes' do
326
+ let(:entry) { Entry.new(volumes: '7') }
327
+
328
+ it 'should run successfully' do
329
+ subject.volumes
330
+ end
331
+ end
332
+
333
+ describe '#year' do
334
+ let(:entry) { Entry.new(year: '1977', month: 'jan') }
335
+
336
+ it 'should run successfully' do
337
+ subject.year
338
+ end
339
+ end
340
+ end
341
+ end
@@ -0,0 +1,446 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require 'helper'
4
+
5
+ module BibTeX
6
+
7
+ class BibliographyTest < Minitest::Spec
8
+
9
+ describe 'when newly created' do
10
+ it 'should not be nil' do
11
+ assert Bibliography.new
12
+ end
13
+ it 'should be empty' do
14
+ assert Bibliography.new.empty?
15
+ end
16
+ end
17
+
18
+ describe '.open' do
19
+ it 'accepts a block and save the file after execution' do
20
+ tmp = Tempfile.new('bibtex')
21
+ tmp.close
22
+ b = BibTeX.open(Test.fixtures(:bibdesk)).save_to(tmp.path)
23
+
24
+ BibTeX.open(tmp.path) do |bib|
25
+ bib.delete(:rails)
26
+ end
27
+
28
+ assert_equal b.length - 1, BibTeX.open(tmp.path).length
29
+ end
30
+
31
+ end
32
+
33
+ describe '.parse' do
34
+ it 'accepts filters' do
35
+ Bibliography.parse("@misc{k, title = {\\''u}}", :filter => 'latex')[0].title.must_be :==, 'ü'
36
+ end
37
+
38
+ it 'accepts filters in an array' do
39
+ Bibliography.parse("@misc{k, title = {\\''u}}", :filter => ['latex'])[0].title.must_be :==, 'ü'
40
+ end
41
+ end
42
+
43
+ describe 'given a populated biliography' do
44
+ before do
45
+ @bib = BibTeX.parse <<-END
46
+ @book{rails,
47
+ address = {Raleigh, North Carolina},
48
+ author = {Ruby, Sam, and Thomas, Dave, and Hansson Heinemeier, David},
49
+ booktitle = {Agile Web Development with Rails},
50
+ edition = {third},
51
+ keywords = {ruby, rails},
52
+ publisher = {The Pragmatic Bookshelf},
53
+ series = {The Facets of Ruby},
54
+ title = {Agile Web Development with Rails},
55
+ year = {2009}
56
+ }
57
+ @book{flanagan2008,
58
+ title={{The ruby programming language}},
59
+ author={Flanagan, D. and Matsumoto, Y.},
60
+ keywords = {ruby},
61
+ year={2008},
62
+ publisher={O'Reilly}
63
+ }
64
+ @article{segaran2007,
65
+ title={{Programming collective intelligence}},
66
+ author={Segaran, T.},
67
+ year={2007},
68
+ publisher={O'Reilly},
69
+ type={interview}
70
+ }
71
+ @string{ foo = "foobar" }
72
+ @misc{flanagan-1,
73
+ title={{Foo Bar}},
74
+ author={Flanagan, Dav and Thomas Segaran}
75
+ }
76
+ @misc{flanagan-2,
77
+ title={{Foo Bar}},
78
+ author={Flanagan, David and Matsumoto, Yukihiro}
79
+ }
80
+ END
81
+ end
82
+
83
+ describe '#entries_at' do
84
+ it 'returns a list of all entries identified by the passed-in keys' do
85
+ assert_equal [@bib['segaran2007'], @bib['rails']], @bib.entries_at('segaran2007', :rails)
86
+ end
87
+ end
88
+
89
+ describe '#extend_initials' do
90
+ it 'extends the initials in matching names' do
91
+ @bib.names.map(&:to_s).wont_include 'Flanagan, Dave'
92
+ @bib.extend_initials(['Dave', 'Flanagan'])
93
+ @bib.names.map(&:to_s).must_include 'Flanagan, Dave'
94
+ end
95
+ end
96
+
97
+ describe '#extend_initials!' do
98
+ it 'extends the initials of all names to the longest prototype' do
99
+ assert_equal "Ruby, Sam Thomas, Dave Hansson Heinemeier, David Flanagan, David Matsumoto, Yukihiro Segaran, Thomas",
100
+ @bib.extend_initials!.names.map(&:sort_order).uniq.join(' ')
101
+ end
102
+ end
103
+
104
+ describe '#unify' do
105
+ it 'sets all fields matching the given pattern to the passed-in value' do
106
+ @bib.unify :publisher, /reilly/i, 'OReilly'
107
+ assert_equal 'OReilly', @bib['segaran2007'].publisher
108
+ assert_equal 'OReilly', @bib['flanagan2008'].publisher
109
+ end
110
+
111
+ it 'does not change the value of fields that do not match' do
112
+ @bib.unify :publisher, /reilly/i, 'OReilly'
113
+ assert_equal 'The Pragmatic Bookshelf', @bib['rails'].publisher
114
+ end
115
+
116
+ it 'passes each entry with matching fields to the block if given' do
117
+ years = []
118
+ @bib.unify(:publisher, /reilly/i) { |e| years << e.year.to_s }
119
+ assert_equal ['2007','2008'], years.sort
120
+ end
121
+
122
+ it 'returns the bibliography' do
123
+ assert_equal @bib, @bib.unify(:publisher, /reilly/i, 'OReilly')
124
+ end
125
+ end
126
+
127
+ describe '#group_by' do
128
+ it 'returns an empy hash by default' do
129
+ assert_equal({}, Bibliography.new.group_by)
130
+ assert_equal({}, Bibliography.new.group_by(:a, :b))
131
+ end
132
+
133
+ it 'returns a hash with all the entries mapped to their default digest' do
134
+ assert_equal @bib.entries.length, @bib.group_by.length
135
+ end
136
+
137
+ it 'uses the given block to determine the key' do
138
+ assert_equal @bib.entries.length, (@bib.group_by { 'x' })['x'].length
139
+ end
140
+ end
141
+
142
+ it 'supports access by index' do
143
+ assert_equal 'ruby', @bib[1].keywords
144
+ end
145
+
146
+ it 'supports access by range' do
147
+ assert_equal %w{2008 2007}, @bib[1..2].map(&:year)
148
+ end
149
+
150
+ it 'supports access by index and offset' do
151
+ assert_equal %w{2008 2007}, @bib[1,2].map(&:year)
152
+ end
153
+
154
+ it 'supports queries by symbol key' do
155
+ refute_nil @bib[:rails]
156
+ assert_nil @bib[:ruby]
157
+ end
158
+
159
+ it 'supports queries by symbol key and selector' do
160
+ assert_equal 1, @bib.q(:all, :rails).length
161
+ refute_nil @bib.q(:first, :rails)
162
+ assert_nil @bib.q(:first, :railss)
163
+ end
164
+
165
+ it 'supports queries by string key' do
166
+ refute_nil @bib['rails']
167
+ assert_nil @bib['ruby']
168
+ end
169
+
170
+ it 'supports queries by type string' do
171
+ assert_equal 2, @bib['@book'].length
172
+ assert_equal 1, @bib['@article'].length
173
+ assert_equal 0, @bib['@collection'].length
174
+ assert_equal 1, @bib['@string'].length
175
+ end
176
+
177
+ it 'supports queries by negated type string' do
178
+ assert_equal 4, @bib['!@book'].length
179
+ assert_equal 5, @bib['!@article'].length
180
+ assert_equal 6, @bib['!@collection'].length
181
+ assert_equal 1, @bib['!@*'].length
182
+ assert_equal 4, @bib['!@misc'].length
183
+ assert_equal 5, @bib['!@string'].length
184
+ end
185
+
186
+ it 'supports queries by type string and selector' do
187
+ assert_equal 2, @bib.q(:all, '@book').length
188
+ refute_nil @bib.q(:first, '@book')
189
+ assert_equal 1, @bib.q(:all, '@article').length
190
+ refute_nil @bib.q(:first, '@article')
191
+ assert_equal 0, @bib.q(:all, '@collection').length
192
+ assert_nil @bib.q(:first, '@collection')
193
+ end
194
+
195
+
196
+ it 'supports queries by pattern' do
197
+ assert_equal 0, @bib[/reilly/].length
198
+ assert_equal 2, @bib[/reilly/i].length
199
+ end
200
+
201
+ it 'supports queries by type string and conditions' do
202
+ assert_equal 1, @bib['@book[keywords=ruby]'].length
203
+ assert_equal 1, @bib['@book[keywords = ruby]'].length
204
+ assert_equal 1, @bib['@book[ keywords = ruby]'].length
205
+ assert_equal 1, @bib['@book[keywords=ruby ]'].length
206
+ assert_equal 1, @bib['@*[type=interview]'].length
207
+ end
208
+
209
+ it 'supports queries with negative conditions' do
210
+ assert_equal 4, @bib['@*[keywords!=ruby]'].length
211
+ end
212
+
213
+ it 'supports queries with pattern conditions' do
214
+ assert_equal 1, @bib['@*[keywords~=rails]'].length
215
+ end
216
+
217
+ it 'supports queries with attribute conditions' do
218
+ assert_equal 2, @bib['@*[keywords]'].length
219
+ assert_equal 0, @bib['@*[foobar]'].length
220
+ end
221
+
222
+ it 'supports queries with start-pattern conditions' do
223
+ assert_equal 2, @bib['@*[keywords^=ruby]'].length
224
+ end
225
+
226
+ it 'supports queries with numeric conditions' do
227
+ assert_equal 3, @bib['@*[year<=2010]'].length
228
+ assert_equal 3, @bib['@*[year<=2009]'].length
229
+ assert_equal 2, @bib['@*[year>=2008]'].length
230
+ assert_equal 0, @bib['@*[year>=2010]'].length
231
+ end
232
+
233
+
234
+ it 'supports queries by bibtex element' do
235
+ entry = Entry.parse(<<-END).first
236
+ @article{segaran2007,
237
+ title = {{Programming collective intelligence}},
238
+ author = {Segaran, T.},
239
+ year = {2007},
240
+ publisher = {O'Reilly},
241
+ type={interview}
242
+ }
243
+ END
244
+ assert_equal 1, @bib[entry].length
245
+ entry.year = '2006'
246
+ assert_equal 0, @bib[entry].length
247
+ end
248
+
249
+ it 'supports query and additional block' do
250
+ assert_equal 1, @bib.q('@book') { |e| e.keywords.split(/,/).length > 1 }.length
251
+ end
252
+
253
+ it 'supports saving the bibliography to a file' do
254
+ tmp = Tempfile.new('bibtex')
255
+ tmp.close
256
+ @bib.save_to(tmp.path)
257
+ assert_equal @bib.length, BibTeX.open(tmp.path).length
258
+ end
259
+
260
+ describe '#query' do
261
+
262
+ it 'returns all elements when passed no arguments' do
263
+ @bib.query.length.must_be :==, 6
264
+ end
265
+
266
+ it 'returns all elements when passed :all and an empty condition' do
267
+ @bib.query(:all, '').length.must_be :==, 6
268
+ end
269
+
270
+ it 'returns all entries when passed a * wildcard' do
271
+ @bib.query('@*').length.must_be :==, 5
272
+ end
273
+
274
+ end
275
+
276
+ describe 'duplicates' do
277
+
278
+ it 'understands select_duplicates_by' do
279
+ assert_equal 1, @bib.select_duplicates_by.length
280
+ end
281
+
282
+ it 'understands duplicates?' do
283
+ assert @bib.duplicates?
284
+ end
285
+
286
+ end
287
+
288
+ describe '#uniq!' do
289
+ before do
290
+ @a = BibTeX.parse <<-END
291
+ @book{b1,
292
+ title = {FOO},
293
+ year = {2013},
294
+ author = {Doe, John},
295
+ pages = {1-2}}
296
+ @book{b2,
297
+ title = {BAR},
298
+ year = {2013},
299
+ author = {Doe, John},
300
+ pages = {1-3},
301
+ }
302
+ END
303
+ @b = BibTeX.parse <<-END
304
+ @book{b3,
305
+ title = {FOO},
306
+ year = {2013},
307
+ author = {Doe, John},
308
+ pages = {1-2}}
309
+ END
310
+ end
311
+
312
+ it 'returns the bibliography unchanged if there are no duplicates' do
313
+ assert @a.length == @a.uniq!.length
314
+ assert @b.length == @b.uniq!.length
315
+ end
316
+
317
+ it 'removes duplicate entries and returns the bibliography' do
318
+ assert @a.length > @a.uniq!(:author).length
319
+ end
320
+
321
+ describe 'with block' do
322
+ it 'removes duplicate entries and returns the bibliography' do
323
+ assert @a.length > @a.uniq!(:author){|d,e| d+'|'+e.pages_from}.length
324
+ end
325
+ end
326
+ end
327
+
328
+ describe 'given a filter' do
329
+ before do
330
+ @filter = Object.new
331
+ def @filter.apply (value); value.is_a?(::String) ? value.upcase : value; end
332
+ end
333
+
334
+ it 'supports arbitrary conversions' do
335
+ @bib.convert(@filter)
336
+ assert_equal 'RUBY, RAILS', @bib[:rails].keywords
337
+ end
338
+
339
+ it 'supports conditional arbitrary conversions' do
340
+ @bib.convert(@filter) { |e| e.key != 'rails' }
341
+ assert_equal 'ruby, rails', @bib[:rails].keywords
342
+ assert_equal 'RUBY', @bib[:flanagan2008].keywords
343
+ end
344
+
345
+ end
346
+
347
+ describe 'sorting' do
348
+
349
+ before do
350
+ @small_bib = BibTeX.parse <<-END
351
+ @book{flanagan2008,
352
+ title={{The ruby programming language}},
353
+ author={Flanagan, D. and Matsumoto, Y.},
354
+ keywords = {ruby},
355
+ year={2008},
356
+ publisher={O'Reilly}
357
+ }
358
+ @book{rails,
359
+ address = {Raleigh, North Carolina},
360
+ author = {Ruby, Sam, and Thomas, Dave, and Hansson Heinemeier, David},
361
+ booktitle = {Agile Web Development with Rails},
362
+ edition = {third},
363
+ keywords = {ruby, rails},
364
+ publisher = {The Pragmatic Bookshelf},
365
+ series = {The Facets of Ruby},
366
+ title = {Agile Web Development with Rails},
367
+ year = {2009}
368
+ }
369
+ @article{segaran2007,
370
+ title={{Programming collective intelligence}},
371
+ author={Segaran, T.},
372
+ year={2007},
373
+ publisher={O'Reilly}
374
+ }
375
+ END
376
+ end
377
+
378
+ it 'can be sorted destructively' do
379
+ @small_bib.sort!
380
+ @small_bib.map(&:key).must_equal [ 'segaran2007', 'flanagan2008', 'rails']
381
+ end
382
+
383
+ it 'can be sorted by field destructively' do
384
+ @small_bib.sort_by! { |e| -e[:year].to_i }
385
+ @small_bib.map(&:key).must_equal [ 'rails', 'flanagan2008', 'segaran2007' ]
386
+ end
387
+
388
+ it 'can be sorted non-destructively' do
389
+ sorted_entries = @small_bib.sort
390
+ sorted_entries.map(&:key).must_equal [ 'segaran2007', 'flanagan2008', 'rails']
391
+ @small_bib.map(&:key).must_equal [ 'flanagan2008', 'rails', 'segaran2007']
392
+ end
393
+
394
+ it 'can be sorted by field non-destructively' do
395
+ sorted_entries = @small_bib.sort_by { |e| -e[:year].to_i }
396
+ sorted_entries.map(&:key).must_equal [ 'rails', 'flanagan2008', 'segaran2007' ]
397
+ @small_bib.map(&:key).must_equal [ 'flanagan2008', 'rails', 'segaran2007']
398
+ end
399
+ end
400
+
401
+ describe 'LaTeX filter' do
402
+ before do
403
+ @bib['rails'].keywords = 'r\\"uby'
404
+ end
405
+
406
+ it 'converts LaTeX umlauts' do
407
+ @bib.convert(:latex)['rails'].keywords.must_be :==, 'rüby'
408
+ end
409
+
410
+ end
411
+
412
+ describe 'BibTeXML export' do
413
+ before { @bibtexml = Tempfile.new('bibtexml') }
414
+ after { @bibtexml.unlink }
415
+
416
+ it 'supports exporting to BibTeXML' do
417
+ @bib.to_xml.write(@bibtexml, 2)
418
+ @bibtexml.rewind
419
+ xml = REXML::Document.new(@bibtexml)
420
+ xml.root.namespace.must_be :==, 'http://bibtexml.sf.net/'
421
+ xml.root.get_elements('//bibtex:entry').wont_be_empty
422
+ end
423
+
424
+ it 'supports exporting to extended BibTeXML' do
425
+ @bib.to_xml(:extended => true).write(@bibtexml, 2)
426
+ @bibtexml.rewind
427
+ xml = REXML::Document.new(@bibtexml)
428
+ xml.root.namespace.must_be :==, 'http://bibtexml.sf.net/'
429
+ xml.root.get_elements('//bibtex:person').wont_be_empty
430
+ end
431
+
432
+ end
433
+ end
434
+
435
+ describe '#add' do
436
+ before do
437
+ @bib = Bibliography.new(allow_missing_keys: true)
438
+ end
439
+
440
+ it 'should respect options provided to initializer' do
441
+ assert_equal(@bib.add('@article{, title = test}'), @bib)
442
+ assert(! @bib.entries.keys.any?(&:empty?))
443
+ end
444
+ end
445
+ end
446
+ end