diff options
author | Florin Malita <fmalita@chromium.org> | 2018-06-14 15:03:21 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-14 19:40:04 +0000 |
commit | fedfd5402cd28c22262bdc2d47ae568b8e3cf33b (patch) | |
tree | 2bec63b318722d5bdfaee423ab812944f3cfcd95 /modules/skjson/src/SkJSONTest.cpp | |
parent | 14f739043bc798d1501e00a4407bf1f489e43612 (diff) |
Reland [skjson] Size-constrained input API
Pass an explicit input size instead of requiring a C string.
Thanks to mtklein's clever trick, this has no measurable perf impact.
TBR=
Change-Id: Ic8cb1dc75f4d0814e5b2c80038d1b8d3a7b072ab
Reviewed-on: https://skia-review.googlesource.com/134946
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'modules/skjson/src/SkJSONTest.cpp')
-rw-r--r-- | modules/skjson/src/SkJSONTest.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/modules/skjson/src/SkJSONTest.cpp b/modules/skjson/src/SkJSONTest.cpp index 6d4338cbbb..91ae497cf0 100644 --- a/modules/skjson/src/SkJSONTest.cpp +++ b/modules/skjson/src/SkJSONTest.cpp @@ -22,8 +22,14 @@ DEF_TEST(SkJSON_Parse, reporter) { { "" , nullptr }, { "[" , nullptr }, { "]" , nullptr }, + { "[[]" , nullptr }, + { "[]]" , nullptr }, + { "[]f" , nullptr }, { "{" , nullptr }, { "}" , nullptr }, + { "{{}" , nullptr }, + { "{}}" , nullptr }, + { "{}f" , nullptr }, { "{]" , nullptr }, { "[}" , nullptr }, { "1" , nullptr }, @@ -51,7 +57,9 @@ DEF_TEST(SkJSON_Parse, reporter) { { "{ \"k\" : null \"k\" : 1 }", nullptr }, + { "[]" , "[]" }, { " \n\r\t [ \n\r\t ] \n\r\t " , "[]" }, + { "[[]]" , "[[]]" }, { "[ null ]" , "[null]" }, { "[ true ]" , "[true]" }, { "[ false ]" , "[false]" }, @@ -66,6 +74,7 @@ DEF_TEST(SkJSON_Parse, reporter) { { "[ \"123456789\" ]" , "[\"123456789\"]" }, { "[ null , true, false,0,12.8 ]", "[null,true,false,0,12.8]" }, + { "{}" , "{}" }, { " \n\r\t { \n\r\t } \n\r\t " , "{}" }, { "{ \"k\" : null }" , "{\"k\":null}" }, { "{ \"k1\" : null, \"k2 \":0 }", "{\"k1\":null,\"k2 \":0}" }, @@ -89,7 +98,7 @@ DEF_TEST(SkJSON_Parse, reporter) { }; for (const auto& tst : g_tests) { - DOM dom(tst.in); + DOM dom(tst.in, strlen(tst.in)); const auto success = !dom.root().is<NullValue>(); REPORTER_ASSERT(reporter, success == (tst.out != nullptr)); if (!success) continue; @@ -153,7 +162,7 @@ DEF_TEST(SkJSON_DOM_visit, reporter) { \"k8\": { \"kk1\": 2, \"kk2\": false, \"kk1\": \"baz\" } \n\ }"; - DOM dom(json); + DOM dom(json, strlen(json)); const auto& jroot = dom.root().as<ObjectValue>(); REPORTER_ASSERT(reporter, jroot.is<ObjectValue>()); |