From f1d415188ffb4c34e2886c2cfceb363a148333f1 Mon Sep 17 00:00:00 2001 From: caryclark Date: Tue, 9 Feb 2016 10:30:22 -0800 Subject: Add unit test to feed valid SVG sequences to make sure that path strings can be parsed without returning an error. Draw the output through Skia and SVG to make sure they are parsed correctly. R=fmalita@chromium.org BUG=skia:4549 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1675053002 Review URL: https://codereview.chromium.org/1675053002 --- tests/ParsePathTest.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tests/ParsePathTest.cpp') diff --git a/tests/ParsePathTest.cpp b/tests/ParsePathTest.cpp index 561eed04b5..fa239c2b3d 100644 --- a/tests/ParsePathTest.cpp +++ b/tests/ParsePathTest.cpp @@ -71,3 +71,20 @@ DEF_TEST(ParsePath_invalid, r) { bool success = SkParsePath::FromSVGString("M 5", &path); REPORTER_ASSERT(r, !success); } + +#include "random_parse_path.h" +#include "SkRandom.h" + +DEF_TEST(ParsePathRandom, r) { + SkRandom rand; + for (int index = 0; index < 1000; ++index) { + SkPath path, path2; + SkString spec; + uint32_t count = rand.nextRangeU(0, 10); + for (uint32_t i = 0; i < count; ++i) { + spec.append(MakeRandomParsePathPiece(&rand)); + } + bool success = SkParsePath::FromSVGString(spec.c_str(), &path); + REPORTER_ASSERT(r, success); + } +} -- cgit v1.2.3