Nothing
# test bulletproofing
file <- replicate(2, tempfile(fileext = ".rtf"))
file1 <- head(iris) |>
rtf_body() |>
rtf_encode() |>
write_rtf(file[1])
file2 <- head(cars) |>
rtf_page(orientation = "landscape") |>
rtf_body() |>
rtf_encode() |>
write_rtf(file[2])
test_that("rtf_assemble: bulletproofing argument landscape", {
expect_error(assemble_rtf(
input = file,
output = tempfile(fileext = ".rtf"),
landscape = "yes"
))
expect_error(assemble_docx(
input = file,
output = tempfile(fileext = ".docx"),
landscape = c(TRUE, TRUE, FALSE)
))
})
test_that("rtf_assemble: bulletproofing argument input", {
expect_error(assemble_rtf(input = c(TRUE, TRUE), output = tempfile(fileext = ".rtf")))
})
test_that("rtf_assemble: bulletproofing argument output", {
expect_error(assemble_rtf(input = file, output = TRUE))
})
# test functionality without officer
test_that("rtf_assemble: output without using officer", {
file_tmp <- tempfile(fileext = ".rtf")
rtf_path <- assemble_rtf(input = file, output = file_tmp)
expect_equal(rtf_path, file_tmp)
tmp_rtf <- paste(readLines(rtf_path), collapse = "\n")
expect_true(grepl(tmp_rtf, pattern = "Sepal"))
expect_true(grepl(tmp_rtf, pattern = "speed"))
})
# test functionality with officer
if (requireNamespace("officer")) {
test_that("rtf_assemble: output with using officer", {
file_tmp <- tempfile(fileext = ".docx")
rtf_path <- assemble_docx(
input = file,
output = file_tmp,
landscape = c(FALSE, TRUE)
)
expect_equal(rtf_path, file_tmp)
# Need to read in and expose document text for our test
docx <- officer::read_docx(rtf_path)
tmp_docx <- officer::docx_summary(docx)
body_docx <- officer::docx_body_xml(docx)
# Need to check if both "table seq table" texts are in the docx file.
expect_true(grepl("Table SEQ Table", tmp_docx$text[1]))
expect_equal(
unlist(lapply(xml2::as_list(xml2::xml_find_all(body_docx, "//w:pgSz")), FUN = function(x) attr(x, "orient"))),
c("portrait", "landscape")
)
})
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.