summaryrefslogtreecommitdiffstats
path: root/tests/check-qjson.c
diff options
context:
space:
mode:
authorMarkus Armbruster2018-08-23 18:40:24 +0200
committerMarkus Armbruster2018-08-24 20:26:37 +0200
commit8bca4613e6cddd948895b8db3def05950463495b (patch)
treeaa40fcc6680538d990066912d52953c85204b8b0 /tests/check-qjson.c
parentjson: Improve safety of qobject_from_jsonf_nofail() & friends (diff)
downloadqemu-8bca4613e6cddd948895b8db3def05950463495b.tar.gz
qemu-8bca4613e6cddd948895b8db3def05950463495b.tar.xz
qemu-8bca4613e6cddd948895b8db3def05950463495b.zip
json: Support %% in JSON strings when interpolating
The previous commit makes JSON strings containing '%' awkward to express in templates: you'd have to mask the '%' with an Unicode escape \u0025. No template currently contains such JSON strings. Support the printf conversion specification %% in JSON strings as a convenience anyway, because it's trivially easy to do. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20180823164025.12553-58-armbru@redhat.com>
Diffstat (limited to 'tests/check-qjson.c')
-rw-r--r--tests/check-qjson.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/check-qjson.c b/tests/check-qjson.c
index a1854573de..cc13f3d41e 100644
--- a/tests/check-qjson.c
+++ b/tests/check-qjson.c
@@ -1270,7 +1270,7 @@ static void simple_interpolation(void)
QObject *obj;
QLitObject decoded = QLIT_QLIST(((QLitObject[]){
QLIT_QNUM(1),
- QLIT_QNUM(2),
+ QLIT_QSTR("100%"),
QLIT_QLIST(((QLitObject[]){
QLIT_QNUM(32),
QLIT_QNUM(42),
@@ -1280,7 +1280,7 @@ static void simple_interpolation(void)
embedded_obj = qobject_from_json("[32, 42]", &error_abort);
g_assert(embedded_obj != NULL);
- obj = qobject_from_jsonf_nofail("[%d, 2, %p]", 1, embedded_obj);
+ obj = qobject_from_jsonf_nofail("[%d, '100%%', %p]", 1, embedded_obj);
g_assert(qlit_equal_qobject(&decoded, obj));
qobject_unref(obj);