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

Side by Side Diff: tests/PathOpsOpTest.cpp

Issue 2360083006: don't close a contour with a line if nothing's there (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/SkPathWriter.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 7840 matching lines...) Expand 10 before | Expand all | Expand 10 after
7851 path.moveTo(SkBits2Float(0x72720572), SkBits2Float(0x5b5e2572)); // 4.79373e+30 f, 6.25286e+16f 7851 path.moveTo(SkBits2Float(0x72720572), SkBits2Float(0x5b5e2572)); // 4.79373e+30 f, 6.25286e+16f
7852 path.quadTo(SkBits2Float(0x05720089), SkBits2Float(0x25727272), SkBits2Float(0x7 2728c7a), SkBits2Float(0x5b5e7272)); // 1.13789e-35f, 2.10289e-16f, 4.80417e+30 f, 6.26133e+16f 7852 path.quadTo(SkBits2Float(0x05720089), SkBits2Float(0x25727272), SkBits2Float(0x7 2728c7a), SkBits2Float(0x5b5e7272)); // 1.13789e-35f, 2.10289e-16f, 4.80417e+30 f, 6.26133e+16f
7853 path.cubicTo(SkBits2Float(0x03000074), SkBits2Float(0x4aff00e8), SkBits2Float(0x 397d3972), SkBits2Float(0x01000400), SkBits2Float(0x72727a10), SkBits2Float(0x5e 827272)); // 3.76163e-37f, 8.35596e+06f, 0.000241494f, 2.35128e-38f, 4.80275e+3 0f, 4.69985e+18f 7853 path.cubicTo(SkBits2Float(0x03000074), SkBits2Float(0x4aff00e8), SkBits2Float(0x 397d3972), SkBits2Float(0x01000400), SkBits2Float(0x72727a10), SkBits2Float(0x5e 827272)); // 3.76163e-37f, 8.35596e+06f, 0.000241494f, 2.35128e-38f, 4.80275e+3 0f, 4.69985e+18f
7854 path.quadTo(SkBits2Float(0x97fc16f3), SkBits2Float(0x0039fc5b), SkBits2Float(0x0 0f6472e), SkBits2Float(0x01008000)); // -1.62909e-24f, 5.32515e-39f, 2.26171e-3 8f, 2.36017e-38f 7854 path.quadTo(SkBits2Float(0x97fc16f3), SkBits2Float(0x0039fc5b), SkBits2Float(0x0 0f6472e), SkBits2Float(0x01008000)); // -1.62909e-24f, 5.32515e-39f, 2.26171e-3 8f, 2.36017e-38f
7855 path.quadTo(SkBits2Float(0x7a057272), SkBits2Float(0x72727272), SkBits2Float(0xf 3db5e64), SkBits2Float(0x4a5afc16)); // 1.73224e+35f, 4.80216e+30f, -3.47604e+3 1f, 3.58785e+06f 7855 path.quadTo(SkBits2Float(0x7a057272), SkBits2Float(0x72727272), SkBits2Float(0xf 3db5e64), SkBits2Float(0x4a5afc16)); // 1.73224e+35f, 4.80216e+30f, -3.47604e+3 1f, 3.58785e+06f
7856 7856
7857 SkPath path2(path); 7857 SkPath path2(path);
7858 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename); 7858 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
7859 } 7859 }
7860 7860
7861 static void fuzz763_43(skiatest::Reporter* reporter, const char* filename) {
7862 SkPath path;
7863 path.setFillType((SkPath::FillType) 1);
7864
7865 SkPath path1(path);
7866 path.reset();
7867 path.setFillType((SkPath::FillType) 0);
7868 path.moveTo(SkBits2Float(0x5c386c3a), SkBits2Float(0x4e691a3e)); // 2.07642e+17 f, 9.77703e+08f
7869 path.cubicTo(SkBits2Float(0x6f69f9f5), SkBits2Float(0x18ff8791), SkBits2Float(0x 2492263c), SkBits2Float(0xbc6fdb48), SkBits2Float(0xc2f82107), SkBits2Float(0x72 9a18e1)); // 7.24122e+28f, 6.60528e-24f, 6.33822e-17f, -0.0146397f, -124.065f, 6.10442e+30f
7870 path.cubicTo(SkBits2Float(0x07d729d1), SkBits2Float(0xdea6db48), SkBits2Float(0x cd1dfb88), SkBits2Float(0x90826769), SkBits2Float(0x1c20e5a4), SkBits2Float(0xa4 c3ba9b)); // 3.23742e-34f, -6.01164e+18f, -1.65657e+08f, -5.14353e-29f, 5.32364 e-22f, -8.48839e-17f
7871 path.moveTo(SkBits2Float(0xcc2084b7), SkBits2Float(0x19f68bdb)); // -4.20789e+0 7f, 2.54923e-23f
7872 path.close();
7873 path.moveTo(SkBits2Float(0xcc2084b7), SkBits2Float(0x19f68bdb)); // -4.20789e+0 7f, 2.54923e-23f
7874 path.cubicTo(SkBits2Float(0xdeea1d6e), SkBits2Float(0xc7774804), SkBits2Float(0x 27cf0dcf), SkBits2Float(0x6ae8b99f), SkBits2Float(0x24ac3260), SkBits2Float(0x06 2fa93c)); // -8.43488e+18f, -63304, 5.7469e-15f, 1.40674e+26f, 7.46784e-17f, 3. 30382e-35f
7875 path.lineTo(SkBits2Float(0x438a0b9c), SkBits2Float(0x60a1d2c8)); // 276.091f, 9 .32848e+19f
7876 path.quadTo(SkBits2Float(0xe13fb902), SkBits2Float(0x07ee536f), SkBits2Float(0x9 71d8ac1), SkBits2Float(0x2f9f174b)); // -2.21041e+20f, 3.58593e-34f, -5.09046e- 25f, 2.89385e-10f
7877 path.lineTo(SkBits2Float(0x0f2cf5d8), SkBits2Float(0xe271654c)); // 8.5276e-30f , -1.11324e+21f
7878 path.lineTo(SkBits2Float(0xe6cf24d2), SkBits2Float(0xd9537742)); // -4.89105e+2 3f, -3.72015e+15f
7879 path.cubicTo(SkBits2Float(0x1aaaee04), SkBits2Float(0x9e3b804c), SkBits2Float(0x 84cba87d), SkBits2Float(0x4e0e8ccc), SkBits2Float(0x2aec611a), SkBits2Float(0x7a e4b639)); // 7.06949e-23f, -9.92623e-21f, -4.78798e-36f, 5.97898e+08f, 4.19894e -13f, 5.9377e+35f
7880 path.conicTo(SkBits2Float(0x73357921), SkBits2Float(0x6f163021), SkBits2Float(0x 70ea542c), SkBits2Float(0xe008f404), SkBits2Float(0x1f6c5e52)); // 1.43778e+31f , 4.64809e+28f, 5.8017e+29f, -3.94741e+19f, 5.0053e-20f
7881 path.lineTo(SkBits2Float(0xda45ad4e), SkBits2Float(0xedce4a04)); // -1.39103e+1 6f, -7.98042e+27f
7882 path.lineTo(SkBits2Float(0xac0e45da), SkBits2Float(0x8f632841)); // -2.02182e-1 2f, -1.11997e-29f
7883 path.lineTo(SkBits2Float(0xcc2084b7), SkBits2Float(0x19f68bdb)); // -4.20789e+0 7f, 2.54923e-23f
7884 path.close();
7885 path.moveTo(SkBits2Float(0xcc2084b7), SkBits2Float(0x19f68bdb)); // -4.20789e+0 7f, 2.54923e-23f
7886 path.quadTo(SkBits2Float(0xf35c4ad5), SkBits2Float(0x0692f251), SkBits2Float(0x6 9632126), SkBits2Float(0xb927af67)); // -1.74534e+31f, 5.52751e-35f, 1.71614e+2 5f, -0.000159917f
7887 path.moveTo(SkBits2Float(0x6534bff9), SkBits2Float(0x434a9986)); // 5.3348e+22f , 202.6f
7888 path.quadTo(SkBits2Float(0x37c603e5), SkBits2Float(0xa0683953), SkBits2Float(0x7 51915e4), SkBits2Float(0x831c911a)); // 2.36053e-05f, -1.96701e-19f, 1.94059e+3 2f, -4.60108e-37f
7889 path.cubicTo(SkBits2Float(0xba4f10f1), SkBits2Float(0x5a7571df), SkBits2Float(0x 4ec67459), SkBits2Float(0x33c58827), SkBits2Float(0x10b78ccb), SkBits2Float(0xed bd2748)); // -0.000789895f, 1.72716e+16f, 1.66476e+09f, 9.19829e-08f, 7.23977e- 29f, -7.31752e+27f
7890 path.cubicTo(SkBits2Float(0x6d06f06a), SkBits2Float(0xe30465cf), SkBits2Float(0x c5458fe7), SkBits2Float(0xca488dc4), SkBits2Float(0x38f9021c), SkBits2Float(0x3e 8d58db)); // 2.6101e+27f, -2.44231e+21f, -3160.99f, -3.28587e+06f, 0.000118736f , 0.276069f
7891
7892 SkPath path2(path);
7893 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
7894 }
7895
7861 static struct TestDesc failTests[] = { 7896 static struct TestDesc failTests[] = {
7897 TEST(fuzz763_43),
7862 TEST(fuzz763_42), 7898 TEST(fuzz763_42),
7863 TEST(fuzz763_41), 7899 TEST(fuzz763_41),
7864 TEST(fuzz763_40), 7900 TEST(fuzz763_40),
7865 TEST(fuzz763_39), 7901 TEST(fuzz763_39),
7866 TEST(fuzz763_38), 7902 TEST(fuzz763_38),
7867 TEST(fuzz763_37), 7903 TEST(fuzz763_37),
7868 TEST(fuzz763_36), 7904 TEST(fuzz763_36),
7869 TEST(fuzz763_35), 7905 TEST(fuzz763_35),
7870 TEST(fuzz763_34), 7906 TEST(fuzz763_34),
7871 TEST(fuzz763_33), 7907 TEST(fuzz763_33),
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
7934 static struct TestDesc repTests[] = { 7970 static struct TestDesc repTests[] = {
7935 TEST(loops44i), 7971 TEST(loops44i),
7936 TEST(loops45i), 7972 TEST(loops45i),
7937 TEST(loops46i), 7973 TEST(loops46i),
7938 }; 7974 };
7939 7975
7940 DEF_TEST(PathOpsRepOp, reporter) { 7976 DEF_TEST(PathOpsRepOp, reporter) {
7941 for (int index = 0; index < 2; ++index) 7977 for (int index = 0; index < 2; ++index)
7942 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n ullptr, false); 7978 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n ullptr, false);
7943 } 7979 }
OLDNEW
« no previous file with comments | « src/pathops/SkPathWriter.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698