Nothing
test_that("gui_parse_breaks parses input correctly", {
expect_equal(gui_parse_breaks("5, 10, 15"), c(5, 10, 15))
expect_equal(gui_parse_breaks(""), c(5, 10, 15))
expect_equal(gui_parse_breaks(NULL), c(5, 10, 15))
expect_equal(gui_parse_breaks("5"), 5)
expect_equal(gui_parse_breaks("10, 5, 15, 15"), c(5, 10, 15))
expect_equal(gui_parse_breaks("5, abc, 10"), c(5, 10))
expect_equal(gui_parse_breaks("abc"), c(5, 10, 15))
expect_equal(gui_parse_breaks(" 12 , 24 "), c(12, 24))
})
test_that("gui_resolve_map_view resolves center and zoom", {
# Direct center and zoom
res <- gui_resolve_map_view(center = c(10, 20), zoom = 5, input_osrm = NULL)
expect_equal(res$center, c(10, 20))
expect_equal(res$zoom, 5)
# Named list for center
res2 <- gui_resolve_map_view(center = list(lng = 10, lat = 20), zoom = 5, input_osrm = NULL)
expect_equal(res2$center, c(10, 20))
res3 <- gui_resolve_map_view(center = list(lon = 10, lat = 20), zoom = 5, input_osrm = NULL)
expect_equal(res3$center, c(10, 20))
res4 <- gui_resolve_map_view(center = list(x = 10, y = 20), zoom = 5, input_osrm = NULL)
expect_equal(res4$center, c(10, 20))
# Invalid center
expect_error(gui_resolve_map_view(center = c(10), zoom = 5, input_osrm = NULL), "numeric vector of length 2")
expect_warning(
expect_error(gui_resolve_map_view(center = c("a", "b"), zoom = 5, input_osrm = NULL), "numeric vector of length 2"),
"NAs introduced by coercion"
)
})
test_that("gui_setup_server error handling works", {
expect_error(gui_setup_server(NULL, port = "invalid"), "Invalid port specified")
expect_error(gui_setup_server(NULL, port = -5), "Invalid port specified")
# Mock dead process
dummy_proc <- structure(list(is_alive = function() FALSE), class = "process")
expect_error(gui_setup_server(dummy_proc, port = 5000), "The provided OSRM server process is not running")
# Mock alive process with auto port
dummy_proc2 <- structure(list(is_alive = function() TRUE), class = "process")
expect_error(gui_setup_server(dummy_proc2, port = "auto"), "specify the port explicitly")
})
test_that("gui_check_dependencies checks required packages", {
skip_if_not_installed("osrm")
skip_if_not_installed("DT")
skip_if_not_installed("shiny")
skip_if_not_installed("mapgl")
skip_if_not_installed("sf")
skip_if_not_installed("viridisLite")
expect_silent(gui_check_dependencies())
})
test_that("osrm_gui prepares arguments and handles missing servers", {
skip_if_not_installed("osrm")
skip_if_not_installed("DT")
skip_if_not_installed("shiny")
skip_if_not_installed("mapgl")
skip_if_not_installed("sf")
skip_if_not_installed("viridisLite")
# When no servers are running, port='auto' throws error
local_mocked_bindings(
osrm_servers = function() {
data.frame(
name = character(),
port = integer(),
pid = integer(),
alive = logical(),
input_osm = character(),
started_at = .POSIXct(double(0)),
stringsAsFactors = FALSE
)
}
)
expect_error(osrm_gui(), "No running OSRM servers detected")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.