aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_c_api.cpp
diff options
context:
space:
mode:
authorAlan D. Snow <alansnow21@gmail.com>2020-10-19 10:20:27 -0500
committerGitHub <noreply@github.com>2020-10-19 17:20:27 +0200
commit084f5f6cb39b3732c4cd930ebffcff86cdb24932 (patch)
treeb6e3d9bd87eecafbfe0f6f2634c4db9d00bc8e05 /test/unit/test_c_api.cpp
parent85137d93549f2bb3dfe4fcfd371a0f1925e26417 (diff)
downloadPROJ-084f5f6cb39b3732c4cd930ebffcff86cdb24932.tar.gz
PROJ-084f5f6cb39b3732c4cd930ebffcff86cdb24932.zip
C API: add proj_context_clone() (#2383)
Fixes #2382
Diffstat (limited to 'test/unit/test_c_api.cpp')
-rw-r--r--test/unit/test_c_api.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index f6371cc3..a176a542 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -4083,7 +4083,7 @@ TEST_F(Fixture_proj_context_set_autoclose_database,
// ---------------------------------------------------------------------------
-TEST_F(CApi, proj_context_clone) {
+TEST_F(CApi, proj_context_copy_from_default) {
auto c_path = proj_context_get_database_path(m_ctxt);
ASSERT_TRUE(c_path != nullptr);
std::string path(c_path);
@@ -4133,6 +4133,28 @@ TEST_F(CApi, proj_context_clone) {
ASSERT_EQ(new_db_path, tmp_filename);
}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_context_clone) {
+ int new_init_rules = proj_context_get_use_proj4_init_rules(NULL, 0) > 0 ? 0 : 1;
+ PJ_CONTEXT *new_ctx = proj_context_create();
+ EXPECT_NE(new_ctx, nullptr);
+ PjContextKeeper keeper_ctxt(new_ctx);
+ proj_context_use_proj4_init_rules(new_ctx, new_init_rules);
+ PJ_CONTEXT *clone_ctx = proj_context_clone(new_ctx);
+ EXPECT_NE(clone_ctx, nullptr);
+ PjContextKeeper keeper_clone_ctxt(clone_ctx);
+ ASSERT_EQ(
+ proj_context_get_use_proj4_init_rules(new_ctx, 0),
+ proj_context_get_use_proj4_init_rules(clone_ctx, 0)
+ );
+ EXPECT_NE(
+ proj_context_get_use_proj4_init_rules(NULL, 0),
+ proj_context_get_use_proj4_init_rules(clone_ctx, 0)
+ );
+}
+
// ---------------------------------------------------------------------------
TEST_F(CApi, proj_create_crs_to_crs_from_pj) {