init
This commit is contained in:
commit
116abafc09
58 changed files with 5749 additions and 0 deletions
74
tests/testthat/test-addProtomaps.R
Normal file
74
tests/testthat/test-addProtomaps.R
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
test_that("protomaps_url requires API key", {
|
||||
# Clear any existing env var
|
||||
|
||||
old_key <- Sys.getenv("PROTOMAPS_API_KEY")
|
||||
Sys.unsetenv("PROTOMAPS_API_KEY")
|
||||
on.exit(Sys.setenv(PROTOMAPS_API_KEY = old_key))
|
||||
|
||||
expect_error(protomaps_url(), "API key required")
|
||||
})
|
||||
|
||||
test_that("protomaps_url accepts direct API key", {
|
||||
url <- protomaps_url(api_key = "test-key")
|
||||
expect_true(grepl("api.protomaps.com", url))
|
||||
expect_true(grepl("\\{z\\}/\\{x\\}/\\{y\\}", url))
|
||||
expect_true(grepl("key=test-key", url))
|
||||
})
|
||||
|
||||
test_that("protomaps_url uses environment variable", {
|
||||
old_key <- Sys.getenv("PROTOMAPS_API_KEY")
|
||||
Sys.setenv(PROTOMAPS_API_KEY = "env-test-key")
|
||||
on.exit(Sys.setenv(PROTOMAPS_API_KEY = old_key))
|
||||
|
||||
url <- protomaps_url()
|
||||
expect_true(grepl("key=env-test-key", url))
|
||||
})
|
||||
|
||||
test_that("set_protomaps_key sets environment variable", {
|
||||
old_key <- Sys.getenv("PROTOMAPS_API_KEY")
|
||||
on.exit(Sys.setenv(PROTOMAPS_API_KEY = old_key))
|
||||
|
||||
expect_message(set_protomaps_key("my-key"), "API key set")
|
||||
expect_equal(Sys.getenv("PROTOMAPS_API_KEY"), "my-key")
|
||||
})
|
||||
|
||||
test_that("protomaps_demo_url is deprecated", {
|
||||
expect_warning(protomaps_demo_url(api_key = "test"), "deprecated")
|
||||
})
|
||||
|
||||
test_that("protomapsOptions creates correct structure", {
|
||||
opts <- protomapsOptions(maxDataZoom = 14, tileSize = 512)
|
||||
expect_equal(opts$maxDataZoom, 14)
|
||||
expect_equal(opts$tileSize, 512)
|
||||
})
|
||||
|
||||
test_that("protomapsOptions handles debug mode", {
|
||||
opts <- protomapsOptions(debug = TRUE)
|
||||
expect_true(opts$debug)
|
||||
})
|
||||
|
||||
test_that("protomapsDependency returns htmlDependency", {
|
||||
dep <- protomapsDependency()
|
||||
expect_s3_class(dep, "html_dependency")
|
||||
expect_equal(dep$name, "protomaps-leaflet")
|
||||
})
|
||||
|
||||
test_that("addProtomaps returns modified leaflet map", {
|
||||
skip_if_not_installed("leaflet")
|
||||
|
||||
map <- leaflet::leaflet()
|
||||
# Use mock URL to avoid API key requirement
|
||||
result <- addProtomaps(map, url = "https://example.com/tiles.pmtiles")
|
||||
|
||||
expect_s3_class(result, "leaflet")
|
||||
})
|
||||
|
||||
test_that("addProtomaps validates flavor argument", {
|
||||
skip_if_not_installed("leaflet")
|
||||
|
||||
map <- leaflet::leaflet()
|
||||
expect_error(
|
||||
addProtomaps(map, url = "https://example.com/tiles.pmtiles", flavor = "invalid"),
|
||||
"should be one of"
|
||||
)
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue