context("bibtex_writer")
skip_if_not_installed("bibtex")
test_that("bibtex_writer: works", {
skip_on_cran()
z <- system.file('extdata/citeproc.json', package = "handlr")
tmp <- citeproc_reader(z)
x <- bibtex_writer(z = tmp)
expect_is(bibtex_writer, "function")
expect_is(x, "character")
})
test_that("bibtex_writer: write from citeproc json", {
skip_on_cran()
z <- system.file('extdata/citeproc.json', package = "handlr")
tmp <- citeproc_reader(z)
x <- bibtex_writer(z = tmp)
expect_is(bibtex_reader(x), "handl")
})
test_that("bibtex_writer: output gives back same as input from bibtex_reader", {
skip_on_cran()
z <- system.file('extdata/bibtex.bib', package = "handlr")
w <- bibtex_reader(z)
bw_out <- bibtex_writer(w)
og_out <- readLines(z)
# should be pretty close other than minor spacing issues
expect_true(any(grepl(w$title, bw_out, perl = TRUE)))
expect_true(any(grepl(w$title, og_out, perl = TRUE)))
expect_true(any(grepl(w$publisher, bw_out)))
expect_true(any(grepl(w$publisher, og_out)))
})
test_that("bibtex_writer fails well", {
expect_error(bibtex_writer(), "\"z\" is missing")
expect_error(bibtex_writer(5), "z must be of class handl")
# expect_error(bibtex_writer(list(a = 5)), "z must be of class list")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.