summaryrefslogtreecommitdiff
path: root/src/test/test-json.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-09-03 23:10:24 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-09-03 23:13:47 +0900
commit41dceb91dd10fd597d3a26adcb245a18e0c2c077 (patch)
treee3d6cf1da42887ad6396194a8f4eb0464f98ebc6 /src/test/test-json.c
parentd12c0f4cfe339a30230e4c3d04eb93bcd0bd2c0f (diff)
downloadsystemd-41dceb91dd10fd597d3a26adcb245a18e0c2c077.tar.gz
json: introduce json_append()
Diffstat (limited to 'src/test/test-json.c')
-rw-r--r--src/test/test-json.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/test-json.c b/src/test/test-json.c
index d22485630a..3563d004c8 100644
--- a/src/test/test-json.c
+++ b/src/test/test-json.c
@@ -631,4 +631,19 @@ TEST(variant) {
test_variant_one("[ 0, -0, 0.0, -0.0, 0.000, -0.000, 0e0, -0e0, 0e+0, -0e-0, 0e-0, -0e000, 0e+000 ]", test_zeroes);
}
+TEST(json_append) {
+ _cleanup_(json_variant_unrefp) JsonVariant *v = NULL, *w = NULL;
+
+ assert_se(json_build(&v, JSON_BUILD_OBJECT(
+ JSON_BUILD_PAIR("b", JSON_BUILD_STRING("x")),
+ JSON_BUILD_PAIR("c", JSON_BUILD_CONST_STRING("y")),
+ JSON_BUILD_PAIR("a", JSON_BUILD_CONST_STRING("z")))) >= 0);
+
+ assert_se(json_append(&w, JSON_BUILD_OBJECT(JSON_BUILD_PAIR("b", JSON_BUILD_STRING("x")))) >= 0);
+ assert_se(json_append(&w, JSON_BUILD_OBJECT(JSON_BUILD_PAIR("c", JSON_BUILD_STRING("y")))) >= 0);
+ assert_se(json_append(&w, JSON_BUILD_OBJECT(JSON_BUILD_PAIR("a", JSON_BUILD_STRING("z")))) >= 0);
+
+ assert_se(json_variant_equal(v, w));
+}
+
DEFINE_TEST_MAIN(LOG_DEBUG);