diff options
Diffstat (limited to 'test/unit/test_io.cpp')
| -rw-r--r-- | test/unit/test_io.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp index f9a54f3c..4e888f2c 100644 --- a/test/unit/test_io.cpp +++ b/test/unit/test_io.cpp @@ -7881,6 +7881,26 @@ TEST(io, projstringformatter_axisswap_minus_two_one_followed_two_one) { // --------------------------------------------------------------------------- +TEST(io, projstringformatter_axisswap_two_minus_one_followed_minus_two_one) { + auto fmt = PROJStringFormatter::create(); + fmt->ingestPROJString("+proj=pipeline " + "+step +proj=axisswap +order=2,-1 " + "+step +proj=axisswap +order=-2,1"); + EXPECT_EQ(fmt->toString(), "+proj=noop"); +} + +// --------------------------------------------------------------------------- + +TEST(io, projstringformatter_axisswap_two_minus_one_followed_one_minus_two) { + auto fmt = PROJStringFormatter::create(); + fmt->ingestPROJString("+proj=pipeline " + "+step +proj=axisswap +order=2,-1 " + "+step +proj=axisswap +order=1,-2"); + EXPECT_EQ(fmt->toString(), "+proj=axisswap +order=2,1"); +} + +// --------------------------------------------------------------------------- + TEST(io, projstringformatter_unmodified) { const char *const strs[] = {"+proj=pipeline " "+step +proj=axisswap +order=2,-1 " @@ -10495,6 +10515,8 @@ TEST(io, createFromUserInput) { EXPECT_NO_THROW(createFromUserInput("epsg:4326", dbContext)); EXPECT_NO_THROW( createFromUserInput("urn:ogc:def:crs:EPSG::4326", dbContext)); + EXPECT_NO_THROW( + createFromUserInput("urn:ogc:def:crs:EPSG:10:4326", dbContext)); EXPECT_THROW(createFromUserInput("urn:ogc:def:crs:EPSG::4326", nullptr), ParsingException); EXPECT_NO_THROW(createFromUserInput( @@ -10508,6 +10530,20 @@ TEST(io, createFromUserInput) { EXPECT_NO_THROW( createFromUserInput("urn:ogc:def:ellipsoid:EPSG::7030", dbContext)); + EXPECT_NO_THROW(createFromUserInput("IAU:1000", dbContext)); + EXPECT_NO_THROW(createFromUserInput("IAU_2015:1000", dbContext)); + EXPECT_NO_THROW( + createFromUserInput("urn:ogc:def:crs:IAU::1000", dbContext)); + EXPECT_NO_THROW( + createFromUserInput("urn:ogc:def:crs:IAU_2015::1000", dbContext)); + EXPECT_NO_THROW( + createFromUserInput("urn:ogc:def:crs:IAU:2015:1000", dbContext)); + + EXPECT_THROW(createFromUserInput("urn:ogc:def:crs:IAU_2015::xxxx", nullptr), + ParsingException); + EXPECT_THROW(createFromUserInput("urn:ogc:def:crs:IAU:xxxx:1000", nullptr), + ParsingException); + // Found as srsName in some GMLs... EXPECT_NO_THROW( createFromUserInput("URN:OGC:DEF:CRS:OGC:1.3:CRS84", dbContext)); |
