On 08/08/2018 07:02 AM, Markus Armbruster wrote:
utf8_string() tests only double quoted strings.  Cover single quoted
strings, too: store the strings to test without quotes, then wrap them
in either kind of quote.

Signed-off-by: Markus Armbruster <arm...@redhat.com>
---
  tests/check-qjson.c | 427 ++++++++++++++++++++++----------------------
  1 file changed, 214 insertions(+), 213 deletions(-)


Pre-existing, but:

          /* 2.2.4  4 bytes U+1FFFFF */

Technically, Unicode ends at U+10FFFF (21 bits). Anything beyond that is not valid Unicode, even if it IS a valid interpretation of UTF-8 encoding.

          {
-            "\"\xF7\xBF\xBF\xBF\"",
+            "\xF7\xBF\xBF\xBF",
              NULL,               /* bug: rejected */
-            "\"\\uFFFD\"",
+            "\\uFFFD",
              "\xF7\xBF\xBF\xBF",
          },
          /* 2.2.5  5 bytes U+3FFFFFF */

Which makes this one also questionable,

          {
-            "\"\xFB\xBF\xBF\xBF\xBF\"",
+            "\xFB\xBF\xBF\xBF\xBF",
              NULL,               /* bug: rejected */
-            "\"\\uFFFD\"",
+            "\\uFFFD",
              "\xFB\xBF\xBF\xBF\xBF",
          },
          /* 2.2.6  6 bytes U+7FFFFFFF */

and this one.

          {
              /* last one in last plane: U+10FFFD */
-            "\"\xF4\x8F\xBF\xBD\"",
              "\xF4\x8F\xBF\xBD",
-            "\"\\uDBFF\\uDFFD\""
+            "\xF4\x8F\xBF\xBD",
+            "\\uDBFF\\uDFFD"
          },
          {
              /* first one beyond Unicode range: U+110000 */

while these are reasonable.

The conversion of the initializer looks sane (well, mechanical).  Ergo:

Reviewed-by: Eric Blake <ebl...@redhat.com>

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to