diff --git a/test/data b/test/data index 5ad14e6bd..29df37a4a 160000 --- a/test/data +++ b/test/data @@ -1 +1 @@ -Subproject commit 5ad14e6bdf2c5e6babd8ac04aa057ed6c67ac617 +Subproject commit 29df37a4a4007c5f97ea9cab7b3761a5954082f3 diff --git a/test/unit/datasource/postgis.cpp b/test/unit/datasource/postgis.cpp index f3ba58c7c..f945f3763 100644 --- a/test/unit/datasource/postgis.cpp +++ b/test/unit/datasource/postgis.cpp @@ -185,6 +185,24 @@ TEST_CASE("postgis") { CHECK(ds->get_geometry_type() == mapnik::datasource_geometry_t::Point); } + SECTION("Postgis properly escapes names with single quotes") + { + mapnik::parameters params(base_params); + params["table"] = "\"test'single'quotes\""; + auto ds = mapnik::datasource_cache::instance().create(params); + REQUIRE(ds != nullptr); + CHECK(ds->get_geometry_type() == mapnik::datasource_geometry_t::Point); + } + + SECTION("Postgis properly escapes names with double quotes") + { + mapnik::parameters params(base_params); + params["table"] = "\"test\"\"double\"\"quotes\""; + auto ds = mapnik::datasource_cache::instance().create(params); + REQUIRE(ds != nullptr); + CHECK(ds->get_geometry_type() == mapnik::datasource_geometry_t::Point); + } + SECTION("Postgis query field names") { mapnik::parameters params(base_params);