aboutsummaryrefslogtreecommitdiff
path: root/test/unit
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit')
-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) {