Nothing
test_that("local_vars() restores previous state", {
vars <- c("a", "b", "c")
local_vars(vars)
fn <- function() {
local_vars(c("d", "e", "f"))
starts_with("e")
}
expect_identical(fn(), 2L)
expect_identical(peek_vars(), vars)
})
test_that("with_vars() works", {
vars <- c("a", "b", "c")
local_vars(vars)
fn <- function(expr) {
with_vars(c("rose", "blue", "red"), expr)
}
expect_identical(fn(starts_with("r")), c(1L, 3L))
expect_identical(peek_vars(), vars)
})
test_that("has_vars() detects variables", {
expect_false(has_vars())
local_vars(letters)
expect_true(has_vars())
})
test_that("Missing names are kept", {
local_vars(c("foo", NA))
expect_identical(peek_vars(), c("foo", NA))
local_vars(c(NA, "foo"))
expect_identical(peek_vars(), c(NA, "foo"))
local_vars(c("bar", ""))
expect_identical(peek_vars(), c("bar", ""))
local_vars(c("", "bar"))
expect_identical(peek_vars(), c("", "bar"))
})
test_that("full data is in scope", {
x <- structure(set_names(letters), class = c("foo", "character"))
identical <- FALSE
helper <- function(data = peek_data()) {
identical <<- identical(data, x)
1
}
select_loc(x, helper())
expect_true(identical)
})
test_that("peek_data() fails informatively", {
expect_error(peek_data(), "must be used within")
})
test_that("generic error message is thrown if `fn` is not supplied", {
expect_snapshot(peek_vars(), error = TRUE)
withr::local_options(cli.hyperlink = TRUE, rlang_interactive = TRUE)
expect_snapshot(peek_vars(), error = TRUE)
})
test_that("custom error message is thrown if `fn` is supplied", {
expect_error(peek_vars(fn = "z"), "`z()` must be used", fixed = TRUE)
})
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.