test_that("can detect presence vs absence names", {
expect_identical(has_name(list("foo", "bar")), c(FALSE, FALSE))
expect_identical(has_name(list(a = "foo", "bar")), c(TRUE, FALSE))
expect_identical(
has_name({
x <- list("foo", "bar")
names(x)[1] <- "a"
x
}),
c(TRUE, FALSE)
)
expect_identical(
has_name({
x <- list("foo", "bar")
names(x)[1] <- "a"
names(x)[2] <- ""
x
}),
c(TRUE, FALSE)
)
expect_identical(
has_name({
x <- list("foo", "bar")
names(x)[1] <- ""
x
}),
c(FALSE, FALSE)
)
expect_identical(
has_name({
x <- list("foo", "bar")
names(x)[1] <- ""
names(x)[2] <- ""
x
}),
c(FALSE, FALSE)
)
})
test_that("named NULL is dropped", {
tcs <- list(
list(list(), list()),
list(list(a = 1), list(a = 1)),
list(list(NULL), list(NULL)),
list(list(a = NULL), list()),
list(list(NULL, a = NULL, 1), list(NULL, 1)),
list(list(a = NULL, b = 1, 5), list(b = 1, 5))
)
for (tc in tcs) {
expect_identical(
drop_named_nulls(tc[[1]]),
tc[[2]],
info = tc
)
}
})
test_that("named NA is error", {
goodtcs <- list(
list(),
list(NA),
list(NA, NA_integer_, a = 1)
)
badtcs <- list(
list(b = NULL, a = NA),
list(a = NA_integer_),
list(NA, c = NA_real_)
)
for (tc in goodtcs) {
expect_silent(check_named_nas(tc))
}
for (tc in badtcs) {
expect_snapshot(error = TRUE, check_named_nas(tc))
}
})
test_that(".parse_params combines list .params with ... params", {
params <- list(
.parse_params(org = "ORG", repo = "REPO", number = "1"),
.parse_params(org = "ORG", repo = "REPO", .params = list(number = "1")),
.parse_params(.params = list(org = "ORG", repo = "REPO", number = "1"))
)
expect_identical(params[[1]], params[[2]])
expect_identical(params[[2]], params[[3]])
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.