OLD | NEW |
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 7178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7189 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f
, 1.9278e+31f | 7189 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f
, 1.9278e+31f |
7190 path.close(); | 7190 path.close(); |
7191 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f
, 1.9278e+31f | 7191 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f
, 1.9278e+31f |
7192 path.cubicTo(SkBits2Float(0x299e9e9e), SkBits2Float(0xecececec), SkBits2Float(0x
ececb6ec), SkBits2Float(0xf0ececec), SkBits2Float(0x0000ecec), SkBits2Float(0x9e
be6e6e)); // 7.04413e-14f, -2.2914e+27f, -2.28936e+27f, -5.86599e+29f, 8.49916e
-41f, -2.01627e-20f | 7192 path.cubicTo(SkBits2Float(0x299e9e9e), SkBits2Float(0xecececec), SkBits2Float(0x
ececb6ec), SkBits2Float(0xf0ececec), SkBits2Float(0x0000ecec), SkBits2Float(0x9e
be6e6e)); // 7.04413e-14f, -2.2914e+27f, -2.28936e+27f, -5.86599e+29f, 8.49916e
-41f, -2.01627e-20f |
7193 path.cubicTo(SkBits2Float(0x9e9e9e9e), SkBits2Float(0xe8009e9e), SkBits2Float(0x
9e9e9e9e), SkBits2Float(0xecec9e9e), SkBits2Float(0xec3333ec), SkBits2Float(0xec
ecf0ec)); // -1.67945e-20f, -2.42956e+24f, -1.67945e-20f, -2.28844e+27f, -8.665
72e+26f, -2.29155e+27f | 7193 path.cubicTo(SkBits2Float(0x9e9e9e9e), SkBits2Float(0xe8009e9e), SkBits2Float(0x
9e9e9e9e), SkBits2Float(0xecec9e9e), SkBits2Float(0xec3333ec), SkBits2Float(0xec
ecf0ec)); // -1.67945e-20f, -2.42956e+24f, -1.67945e-20f, -2.28844e+27f, -8.665
72e+26f, -2.29155e+27f |
7194 | 7194 |
7195 SkPath path2(path); | 7195 SkPath path2(path); |
7196 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename); | 7196 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename); |
7197 } | 7197 } |
7198 | 7198 |
| 7199 static void fuzz763_25(skiatest::Reporter* reporter, const char* filename) { |
| 7200 SkPath path; |
| 7201 path.setFillType((SkPath::FillType) 1); |
| 7202 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc4)); // 0, 6.14991e
+25f |
| 7203 path.conicTo(SkBits2Float(0x653140d9), SkBits2Float(0x6a4b4f74), SkBits2Float(0x
65906630), SkBits2Float(0x6a25a070), SkBits2Float(0x3f6728a2)); // 5.23159e+22f
, 6.14468e+25f, 8.52382e+22f, 5.00576e+25f, 0.902964f |
| 7204 path.cubicTo(SkBits2Float(0x68295bc5), SkBits2Float(0x00000000), SkBits2Float(0x
682958ff), SkBits2Float(0x00000000), SkBits2Float(0x68286829), SkBits2Float(0x00
000000)); // 3.19909e+24f, 0, 3.19889e+24f, 0, 3.18112e+24f, 0 |
| 7205 path.lineTo(SkBits2Float(0x68555b29), SkBits2Float(0x00000000)); // 4.03018e+24
f, 0 |
| 7206 path.conicTo(SkBits2Float(0x00000000), SkBits2Float(0x682d2927), SkBits2Float(0x
00000000), SkBits2Float(0x00000000), SkBits2Float(0x6829686f)); // 0, 3.27091e+
24f, 0, 0, 3.20003e+24f |
| 7207 path.lineTo(SkBits2Float(0xdf218a28), SkBits2Float(0x00000000)); // -1.16402e+1
9f, 0 |
| 7208 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc4)); // 0, 6.14991e
+25f |
| 7209 path.close(); |
| 7210 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 |
| 7211 path.conicTo(SkBits2Float(0x6642c40c), SkBits2Float(0x00000000), SkBits2Float(0x
65906630), SkBits2Float(0x6a25a070), SkBits2Float(0x3edcd74d)); // 2.29939e+23f
, 0, 8.52382e+22f, 5.00576e+25f, 0.43133f |
| 7212 path.conicTo(SkBits2Float(0x68295afa), SkBits2Float(0x00000000), SkBits2Float(0x
00000000), SkBits2Float(0x00000000), SkBits2Float(0x4277a57b)); // 3.19903e+24f
, 0, 0, 0, 61.9116f |
| 7213 path.close(); |
| 7214 |
| 7215 SkPath path1(path); |
| 7216 path.reset(); |
| 7217 path.setFillType((SkPath::FillType) 0); |
| 7218 |
| 7219 SkPath path2(path); |
| 7220 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename); |
| 7221 } |
| 7222 |
| 7223 |
| 7224 static void fuzz763_26(skiatest::Reporter* reporter, const char* filename) { |
| 7225 SkPath path; |
| 7226 path.setFillType((SkPath::FillType) 0); |
| 7227 |
| 7228 SkPath path1(path); |
| 7229 path.reset(); |
| 7230 path.setFillType((SkPath::FillType) 0); |
| 7231 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24
f, 1.50617e+13f |
| 7232 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc003210a)); // 3.60396e-20
f, -2.04889f |
| 7233 path.cubicTo(SkBits2Float(0x68372d55), SkBits2Float(0xf05b684b), SkBits2Float(0x
8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0x6a
4b7bc0)); // 3.46012e+24f, -2.71613e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e-
37f, 6.14991e+25f |
| 7234 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x
6a4b7bc0), SkBits2Float(0x2829ed84), SkBits2Float(0x69555b2d)); // 5.77848e-19f
, 4.7323e-37f, 6.14991e+25f, 9.43289e-15f, 1.61207e+25f |
| 7235 path.moveTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0682955)); // 3.35016e+24
f, -2.87402e+29f |
| 7236 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x8cef552a), SkBits2Float(0x
295b2d2a), SkBits2Float(0x68210368), SkBits2Float(0x7bc05508)); // 5.76397e-19f
, -3.6875e-31f, 4.86669e-14f, 3.04146e+24f, 1.99729e+36f |
| 7237 path.lineTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0682955)); // 3.35016e+24
f, -2.87402e+29f |
| 7238 path.close(); |
| 7239 path.moveTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0682955)); // 3.35016e+24
f, -2.87402e+29f |
| 7240 path.lineTo(SkBits2Float(0x5b2c6829), SkBits2Float(0x212a8c55)); // 4.85282e+16
f, 5.7784e-19f |
| 7241 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f
, 6.14991e+25f |
| 7242 path.conicTo(SkBits2Float(0x68385b2d), SkBits2Float(0x555bf055), SkBits2Float(0x
2a1f2a8c), SkBits2Float(0x03212121), SkBits2Float(0x5a4b7bc0)); // 3.48239e+24f
, 1.51141e+13f, 1.41368e-13f, 4.73517e-37f, 1.43189e+16f |
| 7243 path.conicTo(SkBits2Float(0xc08c2aed), SkBits2Float(0x211f2108), SkBits2Float(0x
6a4b7b03), SkBits2Float(0x6829ed27), SkBits2Float(0x2d555b2d)); // -4.38024f, 5
.3915e-19f, 6.14982e+25f, 3.20982e+24f, 1.21279e-11f |
| 7244 path.moveTo(SkBits2Float(0x68355b2d), SkBits2Float(0xf0685527)); // 3.42572e+24
f, -2.87614e+29f |
| 7245 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x6e2a1f72), SkBits2Float(0x
0321082a), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x4793ed7a)); // 2.49282e-13f
, 1.31626e+28f, 4.7323e-37f, 6.14991e+25f, 75739 |
| 7246 path.lineTo(SkBits2Float(0x68355b2d), SkBits2Float(0xf0685527)); // 3.42572e+24
f, -2.87614e+29f |
| 7247 path.close(); |
| 7248 path.moveTo(SkBits2Float(0x68355b2d), SkBits2Float(0xf0685527)); // 3.42572e+24
f, -2.87614e+29f |
| 7249 path.quadTo(SkBits2Float(0x2128282a), SkBits2Float(0x3a8a3adf), SkBits2Float(0x8
a284f1a), SkBits2Float(0x2c213ab3)); // 5.69738e-19f, 0.00105461f, -8.10378e-33
f, 2.29121e-12f |
| 7250 path.lineTo(SkBits2Float(0x68355b2d), SkBits2Float(0xf0685527)); // 3.42572e+24
f, -2.87614e+29f |
| 7251 path.close(); |
| 7252 path.moveTo(SkBits2Float(0x68355b2d), SkBits2Float(0xf0685527)); // 3.42572e+24
f, -2.87614e+29f |
| 7253 path.quadTo(SkBits2Float(0x1d2a2928), SkBits2Float(0x43962be6), SkBits2Float(0x3
a2a812a), SkBits2Float(0x2127ed29)); // 2.25206e-21f, 300.343f, 0.000650423f, 5
.68957e-19f |
| 7254 path.conicTo(SkBits2Float(0x03210831), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x
6829ed27), SkBits2Float(0x55555b2d), SkBits2Float(0x1e2a3a2a)); // 4.73231e-37f
, 6.14991e+25f, 3.20982e+24f, 1.46617e+13f, 9.01175e-21f |
| 7255 path.conicTo(SkBits2Float(0x27202140), SkBits2Float(0x3a3b2769), SkBits2Float(0x
c4371f20), SkBits2Float(0xecc52a22), SkBits2Float(0x21512727)); // 2.22225e-15f
, 0.000713936f, -732.486f, -1.90686e+27f, 7.08638e-19f |
| 7256 path.lineTo(SkBits2Float(0x68355b2d), SkBits2Float(0xf0685527)); // 3.42572e+24
f, -2.87614e+29f |
| 7257 path.close(); |
| 7258 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24
f, 1.21279e-11f |
| 7259 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x5b2d5529)); // 4.03114e+24
f, 4.87888e+16f |
| 7260 path.moveTo(SkBits2Float(0x1f2a322a), SkBits2Float(0xc0032108)); // 3.60404e-20
f, -2.04889f |
| 7261 path.cubicTo(SkBits2Float(0x68572d55), SkBits2Float(0xf05bd24b), SkBits2Float(0x
8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0xed
4b7bc0)); // 4.06458e+24f, -2.72126e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e-
37f, -3.93594e+27f |
| 7262 path.conicTo(SkBits2Float(0x212a8c6a), SkBits2Float(0x0329081f), SkBits2Float(0x
6a4b7bc0), SkBits2Float(0x2829ed84), SkBits2Float(0x2d555b2d)); // 5.77841e-19f
, 4.9674e-37f, 6.14991e+25f, 9.43289e-15f, 1.21279e-11f |
| 7263 path.moveTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24
f, -2.87402e+29f |
| 7264 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x8cef552a), SkBits2Float(0x
295b2d2a), SkBits2Float(0x68210368), SkBits2Float(0x7bc05508)); // 5.76397e-19f
, -3.6875e-31f, 4.86669e-14f, 3.04146e+24f, 1.99729e+36f |
| 7265 path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24
f, -2.87402e+29f |
| 7266 path.close(); |
| 7267 path.moveTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24
f, -2.87402e+29f |
| 7268 path.lineTo(SkBits2Float(0x555b1b29), SkBits2Float(0x6c212a8c)); // 1.50569e+13
f, 7.79352e+26f |
| 7269 path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x
395b2d7a), SkBits2Float(0x8c5bf055), SkBits2Float(0x1f212a3a)); // 6.10918e-34f
, 1.16348e+26f, 0.000209024f, -1.69435e-31f, 3.4128e-20f |
| 7270 path.conicTo(SkBits2Float(0x290321d9), SkBits2Float(0x555b2d68), SkBits2Float(0x
2a8c558c), SkBits2Float(0x2a212a1f), SkBits2Float(0x7bc00321)); // 2.91172e-14f
, 1.50618e+13f, 2.49284e-13f, 1.43143e-13f, 1.99397e+36f |
| 7271 path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24
f, -2.87402e+29f |
| 7272 path.close(); |
| 7273 path.moveTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24
f, -2.87402e+29f |
| 7274 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x1f2128c0)); // -1.31678e-3
1f, 3.41268e-20f |
| 7275 path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24
f, -2.87402e+29f |
| 7276 path.close(); |
| 7277 |
| 7278 SkPath path2(path); |
| 7279 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); |
| 7280 } |
| 7281 |
7199 static struct TestDesc failTests[] = { | 7282 static struct TestDesc failTests[] = { |
| 7283 TEST(fuzz763_26), |
| 7284 TEST(fuzz763_25), |
| 7285 TEST(fuzz763_24), |
7200 TEST(fuzz763_23), | 7286 TEST(fuzz763_23), |
7201 TEST(fuzz763_24), | |
7202 TEST(fuzz763_22), | 7287 TEST(fuzz763_22), |
7203 TEST(fuzz763_21), | 7288 TEST(fuzz763_21), |
7204 TEST(fuzz763_20), | 7289 TEST(fuzz763_20), |
7205 TEST(fuzz763_19), | 7290 TEST(fuzz763_19), |
7206 TEST(fuzz763_18), | 7291 TEST(fuzz763_18), |
7207 TEST(fuzz763_17), | 7292 TEST(fuzz763_17), |
7208 TEST(fuzz763_16), | 7293 TEST(fuzz763_16), |
7209 TEST(fuzz763_15), | 7294 TEST(fuzz763_15), |
7210 TEST(fuzz763_14), | 7295 TEST(fuzz763_14), |
7211 TEST(fuzz763_13), | 7296 TEST(fuzz763_13), |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7254 static struct TestDesc repTests[] = { | 7339 static struct TestDesc repTests[] = { |
7255 TEST(loops44i), | 7340 TEST(loops44i), |
7256 TEST(loops45i), | 7341 TEST(loops45i), |
7257 TEST(loops46i), | 7342 TEST(loops46i), |
7258 }; | 7343 }; |
7259 | 7344 |
7260 DEF_TEST(PathOpsRepOp, reporter) { | 7345 DEF_TEST(PathOpsRepOp, reporter) { |
7261 for (int index = 0; index < 2; ++index) | 7346 for (int index = 0; index < 2; ++index) |
7262 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n
ullptr, false); | 7347 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n
ullptr, false); |
7263 } | 7348 } |
OLD | NEW |