Nothing
test_that("get_default_pandoc_data_file works as expected", {
skip_if_not_installed("knitr")
skip_if_not_installed("rmarkdown")
skip_if_not(rmarkdown::pandoc_available())
pptx_pandoc_template <- get_default_pandoc_data_file(
format = "pptx"
)
expect_true(file.exists(pptx_pandoc_template))
layout_summary_data <- layout_summary(read_pptx(pptx_pandoc_template))
expect_gt(nrow(layout_summary_data), 0L)
expect_contains(layout_summary_data$layout, "Title and Content")
docx_pandoc_template <- get_default_pandoc_data_file(
format = "docx"
)
expect_true(file.exists(docx_pandoc_template))
doc <- read_docx(docx_pandoc_template)
styles <- styles_info(doc)
expect_contains(styles$style_name, "Normal")
expect_contains(styles$style_name, "Author")
})
test_that("get_reference_value works as expected for docx", {
skip_if_not_installed("knitr")
skip_if_not_installed("rmarkdown")
skip_if_not(rmarkdown::pandoc_available())
tmp_file <- tempfile(fileext = ".Rmd")
template_docx <- system.file(package = "officer", "template/template.docx")
cat(
"
```{r, include=FALSE}
library(officer)
knitr::knit_hooks$set(dummy = function(before, options, envir) {
if (!before) {
template_docx <- get_reference_value(format = \"docx\")
z <- read_docx(template_docx)
styles_data <- styles_info(z, type = \"paragraph\")[c(\"style_name\")]
return(paste(\"```{=openxml}\", to_wml(block_table(styles_data, header = FALSE)), \"```\", sep = \"\n\"))
}
})
```
```{r, dummy=TRUE}
```
",
file = tmp_file
)
out_file <- tempfile(fileext = ".docx")
rmarkdown::render(
input = tmp_file,
output_format = rmarkdown::word_document(reference_docx = template_docx),
output_file = out_file,
quiet = TRUE
)
z <- read_docx(out_file)
content_summary <- docx_summary(z)
styles <- styles_info(read_docx(), type = "paragraph")
expect_equal(content_summary$text, styles$style_name)
})
test_that("get_reference_value works as expected for pptx", {
skip_if_not_installed("knitr")
skip_if_not_installed("rmarkdown")
skip_if_not(rmarkdown::pandoc_available())
pptx_pandoc_template <- get_default_pandoc_data_file(
format = "pptx"
)
template_pptx <- tempfile(fileext = ".pptx")
file.copy(pptx_pandoc_template, template_pptx)
str <- "
```{r, include=FALSE}
library(officer)
knitr::knit_hooks$set(dummy = function(before, options, envir) {
if (!before) {
template_docx <- get_reference_value(format = \"pptx\")
saveRDS(template_docx, \"~/dump.RDS\")
return(\"\")
}
})
```
```{r, dummy=TRUE}
```
"
tmp_file <- tempfile(fileext = ".Rmd")
cat(str, file = tmp_file)
out_file <- tempfile(fileext = ".pptx")
rmarkdown::render(
input = tmp_file,
output_format = rmarkdown::powerpoint_presentation(
reference_doc = template_pptx
),
output_file = out_file,
quiet = TRUE
)
expect_equal(basename(readRDS("~/dump.RDS")), basename(template_pptx))
unlink("~/dump.RDS")
})
test_that("opts_current_table works as expected", {
skip_if_not_installed("knitr")
skip_if_not_installed("rmarkdown")
skip_if_not(rmarkdown::pandoc_available())
new_dir <- tempfile()
dir.create(new_dir, showWarnings = FALSE)
rmd_fp <- file.path(new_dir, "knitr-utils.Rmd")
generated_rds <- tempfile(fileext = ".RDS")
file.copy("docs_dir/knitr-utils.Rmd", to = rmd_fp)
rmarkdown::render(
input = rmd_fp,
envir = parent.frame(),
params = list(
rds_path = generated_rds
),
quiet = TRUE
)
x <- readRDS(generated_rds)
expect_equal(x$cap.pre, "Tableau ")
expect_equal(x$cap.style, "Normal")
expect_equal(x$cap.sep, " : ")
expect_equal(x$alt.title, "alt title")
expect_equal(x$alt.description, "alt description")
expect_equal(x$cap, "Coucou")
})
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.