Nothing
testthat::test_that("export can be called savely outside of module #47", {
testthat::expect_warning(
modules::export("something"),
"Calling 'export' outside of a module has no effect."
)
})
test_that("Exports of special names #43", {
m <- module({
"==.foo" <- function(lhs, rhs) base::`==`(lhs, rhs) # Exclude Linting
"!.foo" <- function(lhs, rhs) base::`!=`(lhs, rhs) # Exclude Linting
})
testthat::expect_true(m$`==.foo`(1, 1))
testthat::expect_true(m$`!.foo`(1, 2))
})
test_that("Exports of special names #37", {
m <- module({
"%+%" <- function(lhs, rhs) lhs + rhs # Exclude Linting
"%add%" <- `%+%`
})
testthat::expect_true(m$`%+%`(1, 2) == 3)
testthat::expect_true(m$`%add%`(1, 2) == 3)
})
test_that("Exports of special names #45", {
m <- module({
"[" <- `[`
. <- "."
"==" <- "=="
})
testthat::expect_true(is.primitive(m$"["))
testthat::expect_true(is.null(m$.))
testthat::expect_true(m$"==" == "==")
})
test_that("Exports of expressions", {
m <- module({
export(
true = !FALSE,
false = !T
)
})
testthat::expect_true(m$true)
testthat::expect_true(!m$false)
})
test_that("Exports of names with whitespace #39", {
m <- module({
"my fun" <- function(x) x # Exclude Linting
"my long fun name" <- function(x) x # Exclude Linting
"1 my fun1" <- function(x) x # Exclude Linting
})
testthat::expect_true(m$`my fun`(1) == 1)
testthat::expect_true(m$`my long fun name`(1) == 1)
testthat::expect_true(m$`1 my fun1`(1) == 1)
})
test_that("Exports of module", {
m <- module({
fun <- function(x) x
.fun <- function(x) x
pFun <- function(x) x
})
testthat::expect_true(all(c("fun", "pFun") %in% names(m)))
testthat::expect_true(!(".fun" %in% names(m)))
m <- module({
export(fun)
fun <- function(x) x
.fun <- function(x) x
pFun <- function(x) x
})
testthat::expect_true("fun" %in% names(m))
testthat::expect_true(!(".fun" %in% names(m)))
testthat::expect_true(!("pFun" %in% names(m)))
m <- module({
export(fun, "pFun")
fun <- function(x) x
.fun <- function(x) x
pFun <- function(x) x
})
testthat::expect_true(all(c("fun", "pFun") %in% names(m)))
testthat::expect_true(!(".fun" %in% names(m)))
m <- module({
export(fun)
fun <- function(x) x
.fun <- function(x) x
pFun <- function(x) x
export(pFun)
})
testthat::expect_true(all(c("fun", "pFun") %in% names(m)))
testthat::expect_true(!(".fun" %in% names(m)))
})
test_that("Produce an error when 'export' is not available", {
testthat::expect_error(
modules::module({
modules::export("fun", "fun1", "fun2")
fun <- function(x) x
}),
"unable to resolve export: fun1"
)
})
test_that("Rename exports", {
m <- modules::module({
export(
foo,
a = foo,
b = "foo",
c = function() foo(),
bar = sub$bar
)
sub <- module({
bar <- function() "bar"
})
foo <- function() "foo"
})
testthat::expect_equal(m$foo(), "foo")
testthat::expect_equal(m$a(), "foo")
testthat::expect_equal(m$b(), "foo")
testthat::expect_equal(m$c(), "foo")
testthat::expect_equal(m$bar(), "bar")
})
test_that("Export .names", {
m <- modules::module({
export(.foo = foo)
foo <- function() "foo"
})
testthat::expect_equal(m$.foo(), "foo")
})
test_that("Warning on duplicate names", {
testthat::expect_warning(
modules::module({
export(foo, "foo")
foo <- function() "foo"
}),
"duplicate names in exports"
)
})
test_that("Warn with do.call", {
testthat::expect_warning(
modules::module({
do.call(export, list("foo"))
foo <- function() "foo"
}),
"non standard call to export"
)
})
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.