From 2503b4b7709eee55e83bf7deff93558d230eb3be Mon Sep 17 00:00:00 2001 From: Barret Schloerke Date: Wed, 18 Mar 2026 12:41:25 -0400 Subject: [PATCH 1/2] chore: 2026 upkeep (closes #47) - Add Posit ROR identifier to DESCRIPTION - Align test file names with R/ source files - Merge test-get_providers.R and test-providers_default.R into test-get_current_providers.R Co-Authored-By: Claude Opus 4.6 --- DESCRIPTION | 3 +- ...default.R => test-get_current_providers.R} | 62 +++++++++++++++ tests/testthat/test-get_providers.R | 75 ------------------- 3 files changed, 64 insertions(+), 76 deletions(-) rename tests/testthat/{test-providers_default.R => test-get_current_providers.R} (59%) delete mode 100644 tests/testthat/test-get_providers.R diff --git a/DESCRIPTION b/DESCRIPTION index e482911..364367c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -8,7 +8,8 @@ Authors@R: c( comment = c(ORCID = "0000-0001-9986-114X")), person("Leaflet Providers contributors", role = c("ctb", "cph"), comment = "Leaflet Providers plugin"), - person("Posit Software, PBC", role = c("cph", "fnd")) + person("Posit Software, PBC", role = c("cph", "fnd"), + comment = c(ROR = "https://ror.org/03wc8by49")) ) Description: Contains third-party map tile provider information from 'Leaflet.js', , diff --git a/tests/testthat/test-providers_default.R b/tests/testthat/test-get_current_providers.R similarity index 59% rename from tests/testthat/test-providers_default.R rename to tests/testthat/test-get_current_providers.R index 5b323b2..44a8dda 100644 --- a/tests/testthat/test-providers_default.R +++ b/tests/testthat/test-get_current_providers.R @@ -73,3 +73,65 @@ test_that("leaflet_providers_dependency_url() creates href-based dependency", { expect_identical(dep$src[["href"]], "https://example.com") expect_null(dep$package) }) + +test_that("get_providers() rejects versions before 1.0.10", { + expect_error(get_providers("1.0.0"), "must be >= '1.0.10'") + expect_error(get_providers("1.0.8"), "must be >= '1.0.10'") + expect_error(get_providers("0.9.0"), "must be >= '1.0.10'") +}) + +test_that("get_providers() fetches current version", { + skip_on_cran() + skip_if_not_installed("V8") + skip_if_not_installed("jsonlite") + + result <- get_providers() + expect_s3_class(result, "leaflet_providers") + expect_gt(length(result$providers), 150) + expect_gt(nchar(result$src), 0) + expect_s3_class(result$dep, "html_dependency") +}) + +test_that("get_providers() works for multiple versions", { + skip_on_cran() + skip_if_not_installed("V8") + skip_if_not_installed("jsonlite") + + # Works from v1.0.10+; v1.0.0-1.0.8 used a different JS structure. + # Latest patch of each minor version line. + versions <- c( + "1.0.29", + "1.1.17", + "1.2.0", + "1.3.1", + "1.4.0", + "1.5.0", + "1.6.0", + "1.7.0", + "1.8.0", + "1.9.1", + "1.10.2", + "1.11.0", + "1.12.0", + "1.13.0", + "2.0.0", + "3.0.0" + ) + + for (ver in versions) { + info <- paste0("version: ", ver) + result <- get_providers(ver) + expect_true(inherits(result, "leaflet_providers"), info = info) + expect_equal(result$version_num, ver, info = info) + expect_gt( + length(result$providers), + 10, + label = paste(ver, "providers count") + ) + expect_gt(nchar(result$src), 1000, label = paste(ver, "src length")) + expect_true( + !is.null(result$providers_details[["OpenStreetMap"]]), + info = paste(ver, "has OpenStreetMap") + ) + } +}) diff --git a/tests/testthat/test-get_providers.R b/tests/testthat/test-get_providers.R deleted file mode 100644 index 1747e07..0000000 --- a/tests/testthat/test-get_providers.R +++ /dev/null @@ -1,75 +0,0 @@ -test_that("providers_default() returns valid structure", { - default <- providers_default() - expect_s3_class(default, "leaflet_providers") - expect_named( - default, - c("version_num", "providers", "providers_details", "src", "dep"), - ignore.order = TRUE - ) - expect_equal(default$version_num, providers_version_num) - expect_gt(length(default$providers), 150) - expect_gt(nchar(default$src), 0) - expect_s3_class(default$dep, "html_dependency") -}) - -test_that("get_providers() rejects versions before 1.0.10", { - expect_error(get_providers("1.0.0"), "must be >= '1.0.10'") - expect_error(get_providers("1.0.8"), "must be >= '1.0.10'") - expect_error(get_providers("0.9.0"), "must be >= '1.0.10'") -}) - -test_that("get_providers() fetches current version", { - skip_on_cran() - skip_if_not_installed("V8") - skip_if_not_installed("jsonlite") - - result <- get_providers() - expect_s3_class(result, "leaflet_providers") - expect_gt(length(result$providers), 150) - expect_gt(nchar(result$src), 0) - expect_s3_class(result$dep, "html_dependency") -}) - -test_that("get_providers() works for multiple versions", { - skip_on_cran() - skip_if_not_installed("V8") - skip_if_not_installed("jsonlite") - - # Works from v1.0.10+; v1.0.0-1.0.8 used a different JS structure. - # Latest patch of each minor version line. - versions <- c( - "1.0.29", - "1.1.17", - "1.2.0", - "1.3.1", - "1.4.0", - "1.5.0", - "1.6.0", - "1.7.0", - "1.8.0", - "1.9.1", - "1.10.2", - "1.11.0", - "1.12.0", - "1.13.0", - "2.0.0", - "3.0.0" - ) - - for (ver in versions) { - info <- paste0("version: ", ver) - result <- get_providers(ver) - expect_true(inherits(result, "leaflet_providers"), info = info) - expect_equal(result$version_num, ver, info = info) - expect_gt( - length(result$providers), - 10, - label = paste(ver, "providers count") - ) - expect_gt(nchar(result$src), 1000, label = paste(ver, "src length")) - expect_true( - !is.null(result$providers_details[["OpenStreetMap"]]), - info = paste(ver, "has OpenStreetMap") - ) - } -}) From 343a7d3c7aaa8e0c96a66f3eceb1b15dfa36141a Mon Sep 17 00:00:00 2001 From: schloerke Date: Wed, 18 Mar 2026 16:43:32 +0000 Subject: [PATCH 2/2] `devtools::document()` (GitHub Actions) --- man/leaflet.providers-package.Rd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/leaflet.providers-package.Rd b/man/leaflet.providers-package.Rd index a3648e5..2711ead 100644 --- a/man/leaflet.providers-package.Rd +++ b/man/leaflet.providers-package.Rd @@ -28,7 +28,7 @@ Authors: Other contributors: \itemize{ \item Leaflet Providers contributors (Leaflet Providers plugin) [contributor, copyright holder] - \item Posit Software, PBC [copyright holder, funder] + \item Posit Software, PBC (\href{https://ror.org/03wc8by49}{ROR}) [copyright holder, funder] } }