Nothing
test_that("empty file gives empty list", {
out <- roc_proc_text(rd_roclet(), "")
expect_identical(out, list())
})
test_that("NULL gives empty list", {
out <- roc_proc_text(rd_roclet(), "NULL")
expect_identical(out, list())
})
test_that("@noRd inhibits documentation", {
out <- roc_proc_text(rd_roclet(), "
#' Would be title
#' @title Overridden title
#' @name a
#' @noRd
NULL")
expect_equal(length(out), 0)
})
test_that("deleted objects not documented", {
out <- roc_proc_text(rd_roclet(), "
f <- function(){
.a <- 0
function(x = 1){
.a <<- .a + x
.a
}
}
#' Addition function.
f2 <- f()
rm(f)
")
expect_equal(names(out), "f2.Rd")
})
test_that("documenting unknown function requires name", {
block <- "
#' Virtual Class To Enforce Max Slot Length
setClass('A')
#' Validity function.
setValidity('A', function(object) TRUE)
"
expect_snapshot(. <- roc_proc_text(rd_roclet(), block))
})
test_that("can't set description and re-export", {
block <- "
#' @description NOPE
#' @export
magrittr::`%>%`
"
expect_snapshot(out <- roc_proc_text(rd_roclet(), block))
expect_length(out, 0)
})
test_that("documenting NA gives useful error message (#194)", {
block <- "
#' Missing value
NA
"
expect_snapshot(. <- roc_proc_text(rd_roclet(), block))
})
test_that("@description NULL", {
# Just ignore in this case
out <- roc_proc_text(rd_roclet(), "
#' Title
#'
#' @description NULL
#' @format NULL
foobar <- 1:10
")
expect_identical(out[[1]]$get_value("description"), "Title")
# Still ignore
out <- roc_proc_text(rd_roclet(), "
#' Title
#' @description NULL
#' @description desc
#' @format NULL
foobar <- 1:10
")
expect_identical(out[[1]]$get_value("description"), "desc")
# Still ignore for objects as well
out <- roc_proc_text(rd_roclet(), "
#' Title
#' @description NULL
#' @format NULL
foobar <- 1:10
")
expect_identical(out[[1]]$get_value("description"), "Title")
# But drop for package docs
block <- "
#' Title
#'
#' @docType package
#' @description NULL
#' @name pkg
'_PACKAGE'
"
out <- roc_proc_text(rd_roclet(), block, wd = test_path("empty"))
expect_null(out[[1]]$get_value("description"))
})
test_that("@details NULL", {
# Just ignore in this case
out <- roc_proc_text(rd_roclet(), "
#' Title
#'
#' @details NULL
#' @format NULL
foobar <- 1:10
")
expect_null(out[[1]]$get_value("details"))
# Still ignore
out <- roc_proc_text(rd_roclet(), "
#' Title
#' @details NULL
#' @details desc
#' @format NULL
foobar <- 1:10
")
expect_identical(out[[1]]$get_value("details"), "desc")
# Still ignore for objects as well
out <- roc_proc_text(rd_roclet(), "
#' Title
#' @details NULL
#' @format NULL
foobar <- 1:10
")
expect_null(out[[1]]$get_value("details"))
})
# package docs ------------------------------------------------------------
test_that("package docs don't get alias if function present", {
block <- "
#' Title
#'
'_PACKAGE'
#' Empty
empty <- function() {}
"
out <- roc_proc_text(rd_roclet(), block, test_path("empty"))[[1]]
expect_equal(out$get_value("alias"), "empty-package")
})
test_that("package docs preserve existing aliases", {
block <- "
#' Title
#' @aliases a b
#'
'_PACKAGE'
"
out <- roc_proc_text(rd_roclet(), block, test_path("empty"))[[1]]
expect_equal(out$get_value("alias"), c("empty", "empty-package", "a", "b"))
block <- paste0(block, "
#' Empty
empty <- function() {}
")
out <- roc_proc_text(rd_roclet(), block, test_path("empty"))[[1]]
expect_equal(out$get_value("alias"), c("empty-package", "a", "b"))
})
test_that("get correct alias even if user has overriden name", {
block <- "
#' Title
#' @name foo
#' @aliases bar
#'
'_PACKAGE'
"
out <- roc_proc_text(rd_roclet(), block, test_path("empty"))[[1]]
expect_equal(
out$get_value("alias"),
c("empty", "empty-package", "foo", "bar")
)
})
# UTF-8 -------------------------------------------------------------------
test_that("can generate nonASCII document", {
path <- local_package_copy(test_path('testNonASCII'))
withr::defer(pkgload::unload("testNonASCII"))
expect_snapshot({
roxygenise(path, roclets = "rd")
"Second run should be idempotent"
roxygenise(path, roclets = "rd")
})
rd_path <- file.path(path, "man", "printChineseMsg.Rd")
expect_true(file.exists(rd_path))
rd <- read_lines(rd_path)
expect_true(any(grepl("\u6211\u7231\u4e2d\u6587", rd)))
expect_true(any(grepl("\u4e2d\u6587\u6ce8\u91ca", rd)))
})
test_that("unicode escapes are ok", {
path <- local_package_copy(test_path('testUtf8Escape'))
withr::defer(pkgload::unload("testUtf8Escape"))
expect_snapshot({
roxygenise(path, roclets = "rd")
"Second run should be idempotent"
roxygenise(path, roclets = "rd")
})
rd_path <- file.path(path, "man", "a.Rd")
expect_true(file.exists(rd_path))
rd <- read_lines(rd_path)
expect_true(any(grepl("7\u00b0C", rd)))
})
test_that("automatically deletes unused files", {
path <- local_package_copy(test_path("empty"))
dir.create(file.path(path, "man"))
suppressMessages(roxygenise(path))
withr::defer(pkgload::unload("empty"))
write_lines(made_by("%"), file.path(path, "man/test.Rd"))
expect_snapshot(roxygenise(path))
})
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.