test_that("toc argument works", {
  skip_if_not_pandoc()
  skip_if_not_installed("xml2")
  rmd <- local_temp_draft()
  html <- .render_and_read(
    rmd,
    output_options = list(
      toc = TRUE,
      pandoc_args = c(pandoc_variable_arg("toc-title", "TOC"))
    )
  )
  toc <- xml2::xml_find_all(html, "//section[@id='TOC']")
  expect_length(toc, 1)
  expect_equal(
    xml2::xml_text(
      xml2::xml_find_all(toc, "./nav/*[contains(@id, 'toc-title')]")
    ),
    "TOC"
  )
})

test_that("chapter_numbering option controls the numbering script", {
  skip_if_not_pandoc()
  rmd <- local_temp_rmd_file(
    "---",
    "title: 'Chapter numbering test'",
    "output: revealjs.ids::revealjs_presentation",
    "---",
    "",
    "# One",
    "",
    "## a",
    "",
    "# Two"
  )
  on <- paste(.render_and_read(rmd, xml = FALSE), collapse = "\n")
  expect_match(on, "function numberChapters", fixed = TRUE)
  expect_match(on, "var start = 1;", fixed = TRUE)

  off <- paste(.render_and_read(
    rmd,
    output_options = list(chapter_numbering = FALSE),
    xml = FALSE
  ), collapse = "\n")
  expect_no_match(off, "function numberChapters", fixed = TRUE)

  started <- paste(.render_and_read(
    rmd,
    output_options = list(chapter_numbering = 5),
    xml = FALSE
  ), collapse = "\n")
  expect_match(started, "var start = 5;", fixed = TRUE)

  expect_error(
    .render_and_read(
      rmd,
      output_options = list(chapter_numbering = "yes"),
      xml = FALSE
    ),
    "chapter_numbering"
  )
})
