aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_io.cpp
diff options
context:
space:
mode:
authorJavier Jimenez Shaw <j1@jimenezshaw.com>2021-04-13 14:48:35 +0200
committerGitHub <noreply@github.com>2021-04-13 14:48:35 +0200
commita850aac5e0de3f86f2e4cf29f211e88744db5133 (patch)
treef35226f99d2c0e732a9ddd44d6f464c42cf32c44 /test/unit/test_io.cpp
parent58b991b8b98fdff6f6685e6bf5010f216b3ee1be (diff)
downloadPROJ-a850aac5e0de3f86f2e4cf29f211e88744db5133.tar.gz
PROJ-a850aac5e0de3f86f2e4cf29f211e88744db5133.zip
createFromUserInput(): parse compound id with two authorities, like ESRI:103668+EPSG:5703 (#2669)
Diffstat (limited to 'test/unit/test_io.cpp')
-rw-r--r--test/unit/test_io.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp
index cd880a3f..b7081c21 100644
--- a/test/unit/test_io.cpp
+++ b/test/unit/test_io.cpp
@@ -10307,6 +10307,8 @@ TEST(io, createFromUserInput) {
EXPECT_THROW(createFromUserInput("+proj=unhandled +type=crs", nullptr),
ParsingException);
EXPECT_THROW(createFromUserInput("EPSG:4326", nullptr), ParsingException);
+ EXPECT_THROW(createFromUserInput("ESRI:103668+EPSG:5703", nullptr),
+ ParsingException);
EXPECT_THROW(
createFromUserInput("urn:ogc:def:unhandled:EPSG::4326", dbContext),
ParsingException);
@@ -10386,6 +10388,26 @@ TEST(io, createFromUserInput) {
EXPECT_EQ(crs->nameStr(),
"KKJ / Finland Uniform Coordinate System + N60 height");
}
+
+ {
+ auto obj = createFromUserInput("EPSG:2393+EPSG:5717", dbContext);
+ auto crs = nn_dynamic_pointer_cast<CompoundCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_EQ(crs->nameStr(),
+ "KKJ / Finland Uniform Coordinate System + N60 height");
+ }
+ {
+ auto obj = createFromUserInput("ESRI:103668+EPSG:5703", dbContext);
+ auto crs = nn_dynamic_pointer_cast<CompoundCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_EQ(crs->nameStr(),
+ "NAD_1983_HARN_Adj_MN_Ramsey_Meters + NAVD88 height");
+ }
+ EXPECT_THROW(createFromUserInput("ESRI:42+EPSG:5703", dbContext),
+ NoSuchAuthorityCodeException);
+ EXPECT_THROW(createFromUserInput("ESRI:103668+EPSG:999999", dbContext),
+ NoSuchAuthorityCodeException);
+
{
auto obj = createFromUserInput(
"urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717", dbContext);