diff options
| -rw-r--r-- | src/iso19111/factory.cpp | 4 | ||||
| -rw-r--r-- | test/unit/test_c_api.cpp | 22 |
2 files changed, 24 insertions, 2 deletions
diff --git a/src/iso19111/factory.cpp b/src/iso19111/factory.cpp index 39d48386..e7017ca3 100644 --- a/src/iso19111/factory.cpp +++ b/src/iso19111/factory.cpp @@ -977,8 +977,8 @@ bool DatabaseContext::lookForGridInfo( "FROM grid_alternatives " "LEFT JOIN grid_packages ON " "grid_alternatives.package_name = grid_packages.package_name " - "WHERE proj_grid_name = ?", - {projFilename}); + "WHERE proj_grid_name = ? OR old_proj_grid_name = ?", + {projFilename, projFilename}); bool ret = !res.empty(); if (ret) { const auto &row = res.front(); diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp index 4f00295c..12a48a65 100644 --- a/test/unit/test_c_api.cpp +++ b/test/unit/test_c_api.cpp @@ -3127,6 +3127,28 @@ TEST_F(CApi, proj_grid_get_info_from_database) { EXPECT_EQ(direct_download, 1); EXPECT_EQ(open_license, 1); } + // Same test as above, but with PROJ 6 grid name + { + const char *full_name = nullptr; + const char *package_name = nullptr; + const char *url = nullptr; + int direct_download = 0; + int open_license = 0; + int available = 0; + EXPECT_TRUE(proj_grid_get_info_from_database( + m_ctxt, "GDA94_GDA2020_conformal.gsb", &full_name, &package_name, + &url, &direct_download, &open_license, &available)); + ASSERT_NE(full_name, nullptr); + // empty string expected as the file is not in test data + EXPECT_TRUE(full_name[0] == 0); + ASSERT_NE(package_name, nullptr); + EXPECT_TRUE(package_name[0] == 0); // empty string expected + ASSERT_NE(url, nullptr); + EXPECT_EQ(std::string(url), + "https://cdn.proj.org/au_icsm_GDA94_GDA2020_conformal.tif"); + EXPECT_EQ(direct_download, 1); + EXPECT_EQ(open_license, 1); + } } // --------------------------------------------------------------------------- |
