diff --git a/R/geotargets-option.R b/R/geotargets-option.R index b8c7d8a..04ef3dd 100644 --- a/R/geotargets-option.R +++ b/R/geotargets-option.R @@ -38,10 +38,10 @@ geotargets_option_set <- function( ) { options( - "geotargets.gdal.raster.driver" = gdal_raster_driver, - "geotargets.gdal.raster.creation.options" = gdal_raster_creation_options, - "geotargets.gdal.vector.driver" = gdal_raster_creation_options, - "geotargets.gdal.vector.creation.options" = gdal_raster_creation_options + "geotargets.gdal.raster.driver" = gdal_raster_driver %||% geotargets_option_get("gdal.raster.driver"), + "geotargets.gdal.raster.creation.options" = gdal_raster_creation_options %||% geotargets_option_get("gdal.raster.creation.options"), + "geotargets.gdal.vector.driver" = gdal_vector_driver %||% geotargets_option_get("gdal.vector.driver"), + "geotargets.gdal.vector.creation.options" = gdal_vector_creation_options %||% geotargets_option_get("gdal.vector.creation.options") ) } diff --git a/tests/testthat/test-geotargets-option.R b/tests/testthat/test-geotargets-option.R index 0d160f4..fef5fff 100644 --- a/tests/testthat/test-geotargets-option.R +++ b/tests/testthat/test-geotargets-option.R @@ -25,3 +25,9 @@ test_that("geotargets_option_set() works", { expect_equal(geotargets_option_get("gdal_raster_driver"), "COG") }) +test_that("options aren't reset with multiple calls to geotargets_option_set()", { + geotargets_option_set(gdal_raster_driver = "GPKG") + geotargets_option_set(gdal_vector_driver = "GPKG") + expect_equal(geotargets_option_get("gdal_vector_driver"), "GPKG") + expect_equal(geotargets_option_get("gdal_raster_driver"), "GPKG") +})