/usr/share/doc/r-cran-rlang/tests/testthat/test-sym.R is in r-cran-rlang 0.2.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | context("sym")
test_that("ensym() fails with calls", {
capture_sym <- function(arg) ensym(arg)
expect_identical(capture_sym(foo), quote(foo))
expect_error(capture_sym(foo(bar)), "Must supply a symbol")
})
test_that("ensym() supports strings and symbols", {
capture_sym <- function(arg) ensym(arg)
expect_identical(capture_sym("foo"), quote(foo))
expect_identical(capture_sym(!!"foo"), quote(foo))
expect_identical(capture_sym(!!sym("foo")), quote(foo))
})
test_that("empty string is treated as the missing argument", {
expect_identical(sym(""), missing_arg())
})
test_that("syms() supports symbols as well", {
expect_identical(syms(list(quote(a), "b")), list(quote(a), quote(b)))
})
test_that("is_symbol() matches `name`", {
expect_true(is_symbol(sym("foo")))
expect_true(is_symbol(sym("foo"), "foo"))
expect_false(is_symbol(sym("foo"), "bar"))
})
test_that("must supply strings to sym()", {
expect_error(sym(letters), "strings")
expect_error(sym(1:2), "strings")
})
|