Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: tests/PathOpsOpTest.cpp

Issue 2283993002: if the winding of the top can't be computed, give up (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/pathops/SkPathOpsOp.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #include "PathOpsExtendedTest.h" 7 #include "PathOpsExtendedTest.h"
8 #include "PathOpsTestCommon.h" 8 #include "PathOpsTestCommon.h"
9 9
10 class PathTest_Private { 10 class PathTest_Private {
(...skipping 7347 matching lines...) Expand 10 before | Expand all | Expand 10 after
7358 path.moveTo(SkBits2Float(0x2d2aff2d), SkBits2Float(0x74747474)); // 9.72004e-12 f, 7.74708e+31f 7358 path.moveTo(SkBits2Float(0x2d2aff2d), SkBits2Float(0x74747474)); // 9.72004e-12 f, 7.74708e+31f
7359 path.cubicTo(SkBits2Float(0x7474748e), SkBits2Float(0x74747490), SkBits2Float(0x 8c722174), SkBits2Float(0x181f0080), SkBits2Float(0x74c0e520), SkBits2Float(0x74 7d7463)); // 7.7471e+31f, 7.7471e+31f, -1.86531e-31f, 2.05505e-24f, 1.22262e+32 f, 8.0323e+31f 7359 path.cubicTo(SkBits2Float(0x7474748e), SkBits2Float(0x74747490), SkBits2Float(0x 8c722174), SkBits2Float(0x181f0080), SkBits2Float(0x74c0e520), SkBits2Float(0x74 7d7463)); // 7.7471e+31f, 7.7471e+31f, -1.86531e-31f, 2.05505e-24f, 1.22262e+32 f, 8.0323e+31f
7360 path.cubicTo(SkBits2Float(0x7b005e4b), SkBits2Float(0xdf3a6a3a), SkBits2Float(0x 2a3a2848), SkBits2Float(0x2d2d7821), SkBits2Float(0x8c55212d), SkBits2Float(0x2d 2d2d24)); // 6.66526e+35f, -1.34326e+19f, 1.65341e-13f, 9.86059e-12f, -1.64189e -31f, 9.84393e-12f 7360 path.cubicTo(SkBits2Float(0x7b005e4b), SkBits2Float(0xdf3a6a3a), SkBits2Float(0x 2a3a2848), SkBits2Float(0x2d2d7821), SkBits2Float(0x8c55212d), SkBits2Float(0x2d 2d2d24)); // 6.66526e+35f, -1.34326e+19f, 1.65341e-13f, 9.86059e-12f, -1.64189e -31f, 9.84393e-12f
7361 path.conicTo(SkBits2Float(0xde28804c), SkBits2Float(0x28e03721), SkBits2Float(0x 3329df28), SkBits2Float(0x2d291515), SkBits2Float(0x0568295b)); // -3.03545e+18 f, 2.48929e-14f, 3.95513e-08f, 9.61122e-12f, 1.09162e-35f 7361 path.conicTo(SkBits2Float(0xde28804c), SkBits2Float(0x28e03721), SkBits2Float(0x 3329df28), SkBits2Float(0x2d291515), SkBits2Float(0x0568295b)); // -3.03545e+18 f, 2.48929e-14f, 3.95513e-08f, 9.61122e-12f, 1.09162e-35f
7362 path.conicTo(SkBits2Float(0x556a2d21), SkBits2Float(0x21088c2a), SkBits2Float(0x 3a333303), SkBits2Float(0x5b293a8a), SkBits2Float(0x6855683b)); // 1.60925e+13f , 4.62641e-19f, 0.000683591f, 4.76336e+16f, 4.03115e+24f 7362 path.conicTo(SkBits2Float(0x556a2d21), SkBits2Float(0x21088c2a), SkBits2Float(0x 3a333303), SkBits2Float(0x5b293a8a), SkBits2Float(0x6855683b)); // 1.60925e+13f , 4.62641e-19f, 0.000683591f, 4.76336e+16f, 4.03115e+24f
7363 7363
7364 SkPath path2(path); 7364 SkPath path2(path);
7365 testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename); 7365 testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
7366 } 7366 }
7367 7367
7368 static void fuzz763_30(skiatest::Reporter* reporter, const char* filename) {
7369 SkPath path;
7370 path.setFillType((SkPath::FillType) 1);
7371
7372 SkPath path1(path);
7373 path.reset();
7374 path.setFillType((SkPath::FillType) 0);
7375 path.moveTo(SkBits2Float(0x1f2108c0), SkBits2Float(0x4b7b0321)); // 3.41003e-20 f, 1.64503e+07f
7376 path.lineTo(SkBits2Float(0x6829ed27), SkBits2Float(0x2d555b2d)); // 3.20982e+24 f, 1.21279e-11f
7377 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7378 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x6e2a1f72), SkBits2Float(0x 0321082a), SkBits2Float(0x2a4b7bc0), SkBits2Float(0x68295b2d)); // 2.49282e-13f , 1.31626e+28f, 4.7323e-37f, 1.8073e-13f, 3.19905e+24f
7379 path.lineTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x212a8c55)); // 4.87407e+16 f, 5.7784e-19f
7380 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x4b7b28c0)); // 4.7323e-37f , 1.646e+07f
7381 path.lineTo(SkBits2Float(0x2a8ced7a), SkBits2Float(0x2d081f21)); // 2.50338e-13 f, 7.73762e-12f
7382 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
7383 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7384 path.cubicTo(SkBits2Float(0x69392d55), SkBits2Float(0x2d5b684b), SkBits2Float(0x 8c5527f0), SkBits2Float(0x212a1f2a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 1.39916e+25f, 1.24719e-11f, -1.64209e-31f, 5.76395e-19f, 4.7323e-3 7f, 6.14991e+25f
7385 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0xed7a6a1f), SkBits2Float(0x 3a214793), SkBits2Float(0x3328282a), SkBits2Float(0x3a8a3adf)); // 5.77848e-19f , -4.84372e+27f, 0.000615233f, 3.91521e-08f, 0.00105461f
7386 path.conicTo(SkBits2Float(0x4be80304), SkBits2Float(0xdcdcdc15), SkBits2Float(0x dcdcdcdc), SkBits2Float(0x71dcdcdc), SkBits2Float(0x6c107164)); // 3.04102e+07f , -4.97332e+17f, -4.97339e+17f, 2.18732e+30f, 6.98483e+26f
7387 path.conicTo(SkBits2Float(0x6c0f1d6c), SkBits2Float(0x8e406c6e), SkBits2Float(0x 6c6c0200), SkBits2Float(0x6c6ce46c), SkBits2Float(0x6c6c6c6c)); // 6.92061e+26f , -2.3718e-30f, 1.14126e+27f, 1.14554e+27f, 1.14327e+27f
7388 path.lineTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7389 path.close();
7390 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7391 path.quadTo(SkBits2Float(0x3ab38a28), SkBits2Float(0x3ac22c21), SkBits2Float(0x6 c401057), SkBits2Float(0x6d6d6b64)); // 0.00136978f, 0.00148142f, 9.28764e+26f, 4.59236e+27f
7392 path.cubicTo(SkBits2Float(0x6d6d6d6d), SkBits2Float(0x6d6d6d6d), SkBits2Float(0x 286d6d6d), SkBits2Float(0x081d2a29), SkBits2Float(0x6d690321), SkBits2Float(0x6b 6b026d)); // 4.59251e+27f, 4.59251e+27f, 1.31799e-14f, 4.7295e-34f, 4.50711e+27 f, 2.84109e+26f
7393
7394 SkPath path2(path);
7395 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename);
7396 }
7397
7368 static struct TestDesc failTests[] = { 7398 static struct TestDesc failTests[] = {
7399 TEST(fuzz763_30),
7369 TEST(fuzz763_29), 7400 TEST(fuzz763_29),
7370 TEST(fuzz763_28), 7401 TEST(fuzz763_28),
7371 TEST(fuzz763_27), 7402 TEST(fuzz763_27),
7372 TEST(fuzz763_26), 7403 TEST(fuzz763_26),
7373 TEST(fuzz763_25), 7404 TEST(fuzz763_25),
7374 TEST(fuzz763_24), 7405 TEST(fuzz763_24),
7375 TEST(fuzz763_23), 7406 TEST(fuzz763_23),
7376 TEST(fuzz763_22), 7407 TEST(fuzz763_22),
7377 TEST(fuzz763_21), 7408 TEST(fuzz763_21),
7378 TEST(fuzz763_20), 7409 TEST(fuzz763_20),
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
7428 static struct TestDesc repTests[] = { 7459 static struct TestDesc repTests[] = {
7429 TEST(loops44i), 7460 TEST(loops44i),
7430 TEST(loops45i), 7461 TEST(loops45i),
7431 TEST(loops46i), 7462 TEST(loops46i),
7432 }; 7463 };
7433 7464
7434 DEF_TEST(PathOpsRepOp, reporter) { 7465 DEF_TEST(PathOpsRepOp, reporter) {
7435 for (int index = 0; index < 2; ++index) 7466 for (int index = 0; index < 2; ++index)
7436 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n ullptr, false); 7467 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n ullptr, false);
7437 } 7468 }
OLDNEW
« no previous file with comments | « src/pathops/SkPathOpsOp.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698