[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 10/60] check-qjson: Consolidate partly redundant
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v2 10/60] check-qjson: Consolidate partly redundant string tests |
Date: |
Fri, 17 Aug 2018 17:05:09 +0200 |
simple_string() and single_quote_string() have become redundant with
escaped_string(), except fot embedded single and double quotes.
Replace them by a test that covers just that.
Signed-off-by: Markus Armbruster <address@hidden>
---
tests/check-qjson.c | 64 ++++++++++-----------------------------------
1 file changed, 14 insertions(+), 50 deletions(-)
diff --git a/tests/check-qjson.c b/tests/check-qjson.c
index ce843283eb..e35942d922 100644
--- a/tests/check-qjson.c
+++ b/tests/check-qjson.c
@@ -126,59 +126,24 @@ static void escaped_string(void)
}
}
-static void simple_string(void)
+static void string_with_quotes(void)
{
- int i;
- struct {
- const char *encoded;
- const char *decoded;
- } test_cases[] = {
- { "\"hello world\"", "hello world" },
- { "\"the quick brown fox jumped over the fence\"",
- "the quick brown fox jumped over the fence" },
- {}
+ const char *test_cases[] = {
+ "\"the bee's knees\"",
+ "'double quote \"'",
+ NULL
};
-
- for (i = 0; test_cases[i].encoded; i++) {
- QObject *obj;
- QString *str;
-
- obj = qobject_from_json(test_cases[i].encoded, &error_abort);
- str = qobject_to(QString, obj);
- g_assert(str);
- g_assert(strcmp(qstring_get_str(str), test_cases[i].decoded) == 0);
-
- str = qobject_to_json(obj);
- g_assert(strcmp(qstring_get_str(str), test_cases[i].encoded) == 0);
-
- qobject_unref(obj);
-
- qobject_unref(str);
- }
-}
-
-static void single_quote_string(void)
-{
int i;
- struct {
- const char *encoded;
- const char *decoded;
- } test_cases[] = {
- { "'hello world'", "hello world" },
- { "'the quick brown fox \\' jumped over the fence'",
- "the quick brown fox ' jumped over the fence" },
- {}
- };
+ QString *str;
+ char *cstr;
- for (i = 0; test_cases[i].encoded; i++) {
- QObject *obj;
- QString *str;
-
- obj = qobject_from_json(test_cases[i].encoded, &error_abort);
- str = qobject_to(QString, obj);
+ for (i = 0; test_cases[i]; i++) {
+ str = qobject_to(QString,
+ qobject_from_json(test_cases[i], &error_abort));
g_assert(str);
- g_assert(strcmp(qstring_get_str(str), test_cases[i].decoded) == 0);
-
+ cstr = g_strndup(test_cases[i] + 1, strlen(test_cases[i]) - 2);
+ g_assert_cmpstr(qstring_get_str(str), ==, cstr);
+ g_free(cstr);
qobject_unref(str);
}
}
@@ -1525,10 +1490,9 @@ int main(int argc, char **argv)
{
g_test_init(&argc, &argv, NULL);
- g_test_add_func("/literals/string/simple", simple_string);
g_test_add_func("/literals/string/escaped", escaped_string);
+ g_test_add_func("/literals/string/quotes", string_with_quotes);
g_test_add_func("/literals/string/utf8", utf8_string);
- g_test_add_func("/literals/string/single_quote", single_quote_string);
g_test_add_func("/literals/string/vararg", vararg_string);
g_test_add_func("/literals/number/simple", simple_number);
--
2.17.1
- [Qemu-devel] [PATCH v2 00/60] json: Fixes, error reporting improvements, cleanups, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 03/60] check-qjson: Cover whitespace more thoroughly, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 07/60] check-qjson: Cover escaped characters more thoroughly, part 1, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 01/60] check-qjson: Cover multiple JSON objects in same string, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 10/60] check-qjson: Consolidate partly redundant string tests,
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 19/60] json: Tighten and simplify qstring_from_escaped_str()'s loop, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 22/60] json: Report first rather than last parse error, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 31/60] json-parser: simplify and avoid JSONParserContext allocation, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 15/60] check-qjson: Cover interpolation more thoroughly, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 17/60] json: Reject unescaped control characters, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 16/60] json: Fix lexer to include the bad character in JSON_ERROR token, Markus Armbruster, 2018/08/17
- [Qemu-devel] [PATCH v2 12/60] check-qjson: Simplify utf8_string(), Markus Armbruster, 2018/08/17