# only run this when NOT_CRAN is true (e.g., on Travis CI) if (Sys.getenv('NOT_CRAN') == 'true') local({ all_files = function() { list.files('rmd', all.files = TRUE, full.names = TRUE) } files1 = all_files() on.exit(unlink(setdiff(all_files(), files1), recursive = TRUE), add = TRUE) for (f in list.files('rmd', '[.]Rmd$', full.names = TRUE)) { rmarkdown::render(f, envir = globalenv(), quiet = TRUE) } # split by section works correctly ## id is used for html file name sections_files = c("section-1.html", "subsection-1.html", "section-2.html", "sub2.html") if (any(!file.exists(file.path("rmd", sections_files)))) stop("Failed to generate sections files") ## reference is working correctly (see #787) if (!any(xfun::read_utf8("rmd/subsection-1.html") == '

See chapter 2 now at 2

')) stop('Failed to reference section when split by sections') if (!any(xfun::read_utf8("rmd/sub2.html") == '

See figure 2.1

')) stop('Failed to reference figure when split by sections') # Check equation label are working if (!any(readLines('rmd/equation-label.html') == 'y \\in \\mathbb{Z} \\tag{2}')) { stop('Failed to render the equation label in equation-label.Rmd') } # footnotes are parsed and moved correctly ## deleted from last section if (any(grepl('
', readLines("rmd/subsection-footnotes-2.html")))) { stop('Failed to parse and delete the footnotes in parse-footnotes.Rmd') } ## footnote one is moved to first section if (!any(readLines('rmd/test-footnote.html') == '
') || !any(grepl('id="fn1"', readLines('rmd/test-footnote.html')))) { stop('Failed to move the footnotes back to subsection 1 in parse-footnotes.Rmd') } ## footnote two is moved to second section if (!any(readLines('rmd/subsection-footnotes-1.html') == '
') || !any(grepl('id="fn2"', readLines('rmd/subsection-footnotes-1.html')))) { stop('Failed to move the footnotes back to subsection 1 in parse-footnotes.Rmd') } # multiline footnote is also moved if (!any(readLines('rmd/subsection-footnotes-1.html') == '
') || !any(grepl('id="fn3"', readLines('rmd/subsection-footnotes-1.html')))) { stop('Failed to move the footnotes back to subsection 1 in parse-footnotes.Rmd') } # number sections now works in markdown_document2 content = readLines("rmd/number-sections.md") if (!any(grepl("(## )?1.1 subsection 1", content)) || !any(grepl("2.1", content))) { stop("Something wrong in number-sections.Rmd") } # lua filter for custom environment local({ reg_env = sprintf('
', paste(bookdown:::all_math_env, collapse = "|")) if (!any(grepl(reg_env, readLines("rmd/custom-environments.html")))) stop("Lua filter for custom environment fails to create divs") i18n = xfun::in_dir("rmd", bookdown:::load_config()$language$label$solution) reg_span = sprintf('%s\\. ', i18n) if (!any(grepl(reg_span, readLines("rmd/custom-environments.html")))) stop("Lua filter for custom environment fails to apply correct translation") }) # tests also some specific format rmarkdown::render( "rmd/custom-environments.Rmd", output_format = "bookdown::pdf_document2", envir = globalenv(), quiet = TRUE ) if (!file.exists("rmd/custom-environments.pdf")) stop("Failed to render custom-environments for pdf document") })