test_that("dependent_packages", {
ins <- readRDS("fixtures/installed.rda")
dep <- readRDS("fixtures/devtools-deps.rda")
alldsc <- readRDS("fixtures/descs.rda")
local_mocked_bindings(installed.packages = function() ins, .package = "utils")
local_mocked_bindings(pkg_desc = function(x) alldsc[[x]])
local_mocked_bindings(loadedNamespaces = function() ins)
local_mocked_bindings(getNamespaceVersion = function(x) alldsc[[x]]$Version)
local_mocked_bindings(
search = function() paste0("package:", dep$package[dep$attached])
)
local_mocked_bindings(getNamespaceInfo = function(x, ...) alldsc[[x]]$Version)
exp <- dep[, setdiff(colnames(dep), c("path", "loadedpath"))]
tec <- dependent_packages("devtools", NA)
tec <- tec[, setdiff(colnames(tec), c("path", "loadedpath"))]
expect_equal(exp, tec)
})
test_that("pkg_path_disk", {
p1 <- pkg_path_disk(utils::packageDescription("stats"))
expect_equal(
read.dcf(file.path(p1, "DESCRIPTION"))[, "Package"],
c(Package = "stats")
)
})
test_that("find_deps", {
ins <- readRDS("fixtures/installed.rda")
expect_equal(
sort_ci(find_deps("devtools", ins)),
sort_ci(
c(
"devtools",
"callr",
"httr",
"utils",
"tools",
"methods",
"memoise",
"whisker",
"digest",
"rstudioapi",
"jsonlite",
"stats",
"git2r",
"withr",
"pkgbuild",
"pkgload",
"curl",
"crayon",
"testthat",
"BiocInstaller",
"Rcpp",
"MASS",
"rmarkdown",
"knitr",
"hunspell",
"lintr",
"bitops",
"roxygen2",
"evaluate",
"rversions",
"covr",
"gmailr",
"processx",
"R6",
"assertthat",
"debugme",
"grDevices",
"graphics",
"mime",
"openssl",
"desc",
"rprojroot",
"backports",
"praise",
"magrittr",
"xml2",
"BH",
"yaml",
"htmltools",
"caTools",
"base64enc",
"stringr",
"highr",
"markdown",
"stringi",
"rex",
"codetools",
"stringdist",
"xmlparsedata",
"lazyeval",
"parallel",
"brew",
"commonmark"
)
)
)
## An edge case
expect_equal(
find_deps("foobar", top_dep = character(), rec_dep = character()),
"foobar"
)
})
test_that("find_deps", {
ins <- readRDS("fixtures/installed.rda")
expect_equal(
find_deps("devtools", ins, top_dep = FALSE),
character()
)
})
test_that("dep_types", {
skip_on_cran()
withr::local_options(repos = c(CRAN = "https://cloud.r-project.org"))
expect_silent(
tools::package_dependencies("sessioninfo", which = dep_types())
)
})
test_that("interpret_dependencies", {
skip_on_cran()
withr::local_options(repos = c(CRAN = "https://cloud.r-project.org"))
expect_silent(
tools::package_dependencies(
"sessioninfo",
which = interpret_dependencies(TRUE)[[1]]
)
)
expect_silent(
tools::package_dependencies(
"sessioninfo",
which = interpret_dependencies(TRUE)[[2]]
)
)
expect_equal(
interpret_dependencies(FALSE),
list(character(), character())
)
expect_silent(
tools::package_dependencies(
"sessioninfo",
which = interpret_dependencies(NA)[[1]]
)
)
expect_silent(
tools::package_dependencies(
"sessioninfo",
which = interpret_dependencies(NA)[[2]]
)
)
expect_equal(
interpret_dependencies("Depends"),
list("Depends", "Depends")
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.