Nothing
test_that("C/C++ call functions", {
env <- rlang::current_env()
mask <- rlang::new_data_mask(env)
env$x <- 1
env$y <- 2
q1 <- quote(x + y)
q2 <- quote(base::`+`(x, y))
q3 <- quote(base::`+`(x + (y - base::`/`(x, y))))
q4 <- quote(x + 1)
expect_true(is_group_unaware_call(q1, env, mask))
expect_true(is_group_unaware_call(q2, env, mask))
expect_true(is_group_unaware_call(q3, env, mask))
# This returns false because at-the-moment group-unaware calls
# must contain symbols present in the mask
expect_false(is_group_unaware_call(q4, env, mask))
`+` <- function(x, y) x + y
# Since `+` overwrites base R `+`, this should
# NOT be considered a group-unaware call unless
# it is namespaced
expect_false(is_group_unaware_call(q1, env, mask))
expect_true(is_group_unaware_call(q2, env, mask))
expect_false(is_group_unaware_call(q3, env, mask))
rm(`+`)
expect_false(is_nested_call(q1))
expect_false(is_nested_call(q2))
expect_true(is_nested_call(q3))
expect_false(call_is_namespaced(q1))
expect_true(call_is_namespaced(q2))
expect_true(call_is_namespaced(q3))
expect_equal(fun_ns(base::`+`, env), "base")
expect_equal(fun_ns(`+`, env), "base")
expect_equal(fun_ns("+", env), "base")
expect_equal(fun_ns(as.symbol("+"), env), "base")
`+` <- function(x, y) x + y
expect_equal(fun_ns(base::`+`, env), "base")
expect_equal(fun_ns(`+`, env), "")
expect_equal(fun_ns("+", env), "")
expect_equal(fun_ns(as.symbol("+"), env), "")
rm(`+`)
q4 <- quote(base::`+`(1 + (3 - base::`/`(5, dplyr::n()))))
expect_true(cpp_any_quo_contains_dplyr_mask_call(list(
rlang::new_quosure(q1, env),
rlang::new_quosure(q2, env),
rlang::new_quosure(q3, env),
rlang::new_quosure(q4, env)
)))
expect_false(cpp_any_quo_contains_dplyr_mask_call(list(
rlang::new_quosure(q1, env),
rlang::new_quosure(q2, env),
rlang::new_quosure(q3, env)
)))
expect_true(is_fn_call(q1, "+", NULL, env))
expect_true(is_fn_call(q2, "+", NULL, env))
expect_true(is_fn_call(q3, "+", NULL, env))
expect_true(is_fn_call(q1, "+", "base", env))
expect_true(is_fn_call(q2, "+", "base", env))
expect_true(is_fn_call(q3, "+", "base", env))
expect_false(is_fn_call(q1, "+", "base2", env))
expect_false(is_fn_call(q2, "+", "base2", env))
expect_false(is_fn_call(q3, "+", "base2", env))
expect_false(is_fn_call(q1, "/", NULL, env))
expect_false(is_fn_call(q2, "/", NULL, env))
expect_false(is_fn_call(q3, "/", NULL, env))
expect_false(is_fn_call(q1, "/", "base", env))
expect_false(is_fn_call(q2, "/", "base", env))
expect_false(is_fn_call(q3, "/", "base", env))
`+` <- function(x, y) x + y
expect_true(is_fn_call(q1, "+", NULL, env))
expect_true(is_fn_call(q2, "+", NULL, env))
expect_true(is_fn_call(q3, "+", NULL, env))
expect_false(is_fn_call(q1, "+", "base", env))
expect_true(is_fn_call(q2, "+", "base", env))
expect_true(is_fn_call(q3, "+", "base", env))
expect_false(is_fn_call(q1, "+", "base2", env))
expect_false(is_fn_call(q2, "+", "base2", env))
expect_false(is_fn_call(q3, "+", "base2", env))
rm(`+`)
})
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.