35 lines
924 B
R
35 lines
924 B
R
|
require("tools")
|
||
|
|
||
|
# -------------------------------------------------------------------
|
||
|
# find_wide_Rd_lines_in_Rd_object: render stage=render \Sexpr
|
||
|
# expressions within \examples if installed = TRUE.
|
||
|
|
||
|
rd <- sprintf("
|
||
|
\\name{foo}
|
||
|
\\title{Title}
|
||
|
\\description{Desc.}
|
||
|
\\examples{
|
||
|
\\Sexpr[stage=render]{\"# foobar\"}
|
||
|
\\Sexpr[stage=render]{strrep(\"long \", 30)}
|
||
|
# %s
|
||
|
}", strrep("123456789 ", 10))
|
||
|
|
||
|
rd <- parse_Rd(con <- textConnection(rd)); close(con)
|
||
|
|
||
|
# does not error, but finds long lines, dynamic ones as well
|
||
|
bad <- tools:::find_wide_Rd_lines_in_Rd_object(rd, installed = TRUE)
|
||
|
stopifnot(
|
||
|
"examples" %in% names(bad),
|
||
|
"warn" %in% names(bad$examples),
|
||
|
any(grepl("123456789 ", bad$examples$warn)),
|
||
|
any(grepl("long ", bad$examples$warn))
|
||
|
)
|
||
|
|
||
|
# does error currently
|
||
|
err <- NULL
|
||
|
tryCatch(
|
||
|
tools:::find_wide_Rd_lines_in_Rd_object(rd, installed = FALSE),
|
||
|
error = function(e) err <<- e
|
||
|
)
|
||
|
stopifnot(!is.null(err))
|