swh:1:snp:bdc19e867479541d0f4994ceaa711217d0dc28ed
Tip revision: 74b598025322cd572dcd58326f0c5fb465f503ab authored by Hadley Wickham on 23 June 2022, 13:00:02 UTC
version 2.0.5
version 2.0.5
Tip revision: 74b5980
test-build-home-authors.R
test_that("ORCID can be identified from all comment styles", {
desc <- desc::desc(text = c(
'Authors@R: c(',
' person("test no comment"),',
' person("test comments no orcid", comment = c("test comment no orcid")),',
' person("test bare comment", comment = "test bare comment"),',
' person("test orcid only", comment = c(ORCID = "1")),',
' person("test comment and orcid", comment = c("test comment and orcid", ORCID = "2"))',
' )'
))
authors <- unclass(desc$get_authors())
authors <- purrr::map(authors, author_list, list(), pkg = list())
orcid <- purrr::map(authors, "orcid")
expect_equal(orcid, list(NULL, NULL, NULL, orcid_link("1"), orcid_link("2")))
})
test_that("names can be removed from persons", {
remove_orcid <- function(comment) {
remove_name(comment, "ORCID")
}
expect_equal(remove_orcid(NULL), NULL)
expect_equal(remove_orcid("one"), "one")
expect_equal(remove_orcid(c("one", "two")), c("one", "two"))
expect_equal(remove_orcid(c("one", ORCID = "orcid")), "one")
expect_equal(remove_orcid(c(ORCID = "orcid")), character())
expect_equal(remove_orcid(c(ORCID = "orcid1", ORCID = "orcid2")), character())
})
test_that("author comments linkified", {
p <- list(name = "Jane Doe", roles = "rev", comment = "<https://x.org/>")
expect_match(author_desc(p), linkify("<https://x.org/>"), fixed = TRUE)
})
test_that("Data authors can accept different filtering", {
pkg <- as_pkgdown(test_path("assets/sidebar"))
expect_length(data_authors(pkg)$main, 2)
expect_length(data_authors(pkg, roles = "cre")$main, 1)
})
test_that("Text can be added", {
pkg <- as_pkgdown(test_path("assets/sidebar-comment"))
expect_null(data_authors_page(pkg)$after)
expect_null(data_authors_page(pkg)$before)
pkg$meta$authors$before <- "Dream team:"
pkg$meta$authors$after <- "You are welcome!"
expect_equal(data_authors_page(pkg)$before, "<p>Dream team:</p>")
expect_equal(data_authors_page(pkg)$after, "<p>You are welcome!</p>")
})
test_that("data_home_sidebar_authors() works with text", {
pkg <- as_pkgdown(test_path("assets/sidebar-comment"))
pkg$meta$authors$sidebar$before <- "yay"
pkg$meta$authors$sidebar$after <- "cool"
expect_snapshot(cat(data_home_sidebar_authors(pkg)))
})
test_that("role has multiple fallbacks", {
expect_equal(role_lookup("cre"), "maintainer")
expect_equal(role_lookup("res"), "researcher")
expect_snapshot(role_lookup("unknown"))
})