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