summaryrefslogtreecommitdiff
path: root/test_json.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-08-27 10:03:16 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-08-27 10:03:16 +0000
commit222c36d2fa933c6677f947bd7f976cb4d70bd9c5 (patch)
tree0386c0aa55799ee07720642b7b53900ec076c026 /test_json.c
parent1f2705a78dd65fedec2b98bf4f5890811b3e2c20 (diff)
downloadgpsd-222c36d2fa933c6677f947bd7f976cb4d70bd9c5.tar.gz
Add an unsigned integer field type to the JSON parser (needed for RTCM2).
Also add a unit test for this.
Diffstat (limited to 'test_json.c')
-rw-r--r--test_json.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/test_json.c b/test_json.c
index a71625e1..82b78175 100644
--- a/test_json.c
+++ b/test_json.c
@@ -109,12 +109,14 @@ static const char *json_str4 = "{\"flag1\":true,\"flag2\":false}";
static bool flag1, flag2;
static double dftreal;
static int dftinteger;
+static int dftuinteger;
static const struct json_attr_t json_attrs_4[] = {
- {"dftint", integer, .addr.integer = &dftinteger, .dflt.integer = 5},
- {"dftreal",real, .addr.real = &dftreal, .dflt.real = 23.17},
- {"flag1", boolean, .addr.boolean = &flag1,},
- {"flag2", boolean, .addr.boolean = &flag2,},
+ {"dftint", integer, .addr.integer = &dftinteger, .dflt.integer = -5},
+ {"dftuint", integer, .addr.uinteger = &dftuinteger, .dflt.uinteger = 10},
+ {"dftreal", real, .addr.real = &dftreal, .dflt.real = 23.17},
+ {"flag1", boolean, .addr.boolean = &flag1,},
+ {"flag2", boolean, .addr.boolean = &flag2,},
{NULL},
};
@@ -208,7 +210,8 @@ int main(int argc UNUSED, char *argv[] UNUSED)
status = json_read_object(json_str4, json_attrs_4, NULL);
assert_case(4, status);
- assert_integer("dftint", dftinteger, 5); /* did the default work? */
+ assert_integer("dftint", dftinteger, -5); /* did the default work? */
+ assert_integer("dftuint", dftuinteger, 10); /* did the default work? */
assert_real("dftreal", dftreal, 23.17); /* did the default work? */
assert_boolean("flag1", flag1, true);
assert_boolean("flag2", flag2, false);