aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_io.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/test_io.cpp')
-rw-r--r--test/unit/test_io.cpp36
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));