]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add a new JSON test case to verify that all control characters are escaped
authordrh <drh@noemail.net>
Mon, 10 Apr 2017 12:31:15 +0000 (12:31 +0000)
committerdrh <drh@noemail.net>
Mon, 10 Apr 2017 12:31:15 +0000 (12:31 +0000)
in the json_quote() function.

FossilOrigin-Name: 6ee12221fa252784c897a24ae8cff64dfe6149cbc9020abe14539df33202d892

manifest
manifest.uuid
test/json102.test

index 8aad80974e4653f0b81cce73cc0bf56cbc8e4457..9e00749dd380b02830692edf40bf218dea08d95b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Change\sthe\sJSON\sextension\sso\sthat\sit\sdisallows\scontrol\scharacters\sinside\sof\nstrings.\s\sFix\sfor\sticket\s[6c9b5514077fed34551f98e64c09a10dc2fc8e16].
-D 2017-04-10T12:25:05.724
+C Add\sa\snew\sJSON\stest\scase\sto\sverify\sthat\sall\scontrol\scharacters\sare\sescaped\nin\sthe\sjson_quote()\sfunction.
+D 2017-04-10T12:31:15.817
 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc a4c0613a18663bda56d8cf76079ab6590a7c3602e54befb4bbdef76bcaa38b6a
@@ -911,7 +911,7 @@ F test/jrnlmode.test 7864d59cf7f6e552b9b99ba0f38acd167edc10fa
 F test/jrnlmode2.test 81610545a4e6ed239ea8fa661891893385e23a1d
 F test/jrnlmode3.test 556b447a05be0e0963f4311e95ab1632b11c9eaa
 F test/json101.test c0897616f32d95431f37fd291cb78742181980ac
-F test/json102.test 0eacdde66991e9afd3f2a010fa97e9843de55b84297982875a017c3dc8aaec7e
+F test/json102.test eeb54efa221e50b74a2d6fb9259963b48d7414dca3ce2fdfdeed45cb28487bc1
 F test/json103.test c5f6b85e69de05f6b3195f9f9d5ce9cd179099a0
 F test/json104.test 877d5845f6303899b7889ea5dd1bea99076e3100574d5c536082245c5805dcaa
 F test/keyword1.test 37ef6bba5d2ed5b07ecdd6810571de2956599dff
@@ -1570,7 +1570,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 19dd753f9e50fee247b1ab141669817c7e88bc3f6d6065dba6c731db9f7a2409
-R 4d25d4996adadb5793b8d9872a867cae
+P 475d8f82ec61a4ff3e6a7650731230ccecb6cc580d1397d189d0ba479d9bad4d
+R e695ac710cfefacf863281e0b95431be
 U drh
-Z 90838f4be97951a4a7983906c4e90eed
+Z 55d7fe0aa816bb30b53d727ea413a3ad
index d2945c983fa51e2ef1b2335d74cb3f987dd5203a..841a70c05cdf9d0095a95ac1ab9850d1138bec88 100644 (file)
@@ -1 +1 @@
-475d8f82ec61a4ff3e6a7650731230ccecb6cc580d1397d189d0ba479d9bad4d
\ No newline at end of file
+6ee12221fa252784c897a24ae8cff64dfe6149cbc9020abe14539df33202d892
\ No newline at end of file
index 5c7866391fe66e554d2175e7f0097fb0bfa4acb9..18a6bbf5cc7dba686a77ada3f78f6b83a1db6e63 100644 (file)
@@ -330,4 +330,11 @@ do_execsql_test json102-1500 {
   SELECT x FROM c WHERE json_valid(printf('{"a":"x%sz"}', char(x))) ORDER BY x;
 } {32}
 
+# All control characters are escaped
+#
+do_execsql_test json102-1501 {
+  WITH RECURSIVE c(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM c WHERE x<0x1f)
+  SELECT sum(json_valid(json_quote('a'||char(x)||'z'))) FROM c ORDER BY x;
+} {31}
+
 finish_test