summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2012-10-25 17:26:25 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2012-10-25 17:26:25 +0100
commit977c998929f4d82d93acd3ea0f99c04006e45db0 (patch)
treeab0f6f6eb74da2dab593c60ae36bd0d996afc3fe
parent77ed79385795d93776e6299b9add3940ceee4245 (diff)
downloadjson-glib-977c998929f4d82d93acd3ea0f99c04006e45db0.tar.gz
tests/invalid: Check invalid assignments
-rw-r--r--json-glib/tests/invalid.c44
1 files changed, 40 insertions, 4 deletions
diff --git a/json-glib/tests/invalid.c b/json-glib/tests/invalid.c
index db9f69b..6c3c090 100644
--- a/json-glib/tests/invalid.c
+++ b/json-glib/tests/invalid.c
@@ -36,6 +36,33 @@ test_invalid_bareword (gconstpointer user_data)
g_object_unref (parser);
}
+static void
+test_invalid_assignment (gconstpointer user_data)
+{
+ const char *json = user_data;
+ GError *error = NULL;
+ JsonParser *parser;
+ gboolean res;
+
+ parser = json_parser_new ();
+ g_assert (JSON_IS_PARSER (parser));
+
+ if (g_test_verbose ())
+ g_print ("invalid data: '%s'...", json);
+
+ res = json_parser_load_from_data (parser, json, -1, &error);
+
+ g_assert (!res);
+ g_assert (error != NULL);
+
+ if (g_test_verbose ())
+ g_print ("expected error: %s\n", error->message);
+
+ g_clear_error (&error);
+
+ g_object_unref (parser);
+}
+
static const struct
{
const char *path;
@@ -43,10 +70,19 @@ static const struct
gpointer func;
} test_invalid[] = {
/* bareword */
- { "invalid-bareword-1", "rainbows", test_invalid_bareword },
- { "invalid-bareword-2", "[ unicorns ]", test_invalid_bareword },
- { "invalid-bareword-3", "{ \"foo\" : ponies }", test_invalid_bareword },
- { "invalid-bareword-4", "[ 3, 2, 1, lift_off ]", test_invalid_bareword },
+ { "bareword-1", "rainbows", test_invalid_bareword },
+ { "bareword-2", "[ unicorns ]", test_invalid_bareword },
+ { "bareword-3", "{ \"foo\" : ponies }", test_invalid_bareword },
+ { "bareword-4", "[ 3, 2, 1, lift_off ]", test_invalid_bareword },
+ { "bareword-5", "{ foo : 42 }", test_invalid_bareword },
+
+ /* assignment */
+ { "assignment-1", "var foo", test_invalid_assignment },
+ { "assignment-2", "var foo = no", test_invalid_assignment },
+ { "assignment-3", "var = true", test_invalid_assignment },
+ { "assignment-4", "var blah = 42:", test_invalid_assignment },
+ { "assignment-5", "let foo = true;", test_invalid_assignment },
+
};
static guint n_test_invalid = G_N_ELEMENTS (test_invalid);