diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-08-20 13:22:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-20 13:22:01 +0200 |
| commit | 2c9c015a6529548f5a5d448c78bc9b565d751590 (patch) | |
| tree | 2597c59e8270f1480785c97f7441ee0b295c29b3 /test/unit/test_c_api.cpp | |
| parent | e52fc2aa58504e6f0658da821bdd543d7a39df34 (diff) | |
| parent | cad1c5cf61fc00759bf4ad17b0b34f57f4945de6 (diff) | |
| download | PROJ-2c9c015a6529548f5a5d448c78bc9b565d751590.tar.gz PROJ-2c9c015a6529548f5a5d448c78bc9b565d751590.zip | |
Merge pull request #1547 from rouault/json_export
Add CRS JSON export (refs #1545)
Diffstat (limited to 'test/unit/test_c_api.cpp')
| -rw-r--r-- | test/unit/test_c_api.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp index e2d013b1..813b9f01 100644 --- a/test/unit/test_c_api.cpp +++ b/test/unit/test_c_api.cpp @@ -3555,4 +3555,59 @@ TEST_F(CApi, proj_concatoperation_get_step) { } } +// --------------------------------------------------------------------------- + +TEST_F(CApi, proj_as_projjson) { + auto obj = proj_create( + m_ctxt, + Ellipsoid::WGS84->exportToJSON(JSONFormatter::create().get()).c_str()); + ObjectKeeper keeper(obj); + ASSERT_NE(obj, nullptr); + + { + auto projjson = proj_as_projjson(m_ctxt, obj, nullptr); + ASSERT_NE(projjson, nullptr); + EXPECT_EQ(std::string(projjson), + "{\n" + " \"$schema\": " + "\"https://proj.org/schemas/v0.1/projjson.schema.json\",\n" + " \"type\": \"Ellipsoid\",\n" + " \"name\": \"WGS 84\",\n" + " \"semi_major_axis\": 6378137,\n" + " \"inverse_flattening\": 298.257223563,\n" + " \"id\": {\n" + " \"authority\": \"EPSG\",\n" + " \"code\": 7030\n" + " }\n" + "}"); + } + { + const char *const options[] = {"INDENTATION_WIDTH=4", "SCHEMA=", + nullptr}; + auto projjson = proj_as_projjson(m_ctxt, obj, options); + ASSERT_NE(projjson, nullptr); + EXPECT_EQ(std::string(projjson), + "{\n" + " \"type\": \"Ellipsoid\",\n" + " \"name\": \"WGS 84\",\n" + " \"semi_major_axis\": 6378137,\n" + " \"inverse_flattening\": 298.257223563,\n" + " \"id\": {\n" + " \"authority\": \"EPSG\",\n" + " \"code\": 7030\n" + " }\n" + "}"); + } + { + const char *const options[] = {"MULTILINE=NO", "SCHEMA=", nullptr}; + auto projjson = proj_as_projjson(m_ctxt, obj, options); + ASSERT_NE(projjson, nullptr); + EXPECT_EQ(std::string(projjson), + "{\"type\":\"Ellipsoid\",\"name\":\"WGS 84\"," + "\"semi_major_axis\":6378137," + "\"inverse_flattening\":298.257223563," + "\"id\":{\"authority\":\"EPSG\",\"code\":7030}}"); + } +} + } // namespace |
