test_that("pkg_name_check", {
mockery::stub(
pkg_name_check,
"async_pkg_name_check",
function(...) async_constant("boo")
)
expect_equal(pkg_name_check("foobar"), "boo")
})
test_that("async_pkg_name_check", {
expect_error(sy(async_pkg_name_check(11)))
expect_error(sy(async_pkg_name_check(c("a", "b"))))
expect_error(sy(async_pkg_name_check(NA_character_)))
expect_error(sy(async_pkg_name_check("x", 11)))
expect_error(sy(async_pkg_name_check("x", NA_character_)))
calls <- 0L
fun <- function(name) calls <<- calls + 1L
mockery::stub(async_pkg_name_check, "async_pnc_basics", fun)
mockery::stub(async_pkg_name_check, "async_wikipedia_get", fun)
mockery::stub(async_pkg_name_check, "async_wiktionary_get", fun)
mockery::stub(async_pkg_name_check, "async_sentiment_get", fun)
mockery::stub(async_pkg_name_check, "async_urban_get", fun)
ans <- sy(async_pkg_name_check("foo"))
expect_s3_class(ans, "pkg_name_check")
expect_equal(sort(unlist(ans, use.names = FALSE)), 1:4)
})
# format.pkg_name_check via print
test_that("print.pkg_name_check", {
local_edition(3)
local_reproducible_output()
ans <- fixture$get({
list(
pkg_name_check("tools"),
pkg_name_check("tools", dictionaries = "urban")
)
})
expect_snapshot(print(ans[[1]]))
expect_snapshot(print(ans[[2]]))
})
test_that("async_pnc_basics", {
mockery::stub(async_pnc_basics, "async_pnc_crandb", "crandb")
mockery::stub(async_pnc_basics, "async_pnc_bioc", "bioc")
mockery::stub(async_pnc_basics, "async_profanity_get", "profanity")
ans <- sy(async_pnc_basics("name"))
expect_s3_class(ans, "pkg_name_check_basics")
expect_equal(
names(ans),
c("name", "valid", "base", "crandb", "bioc", "profanity")
)
})
test_that("forbidden_package_names", {
expect_true(is.character(forbidden_package_names()))
})
test_that("pnc_valid", {
good <- c("A3", "aa", "a.3", "foo.bar.foobar")
bad <- c("3aaa", "a.", "aaaa.", "aaa-bbb", "description", "ff\u00e1f")
for (c in good) expect_true(pnc_valid(c))
for (c in bad) expect_false(pnc_valid(c))
mockery::stub(pnc_valid, "grepl", TRUE)
expect_false(pnc_valid("ff\u00e1f"))
})
test_that("pnc_base", {
local_edition(3)
local_reproducible_output()
expect_snapshot(pnc_base("base"))
expect_snapshot(pnc_base("Base"))
expect_snapshot(pnc_base("TOOLS"))
expect_snapshot(pnc_base("definitely-not"))
})
test_that("async_cranlike_check", {
## TODO: need a CRAN dummy for this
})
test_that("format.pkg_name_basics", {
local_edition(3)
local_reproducible_output()
bss <- fixture$get({
list(
sy(async_pnc_basics("pwr")),
sy(async_pnc_basics(paste0("s", "h", "i", "t")))
)
})
expect_snapshot({
writeLines(format(bss[[1]]))
writeLines(format(bss[[2]]))
})
})
test_that("crandb_check", {
if (Sys.getenv("PKG_NAME_CHECK_REAL") == "") {
withr::local_envvar(PKG_NAME_CHECK_CRANDB_URL = check_app$url("/crandb"))
}
res <- synchronize(when_all(
good = async_pnc_crandb("no-such-package"),
bad = async_pnc_crandb("dbi"),
bad2 = async_pnc_crandb("DBI"),
bad3 = async_pnc_crandb("Dbi")
))
expect_true(res$good$crandb)
expect_false(res$bad$crandb)
expect_false(res$bad2$crandb)
expect_false(res$bad3$crandb)
expect_null(res$good$package)
expect_equal(res$bad$package, "DBI")
expect_equal(res$bad2$package, "DBI")
expect_equal(res$bad2$package, "DBI")
lapply(res, expect_s3_class, "pkg_name_check_crandb")
})
test_that("async_wikipedia_get", {
withr::local_envvar(PKG_NAME_CHECK_WIKIPEDIA_URL = check_app$url("/wikipedia"))
ret <- synchronize(async_wikipedia_get("foobar"))
expect_equal(ret$term, "foobar")
expect_equal(ret$normalized, "Foobar")
})
test_that("async_wikipedia_get_query", {
local_edition(3)
local_reproducible_output()
withr::local_envvar(PKG_NAME_CHECK_WIKIPEDIA_URL = check_app$url("/echo"))
ret <- synchronize(async_wikipedia_get_query("foobar"))
expect_snapshot(show_request(ret))
})
# make_wikipedia_data
# wikipedia_get_process
test_that("format.pkg_name_check_wikipedia", {
local_edition(3)
local_reproducible_output()
wpd <- fixture$get({
list(
sy(async_wikipedia_get("cli")),
sy(async_wikipedia_get("surely-not-this")),
sy(async_wikipedia_get("GNU R"))
)
})
expect_snapshot({
writeLines(format(wpd[[1]]))
writeLines(format(wpd[[2]]))
writeLines(format(wpd[[3]]))
})
})
# clean_wikipedia_text
test_that("async_wiktionary_get", {
local_edition(3)
local_reproducible_output()
resp <- fixture$get({
sy(async_wiktionary_get_query("foobar"))
})
mockery::stub(
async_wiktionary_get,
"async_wiktionary_get_query",
function(...) async_constant(resp)
)
ans <- sy(async_wiktionary_get("foobar"))
expect_s3_class(ans, "pkg_name_check_wiktionary")
expect_s3_class(ans, "tbl")
expect_snapshot(print(ans))
})
test_that("async_wiktionary_get_query", {
local_edition(3)
local_reproducible_output()
withr::local_envvar(PKG_NAME_CHECK_WIKTIONARY_URL = check_app$url("/echo"))
ret <- synchronize(async_wiktionary_get_query("foobar"))
expect_snapshot(show_request(ret))
})
test_that("wiktionary_get_process", {
resp <- fixture$get({
sy(async_wiktionary_get_query("foobar"))
})
ans <- wiktionary_get_process("foobar", resp)
expect_s3_class(ans, "pkg_name_check_wiktionary")
expect_s3_class(ans, "tbl")
expect_match(ans$text, "== English ==")
})
test_that("format.pkg_name_check_wiktionary", {
local_edition(3)
local_reproducible_output()
resp <- fixture$get({
sy(async_wiktionary_get_query("foobar"))
})
resp2 <- fixture$get({
sy(async_wiktionary_get_query("not-at-all-sdfsdfsdf"))
})
ans <- wiktionary_get_process("foobar", resp)
ans2 <- wiktionary_get_process("not-at-all-sdfsdfsdf", resp2)
expect_snapshot({
writeLines(format(ans))
writeLines(format(ans2))
})
})
# clean_wiktionary_text
test_that("async_profanity_get", {
resp <- fixture$get({
sy(async_profanity_get_query("nope"))
})
mockery::stub(
async_profanity_get,
"async_profanity_get_query",
function(...) async_constant(resp)
)
ans <- sy(async_profanity_get("nope"))
expect_s3_class(ans, "pkg_name_check_profanity")
expect_false(ans)
})
test_that("async_profanity_get_query", {
local_edition(3)
local_reproducible_output()
withr::local_envvar(PKG_NAME_CHECK_PROFANITY_URL = check_app$url("/echo"))
ret <- synchronize(async_profanity_get_query("foobar"))
expect_snapshot(show_request(ret))
})
test_that("profanity_get_process", {
resp <- fixture$get({
sy(async_profanity_get_query("nope"))
})
ans <- profanity_get_process("nope", resp)
expect_s3_class(ans, "pkg_name_check_profanity")
expect_false(ans)
})
sentiment_ex <- function() c(abuse = -3, irony = -1, xo = 3, xoxoxo = 4)
test_that("async_sentiment_get", {
expect_true(is.logical(sentiment_get_has_data()))
mockery::stub(async_sentiment_get, "sentiment_get_has_data", FALSE)
mockery::stub(
async_sentiment_get,
"async_sentiment_get_data",
function(...) async_constant(sentiment_ex())
)
ans <- sy(async_sentiment_get("xo"))
expect_equal(
ans,
structure(c(xo = 3), class = c("pkg_name_check_sentiment", "numeric"))
)
mockery::stub(async_sentiment_get, "sentiment_get_has_data", TRUE)
mockery::stub(
async_sentiment_get,
"async_constant",
function(...) async_constant(sentiment_ex())
)
ans <- sy(async_sentiment_get("xo"))
})
test_that("async_sentiment_get_data", {
withr::local_envvar(
PKG_NAME_CHECK_SENTIMENT_URL = check_app$url("/sentiment")
)
ans <- sy(async_sentiment_get_data())
pkgd_data$sentiment <- NULL
expect_equal(ans, sentiment_ex())
})
test_that("sentiment_string", {
local_reproducible_output()
expect_true(is_ascii(sentiment_string(1)))
mockery::stub(sentiment_string, "has_emoji", TRUE)
expect_false(is_ascii(sentiment_string(1)))
})
test_that("format.pkg_name_check_sentiment", {
local_edition(3)
local_reproducible_output()
mockery::stub(async_sentiment_get, "sentiment_get_has_data", FALSE)
withr::local_envvar(
PKG_NAME_CHECK_SENTIMENT_URL = check_app$url("/sentiment")
)
ans1 <- sy(async_sentiment_get("xo"))
ans2 <- sy(async_sentiment_get("something"))
pkgd_data$sentiment <- NULL
expect_snapshot({
writeLines(format(ans1))
writeLines(format(ans2))
})
})
test_that("async_urban_get", {
local_edition(3)
local_reproducible_output()
mockery::stub(async_urban_get, "async_urban_get_query", function(...) {
async_constant(fixture$get({
sy(async_urban_get_query("tool"))
}))
})
ans <- sy(async_urban_get("tool"))
expect_s3_class(ans, "pkg_name_check_urban")
expect_s3_class(ans, "tbl")
expect_snapshot(ans)
})
test_that("async_urban_get_query", {
local_edition(3)
local_reproducible_output()
withr::local_envvar(PKG_NAME_CHECK_URBAN_URL = check_app$url("/echo/"))
ret <- synchronize(async_urban_get_query("foobar"))
expect_snapshot(show_request(ret))
})
test_that("urban_get_process", {
local_edition(3)
local_reproducible_output()
resp <- fixture$get({
sy(async_urban_get_query("tool"))
})
ans <- urban_get_process("tool", resp)
expect_s3_class(ans, "pkg_name_check_urban")
expect_s3_class(ans, "tbl")
expect_snapshot(ans)
})
test_that("format.pkg_name_check_urban", {
local_edition(3)
local_reproducible_output()
ans <- fixture$get({
sy(async_urban_get("tool"))
})
ans2 <- fixture$get({
sy(async_urban_get("not-this-one-asdfsf"))
})
expect_snapshot(writeLines(format(ans)))
expect_snapshot(writeLines(format(ans2)))
ans <- ans[1,]
ans$definition[1] <- paste(rep(ans$definition[1], 10), collapse = "\n")
expect_snapshot(writeLines(format(ans)))
})
test_that("clean_urban", {
expect_equal(clean_urban("foo \r\n\r\n bar"), "foo bar")
expect_equal(clean_urban("foo \r\n\n bar"), "foo bar")
expect_equal(clean_urban("foo \n\n bar"), "foo bar")
})
test_that("async_pnc_bioc", {
expect_equal(sy(async_pnc_bioc("bim")), sy(pnc_bioc_false("bim")))
expect_equal(sy(async_pnc_bioc("yeast2")), sy(pnc_bioc_false("yeast2")))
mockery::stub(
async_pnc_bioc,
"async_pnc_bioc_web",
function(...) async_constant(pnc_bioc_false("Biobase"))
)
expect_equal(sy(async_pnc_bioc("Biobase")), sy(pnc_bioc_false("Biobase")))
})
# "pnc_bioc_false"
test_that("async_pnc_bioc_web", {
local_edition(3)
local_reproducible_output()
response <- fixture$get({
sy(async_pnc_bioc_query("all"))
})
mockery::stub(
async_pnc_bioc_web,
"async_pnc_bioc_query",
function(...) async_constant(response)
)
ans <- sy(async_pnc_bioc_web("all"))
expect_snapshot(ans)
})
test_that("pnc_bioc_query", {
local_edition(3)
local_reproducible_output()
withr::local_envvar(
PKG_NAME_CHECK_BIOC_URL = check_app$url("/bioc/")
)
mockery::stub(
async_pnc_bioc_query,
"pkgcache::bioc_repos",
list(BioCann = check_app$url("/biocann/"))
)
ans <- pnc_bioc_process("all", sy(async_pnc_bioc_query("all")))
ans2 <- pnc_bioc_process("Agcdf", sy(async_pnc_bioc_query("Agcdf")))
ans3 <- pnc_bioc_process("axx", sy(async_pnc_bioc_query("axx")))
expect_snapshot(ans)
expect_snapshot(ans2)
expect_snapshot(ans3)
})
test_that("pnc_bioc_process", {
response <- fixture$get({
sy(async_pnc_bioc_query("all"))
})
ans <- pnc_bioc_process("all", response)
expect_s3_class(ans, "pkg_name_check_bioc")
expect_false(ans$bioc)
expect_equal(ans$package, "ALL")
})
test_that("pnc_bioc_parse", {
local_edition(3)
local_reproducible_output()
withr::local_envvar(
PKG_NAME_CHECK_BIOC_URL = check_app$url("/bioc/"),
PKG_NAME_CHECK_BIOC_ANN_URL = check_app$url("/biocann/src/contrib/PACKAGES.gz")
)
pkg1 <- pnc_bioc_parse(sy(async_pnc_bioc_query("all"))[[1]])
pkg2 <- pnc_bioc_parse(sy(async_pnc_bioc_query("all"))[[2]])
expect_snapshot(pkg1)
expect_snapshot(pkg2)
})
test_that("pnc_bioc_parse_pgz", {
local_edition(3)
local_reproducible_output()
withr::local_envvar(
PKG_NAME_CHECK_BIOC_URL = check_app$url("/bioc/"),
PKG_NAME_CHECK_BIOC_ANN_URL = check_app$url("/biocann/src/contrib/PACKAGES.gz")
)
pkg <- pnc_bioc_parse_pgz(sy(async_pnc_bioc_query("all"))[[3]])
expect_snapshot(pkg)
})
test_that("pnc_bioc_removed", {
expect_true(is.character(pnc_bioc_removed()))
})
test_that("pnc_bioc_old_annotation", {
expect_true(is.character(pnc_bioc_old_annotation()))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.