test_that("check_for_package works", {
expect_true(check_for_package("utils"))
expect_error(
check_for_package("foobarfoobarfoobar"),
"Package 'foobarfoobarfoobar' is needed"
)
})
test_that("is_ascii", {
expect_true(is_ascii(""))
expect_true(is_ascii("a"))
expect_true(is_ascii(rawToChar(as.raw(127))))
expect_equal(
is_ascii(character()),
logical()
)
expect_equal(
is_ascii(c("a", "b")),
c(TRUE, TRUE)
)
expect_false(is_ascii(rawToChar(as.raw(128))))
})
test_that("is_url", {
expect_true(is_url("http://acme.com"))
expect_true(is_url("https://acme.com"))
expect_true(is_url("ftp://this.is.it"))
expect_equal(is_url(character()), logical())
expect_false(is_url(""))
expect_false(is_url("this.is.not"))
expect_false(is_url("http://"))
expect_false(is_url("http:/this.is.no"))
expect_equal(
is_url(c("http://acme.com", "http://index.me")),
c(TRUE, TRUE)
)
expect_equal(
is_url(c("foo", "https://foo.bar")),
c(FALSE, TRUE)
)
})
test_that("is_url_list", {
expect_true(is_url_list(""))
expect_true(is_url_list("http://foo.bar"))
expect_false(is_url_list("this is not it"))
expect_false(is_url_list("http://so.far.so.good, oh, no!"))
})
test_that("parse_full_name works", {
# thanks charlatan::ch_name()
name <- "Chanie Reynolds"
parsed_name <- parse_full_name(name)
expect_equal(parsed_name$given, "Chanie")
expect_equal(parsed_name$family, "Reynolds")
name <- "Cathryn Schuster-Cruickshank"
parsed_name <- parse_full_name(name)
expect_equal(parsed_name$given, "Cathryn")
expect_equal(parsed_name$family, "Schuster-Cruickshank")
name <- "Petra J. Heaney"
parsed_name <- parse_full_name(name)
expect_equal(parsed_name$given, "Petra J.")
expect_equal(parsed_name$family, "Heaney")
})
test_that("deparse", {
x <- "G\u00e1bor \U1F680"
expect_equal(utf8ToInt(x), c(71L, 225L, 98L, 111L, 114L, 32L, 128640L))
dx <- fixed_deparse1(x)
expect_equal(dx, paste0("\"", x, "\""))
expect_equal(Encoding(dx), "UTF-8")
# Test in non-UTF-8 locale as well
dx2 <- callr::r(function(x) {
Sys.setlocale("LC_ALL", "C")
asNamespace("desc")$fixed_deparse1(x)
}, list(x = x))
expect_equal(dx2, paste0("\"", x, "\""))
expect_equal(Encoding(dx2), "UTF-8")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.