mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-19 12:49:54 -06:00
Help(string(JSON)): Clarify that some modes can have zero members/indices
This commit is contained in:
@@ -46,7 +46,10 @@ Synopsis
|
||||
|
||||
`JSON`_
|
||||
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
|
||||
{`GET <JSON-GET_>`__ | `GET_RAW <JSON-GET-RAW_>`__ | `TYPE <JSON-TYPE_>`__ | `LENGTH <JSON-LENGTH_>`__ | `REMOVE <JSON-REMOVE_>`__}
|
||||
{`GET <JSON-GET_>`__ | `GET_RAW <JSON-GET-RAW_>`__ | `TYPE <JSON-TYPE_>`__ | `LENGTH <JSON-LENGTH_>`__}
|
||||
<json-string> [<member|index> ...])
|
||||
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
|
||||
`REMOVE <JSON-REMOVE_>`__
|
||||
<json-string> <member|index> [<member|index> ...])
|
||||
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
|
||||
`MEMBER <JSON-MEMBER_>`__ <json-string>
|
||||
@@ -551,7 +554,7 @@ string is passed as a single argument even if it contains semicolons.
|
||||
|
||||
.. signature::
|
||||
string(JSON <out-var> [ERROR_VARIABLE <error-variable>]
|
||||
GET <json-string> <member|index> [<member|index> ...])
|
||||
GET <json-string> [<member|index> ...])
|
||||
:target: JSON-GET
|
||||
|
||||
Get an element from ``<json-string>`` at the location given
|
||||
@@ -563,7 +566,7 @@ string is passed as a single argument even if it contains semicolons.
|
||||
|
||||
.. signature::
|
||||
string(JSON <out-var> [ERROR_VARIABLE <error-variable>]
|
||||
GET_RAW <json-string> <member|index> [<member|index> ...])
|
||||
GET_RAW <json-string> [<member|index> ...])
|
||||
:target: JSON-GET-RAW
|
||||
|
||||
Get an element from ``<json-string>`` at the location given
|
||||
@@ -573,7 +576,7 @@ string is passed as a single argument even if it contains semicolons.
|
||||
|
||||
.. signature::
|
||||
string(JSON <out-var> [ERROR_VARIABLE <error-variable>]
|
||||
TYPE <json-string> <member|index> [<member|index> ...])
|
||||
TYPE <json-string> [<member|index> ...])
|
||||
:target: JSON-TYPE
|
||||
|
||||
Get the type of an element in ``<json-string>`` at the location
|
||||
|
||||
@@ -120,6 +120,17 @@ if(result)
|
||||
message(SEND_ERROR "Output did not match expected: FALSE actual: ${result}")
|
||||
endif()
|
||||
|
||||
string(JSON result GET "\"Hello\"")
|
||||
assert_strequal("${result}" Hello)
|
||||
string(JSON result GET "5")
|
||||
assert_strequal("${result}" 5)
|
||||
string(JSON result GET "null")
|
||||
assert_strequal("${result}" "")
|
||||
string(JSON result ERROR_VARIABLE error GET "{}")
|
||||
assert_json_equal("${error}" "${result}" "{}")
|
||||
string(JSON result ERROR_VARIABLE error GET "[]")
|
||||
assert_json_equal("${error}" "${result}" "[]")
|
||||
|
||||
string(JSON result ERROR_VARIABLE error GET "${json1}" foo)
|
||||
assert_strequal_error("${result}" "bar" "${error}")
|
||||
|
||||
@@ -233,6 +244,12 @@ string(JSON result TYPE "${json1}" types array)
|
||||
assert_strequal("${result}" ARRAY)
|
||||
string(JSON result TYPE "${json1}" types object)
|
||||
assert_strequal("${result}" OBJECT)
|
||||
string(JSON result TYPE "null")
|
||||
assert_strequal("${result}" NULL)
|
||||
string(JSON result TYPE "5")
|
||||
assert_strequal("${result}" NUMBER)
|
||||
string(JSON result TYPE "\"Hello\"")
|
||||
assert_strequal("${result}" STRING)
|
||||
|
||||
# Test LENGTH
|
||||
string(JSON result ERROR_VARIABLE error LENGTH "${json1}")
|
||||
|
||||
Reference in New Issue
Block a user