mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-20 13:19:50 -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`_
|
`JSON`_
|
||||||
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
|
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> ...])
|
<json-string> <member|index> [<member|index> ...])
|
||||||
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
|
string(JSON <out-var> [ERROR_VARIABLE <error-var>]
|
||||||
`MEMBER <JSON-MEMBER_>`__ <json-string>
|
`MEMBER <JSON-MEMBER_>`__ <json-string>
|
||||||
@@ -551,7 +554,7 @@ string is passed as a single argument even if it contains semicolons.
|
|||||||
|
|
||||||
.. signature::
|
.. signature::
|
||||||
string(JSON <out-var> [ERROR_VARIABLE <error-variable>]
|
string(JSON <out-var> [ERROR_VARIABLE <error-variable>]
|
||||||
GET <json-string> <member|index> [<member|index> ...])
|
GET <json-string> [<member|index> ...])
|
||||||
:target: JSON-GET
|
:target: JSON-GET
|
||||||
|
|
||||||
Get an element from ``<json-string>`` at the location given
|
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::
|
.. signature::
|
||||||
string(JSON <out-var> [ERROR_VARIABLE <error-variable>]
|
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
|
:target: JSON-GET-RAW
|
||||||
|
|
||||||
Get an element from ``<json-string>`` at the location given
|
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::
|
.. signature::
|
||||||
string(JSON <out-var> [ERROR_VARIABLE <error-variable>]
|
string(JSON <out-var> [ERROR_VARIABLE <error-variable>]
|
||||||
TYPE <json-string> <member|index> [<member|index> ...])
|
TYPE <json-string> [<member|index> ...])
|
||||||
:target: JSON-TYPE
|
:target: JSON-TYPE
|
||||||
|
|
||||||
Get the type of an element in ``<json-string>`` at the location
|
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}")
|
message(SEND_ERROR "Output did not match expected: FALSE actual: ${result}")
|
||||||
endif()
|
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)
|
string(JSON result ERROR_VARIABLE error GET "${json1}" foo)
|
||||||
assert_strequal_error("${result}" "bar" "${error}")
|
assert_strequal_error("${result}" "bar" "${error}")
|
||||||
|
|
||||||
@@ -233,6 +244,12 @@ string(JSON result TYPE "${json1}" types array)
|
|||||||
assert_strequal("${result}" ARRAY)
|
assert_strequal("${result}" ARRAY)
|
||||||
string(JSON result TYPE "${json1}" types object)
|
string(JSON result TYPE "${json1}" types object)
|
||||||
assert_strequal("${result}" 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
|
# Test LENGTH
|
||||||
string(JSON result ERROR_VARIABLE error LENGTH "${json1}")
|
string(JSON result ERROR_VARIABLE error LENGTH "${json1}")
|
||||||
|
|||||||
Reference in New Issue
Block a user