context("html_vignette format") .generate_temp_vignette <- function(title = NULL, indexentry = NULL, envir = parent.frame()) { tmp_rmd <- tempfile("vignette-", fileext = ".Rmd") xfun::write_utf8( c("---", if (!is.null(title)) sprintf("title: %s", title), "output: html_vignette", "vignette: >", if(!is.null(indexentry)) { sprintf(" %%\\VignetteIndexEntry{%s}", indexentry) }, " %\\VignetteEngine{knitr::rmarkdown}", " %\\VignetteEncoding{UTF-8}", "---", "\n# This is a vignette"), tmp_rmd) withr::defer(unlink(tmp_rmd), envir = envir) tmp_rmd } # https://github.com/rstudio/rmarkdown/pull/1789#issuecomment-616908700 test_that("vignette_pre_processor warns against differences in vignette index entry and title", { withr::local_options(list(rmarkdown.html_vignette.check_title = TRUE)) input_file <- .generate_temp_vignette('document title', 'vignette title') # only warns for R 3.6 and later if (getRversion() >= '3.6') { expect_warning(vignette_pre_processor(input_file), 'rmarkdown.html_vignette.check_title') } else { expect_null(vignette_pre_processor(input_file)) } }) # https://github.com/rstudio/rmarkdown/issues/1978 test_that("vignette_pre_processor correctly handles encoding", { withr::local_options(list(rmarkdown.html_vignette.check_title = TRUE)) input_file <- .generate_temp_vignette('Données', 'Données') expect_null(vignette_pre_processor(input_file)) })