spec/citation_helper.rb in asciidoctor-bibliography-0.5.1 vs spec/citation_helper.rb in asciidoctor-bibliography-0.6.0
- old
+ new
@@ -1,47 +1,42 @@
# coding: utf-8
require "asciidoctor-bibliography"
-TEST_BIBTEX_DATABASE = <<~BIBTEX.freeze
- @article{Erdos65,
- title = {Some very hard sums},
- journal={Difficult Maths Today},
- author={Paul Erdős and Arend Heyting and Luitzen Egbertus Brouwer},
- year={1965},
- pages={30}
- }
-
- @article{Einstein35,
- title={Can quantum-mechanical description of physical reality be considered complete?},
- author={Einstein, Albert and Podolsky, Boris and Rosen, Nathan},
- journal={Physical review},
- volume={47},
- number={10},
- pages={777},
- year={1935},
- publisher={APS}
- }
-BIBTEX
-
-def init_bibliographer(bibtex_db:, options: {})
+def init_bibliographer(options: {})
bibliographer = AsciidoctorBibliography::Bibliographer.new
- bibliographer.options = AsciidoctorBibliography::Options.new.
- merge("bibliography-hyperlinks" => "false").merge(options)
+ opts = options.dup
- bibliographer.database = AsciidoctorBibliography::Database.new.
- concat(::BibTeX.parse(bibtex_db).to_citeproc)
+ db_path = File.join __dir__, "fixtures", opts.delete("bibliography-database")
+ bibliographer.database = AsciidoctorBibliography::Database.new.append db_path
+ bibliographer.options =
+ AsciidoctorBibliography::Options.new.
+ merge(
+ "bibliography-hyperlinks" => "false",
+ "bibliography-prepend-empty" => "false",
+ ).merge(opts)
+
bibliographer
end
def formatted_citation(macro, options: {})
- bibliographer = init_bibliographer bibtex_db: TEST_BIBTEX_DATABASE,
- options: options
+ bibliographer = init_bibliographer options: options
macro.gsub(AsciidoctorBibliography::Citation::REGEXP) do
citation = AsciidoctorBibliography::Citation.new(*Regexp.last_match.captures)
bibliographer.add_citation(citation)
citation.render bibliographer
- end.gsub(/^{empty}/, "")
+ end
+end
+
+def formatted_bibliography(macro, options: {})
+ bibliographer = init_bibliographer options: options
+ macro.gsub(AsciidoctorBibliography::Citation::REGEXP) do
+ citation = AsciidoctorBibliography::Citation.new(*Regexp.last_match.captures)
+ bibliographer.add_citation(citation)
+ # citation.render bibliographer
+ index = AsciidoctorBibliography::Index.new("bibliography", "", "")
+ index.render(bibliographer).join
+ end
end