test_that("desc_add_author", {
d <- temp_desc()
on.exit(unlink(d))
x <- desc_add_author(file = d, "Bunny", "Bugs", "bugs.bunny@acme.com")
expect_match(desc_get(file = d, "Authors@R"), "Bunny")
})
test_that("desc_add_me", {
withr::local_envvar(
FULLNAME = "First Last",
EMAIL = "first.last@dom.com"
)
d <- temp_desc()
on.exit(unlink(d))
desc_add_me(file = d)
expect_match(desc_get(file = d, "Authors@R"), "First")
expect_match(desc_get(file = d, "Authors@R"), "first.last@dom.com")
})
test_that("desc_add_author_gh", {
withr::local_options(
desc.gh_user = list(name = "Jeroen Ooms", email = "notanemail")
)
d <- temp_desc()
on.exit(unlink(d))
desc_add_author_gh(file = d,
username = "jeroen")
expect_match(desc_get(file = d, "Authors@R"), "Jeroen")
expect_match(desc_get(file = d, "Authors@R"), "notanemail")
})
test_that("desc_add_role", {
d <- temp_desc()
on.exit(unlink(d))
x <- desc_add_role(file = d, "ctb", given = "Manuel")
expect_match(
as.character(desc_get_author(file = d, role = "ctb")),
"Manuel"
)
})
test_that("desc_add_to_collate et al.", {
d <- temp_desc()
on.exit(unlink(d))
expect_true("roxygenize.R" %in% desc_get_collate(file = d))
x <- desc_del_from_collate(file = d, "roxygenize.R")
expect_false("roxygenize.R" %in% desc_get_collate(file = d))
x <- desc_add_to_collate(file = d, "roxygenize.R")
expect_true("roxygenize.R" %in% desc_get_collate(file = d))
})
test_that("desc_get_maintainer, desc_change_maintainer", {
d <- temp_desc()
on.exit(unlink(d))
expect_match(
as.character(desc_get_maintainer(file = d)),
"Hadley"
)
x <- desc_change_maintainer(file = d, given = "Peter")
expect_match(
as.character(desc_get_maintainer(file = d)),
"Peter"
)
})
test_that("desc_set, desc_get, desc_del", {
d <- temp_desc()
on.exit(unlink(d))
expect_equal(
desc_get(file = d, c("Package", "Version")),
c(Package = "roxygen2", Version = "4.1.1.9000")
)
desc_set(file = d, Package = "foobar")
expect_equal(
desc_get(file = d, c("Package", "Version")),
c(Package = "foobar", Version = "4.1.1.9000")
)
})
test_that("desc_del_author", {
d <- temp_desc()
on.exit(unlink(d))
desc_del_author(file = d, given = "Peter")
expect_false(
any(grepl("Peter", as.character(desc_get_authors(file = d))))
)
})
test_that("desc_del_collate", {
d <- temp_desc()
on.exit(unlink(d))
desc_del_collate(file = d)
expect_equal(
desc_get(file = d, "Collate"),
c(Collate = NA_character_)
)
})
test_that("desc_del_dep", {
d <- temp_desc()
on.exit(unlink(d))
expect_true(
"testthat" %in% desc_get_deps(file = d)$package
)
desc_del_dep(file = d, "testthat")
expect_false(
"testthat" %in% desc_get_deps(file = d)$package
)
})
test_that("desc_del_deps", {
d <- temp_desc()
on.exit(unlink(d))
desc_del_deps(file = d)
expect_equal(nrow(desc_get_deps(file = d)), 0)
})
test_that("desc_del_role", {
d <- temp_desc()
on.exit(unlink(d))
desc_del_role(file = d, "aut", given = "Manuel")
expect_false(
any(grepl("Manuel", desc_get_author(file = d, role = "aut")))
)
})
test_that("desc_fields", {
d <- temp_desc()
on.exit(unlink(d))
expect_true(
all(c("Package", "Title", "Version", "URL", "Collate") %in%
desc_fields(file = d))
)
})
test_that("desc_has_fields", {
d <- temp_desc()
on.exit(unlink(d))
expect_equal(
desc_has_fields(file = d, c("Package", "foobar", "Collate")),
c(TRUE, FALSE, TRUE)
)
})
test_that("desc_normalize", {
d <- temp_desc()
on.exit(unlink(d))
desc <- description$new(d)
desc_normalize(file = d)
desc$normalize()
d2 <- tempfile()
on.exit(unlink(d2), add = TRUE)
desc$write(d2)
expect_equal(readLines(d), readLines(d2))
})
test_that("desc_print", {
d <- temp_desc()
on.exit(unlink(d))
capt <- capture.output(description$new(test_path("D2"))$print())
expect_output(
desc_print(file = d),
paste(capt, collapse = "\n"),
fixed = TRUE
)
})
test_that("desc_reformat_fields", {
d <- temp_desc()
on.exit(unlink(d))
desc_reformat_fields(file = d)
expect_equal(
desc_get(file = d, "Description"),
description$new(test_path("D2"))$reformat_fields()$get("Description")
)
})
test_that("desc_reorder_fields", {
d <- temp_desc()
on.exit(unlink(d))
desc_reorder_fields(file = d)
expect_equal(
desc_fields(file = d),
c("Package", "Title", "Version", "Authors@R", "Description",
"License", "URL", "Depends", "Imports", "Suggests", "LinkingTo",
"VignetteBuilder", "Remotes", "Encoding", "RoxygenNote", "Collate")
)
})
test_that("desc_set_authors", {
d <- temp_desc(test_path("D1"))
on.exit(unlink(d))
desc_set_authors(file = d, desc_get_authors(file = test_path("D2")))
expect_equal(
desc_get_authors(file = d),
desc_get_authors(test_path("D2"))
)
})
test_that("desc_set_collate", {
d <- temp_desc()
on.exit(unlink(d))
desc_set_collate(file = d, c("foo.R", "bar.R"))
expect_equal(
desc_get_collate(file = d),
c("foo.R", "bar.R")
)
})
test_that("desc_set_dep", {
d <- temp_desc()
on.exit(unlink(d))
desc_set_dep(file = d, "foobar", type = "Suggests")
expect_true(
"foobar" %in% desc_get_deps(file = d)$package
)
})
test_that("desc_set_deps", {
d <- temp_desc()
on.exit(unlink(d))
desc_set_deps(file = d, desc_get_deps(file = test_path("D1")))
expect_equal(
desc_get_deps(file = d),
desc_get_deps(file = test_path("D1"))
)
})
test_that("desc_to_latex", {
expect_equal(
desc_to_latex(file = test_path("D2")),
description$new(test_path("D2"))$to_latex()
)
})
test_that("desc_validate", {
expect_warning(
desc_validate(file = test_path("D1")),
"not implemented"
)
})
test_that("can write back automatically found DESCRIPTION file", {
dir.create(tmp <- tempfile())
file.copy(file.path("files", "DESCRIPTION"), tmp)
withr::with_dir(
tmp,
desc_set_dep("somepackage", "Suggests")
)
expect_true("somepackage" %in% desc_get_deps(file = tmp)$package)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.