## test getArg
library(ribiosArg)
rscript <- file.path(dirname(dirname(commandArgs()[1])),
"Rscript")
## useful for cases where there is a WARNING message (e.g. "WARNING: ignoring environment value of R_HOME")
identicalWoWarning <- function(x,y) {
x <- x[!grepl("^WARNING",x)]
identical(x,y)
}
if(file.exists(rscript)) {
comm.format <- paste(rscript,
"-e \"",
"library(ribiosArg);",
"getArg(\\\"%s\\\", onlyArg=%s, missingArg=%s);",
"quit(status=0, save=\\\"no\\\")",
"\"",
"-infile a.file b.file -outfile o.file o2.file -value 2,3 -value2 3 4 6 NA -hey -hallo",
collapse=" ")
comm <- sprintf(comm.format, "infile", "NA", "NA")
comm.out <- system(comm, intern=TRUE)
stopifnot(identicalWoWarning(comm.out, "[1] \"a.file\" \"b.file\""));
comm2 <- sprintf(comm.format, "outfile", "NULL", "NULL")
comm2.out <- system(comm2, intern=TRUE)
stopifnot(identicalWoWarning(comm2.out, "[1] \"o.file\" \"o2.file\""))
comm3 <- sprintf(comm.format, "value", "NULL", "NA")
comm3.out <- system(comm3, intern=TRUE)
stopifnot(identicalWoWarning(comm3.out, "[1] \"2,3\""))
comm4 <- sprintf(comm.format, "value2", "\\\"0\\\"","\\\"0\\\"")
comm4.out <- system(comm4, intern=TRUE)
stopifnot(identicalWoWarning(comm4.out, "[1] \"3\" \"4\" \"6\" \"NA\""))
comm5 <- sprintf(comm.format, "hallo", "\\\"1887\\\"", "NULL")
comm5.out <- system(comm5, intern=TRUE)
stopifnot(identicalWoWarning(comm5.out, "[1] \"1887\""))
comm6 <- sprintf(comm.format, "hello", "\\\"Impossible\\\"", "NA")
comm6.out <- system(comm6, intern=TRUE)
stopifnot(identicalWoWarning(comm6.out, "[1] NA"))
comm6a <- sprintf(comm.format, "hello", "\\\"Impossible\\\"", "\\\"Sure\\\"")
comm6a.out <- system(comm6a, intern=TRUE)
stopifnot(identicalWoWarning(comm6a.out, "[1] \"Sure\""))
comm6b <- sprintf(comm.format, "hello", "\\\"Impossible\\\"", "NULL")
comm6b.out <- system(comm6b, intern=TRUE)
stopifnot(identicalWoWarning(comm6b.out, "NULL"))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.