| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 #define TEST(name) { name, #name } | 10 #define TEST(name) { name, #name } |
| (...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 465 #endif | 465 #endif |
| 466 path.lineTo(SkBits2Float(0x43c02666), SkBits2Float(0x42823333)); // 384.3f, 65.
1f | 466 path.lineTo(SkBits2Float(0x43c02666), SkBits2Float(0x42823333)); // 384.3f, 65.
1f |
| 467 path.lineTo(SkBits2Float(0x43994ccd), SkBits2Float(0x42823333)); // 306.6f, 65.
1f | 467 path.lineTo(SkBits2Float(0x43994ccd), SkBits2Float(0x42823333)); // 306.6f, 65.
1f |
| 468 path.close(); | 468 path.close(); |
| 469 return path; | 469 return path; |
| 470 } | 470 } |
| 471 | 471 |
| 472 static void issue3651_1a(skiatest::Reporter* reporter, const char* filename) { | 472 static void issue3651_1a(skiatest::Reporter* reporter, const char* filename) { |
| 473 SkPath path = path1_a(); | 473 SkPath path = path1_a(); |
| 474 SkPath pathB = path2_a(); | 474 SkPath pathB = path2_a(); |
| 475 testPathOp(reporter, path, pathB, SkPathOp::kUnion_SkPathOp, filename); | 475 // DEBUG_UNDER_DEVELOPMENT issue3651_1a disable expectation check for now |
| 476 testPathOpCheck(reporter, path, pathB, SkPathOp::kUnion_SkPathOp, filename,
!FLAGS_runFail); |
| 476 } | 477 } |
| 477 | 478 |
| 478 static SkPath path3() { | 479 static SkPath path3() { |
| 479 SkPath path; | 480 SkPath path; |
| 480 path.moveTo(SkBits2Float(0x42b06666), SkBits2Float(0x42bd0000)); // 88.2f, 94.5
f | 481 path.moveTo(SkBits2Float(0x42b06666), SkBits2Float(0x42bd0000)); // 88.2f, 94.5
f |
| 481 path.lineTo(SkBits2Float(0x42b06666), SkBits2Float(0x42bd0000)); // 88.2f, 94.5
f | 482 path.lineTo(SkBits2Float(0x42b06666), SkBits2Float(0x42bd0000)); // 88.2f, 94.5
f |
| 482 path.cubicTo(SkBits2Float(0x42b1cccd), SkBits2Float(0x42bd0000), SkBits2Float(0x
42b33333), SkBits2Float(0x42bd2573), SkBits2Float(0x42b4999a), SkBits2Float(0x42
bd0000)); // 88.9f, 94.5f, 89.6f, 94.5731f, 90.3f, 94.5f | 483 path.cubicTo(SkBits2Float(0x42b1cccd), SkBits2Float(0x42bd0000), SkBits2Float(0x
42b33333), SkBits2Float(0x42bd2573), SkBits2Float(0x42b4999a), SkBits2Float(0x42
bd0000)); // 88.9f, 94.5f, 89.6f, 94.5731f, 90.3f, 94.5f |
| 483 path.cubicTo(SkBits2Float(0x42b60000), SkBits2Float(0x42bcda8d), SkBits2Float(0x
42b76666), SkBits2Float(0x42bc4598), SkBits2Float(0x42b8cccd), SkBits2Float(0x42
bc1f4b)); // 91, 94.4269f, 91.7f, 94.1359f, 92.4f, 94.0611f | 484 path.cubicTo(SkBits2Float(0x42b60000), SkBits2Float(0x42bcda8d), SkBits2Float(0x
42b76666), SkBits2Float(0x42bc4598), SkBits2Float(0x42b8cccd), SkBits2Float(0x42
bc1f4b)); // 91, 94.4269f, 91.7f, 94.1359f, 92.4f, 94.0611f |
| 484 path.cubicTo(SkBits2Float(0x42ba3333), SkBits2Float(0x42bbf8ff), SkBits2Float(0x
42bb999a), SkBits2Float(0x42bc1b9e), SkBits2Float(0x42bd0000), SkBits2Float(0x42
bc1a35)); // 93.1f, 93.9863f, 93.8f, 94.0539f, 94.5f, 94.0512f | 485 path.cubicTo(SkBits2Float(0x42ba3333), SkBits2Float(0x42bbf8ff), SkBits2Float(0x
42bb999a), SkBits2Float(0x42bc1b9e), SkBits2Float(0x42bd0000), SkBits2Float(0x42
bc1a35)); // 93.1f, 93.9863f, 93.8f, 94.0539f, 94.5f, 94.0512f |
| 485 path.cubicTo(SkBits2Float(0x42be6666), SkBits2Float(0x42bc18cb), SkBits2Float(0x
42bfcccd), SkBits2Float(0x42bc17f2), SkBits2Float(0x42c13333), SkBits2Float(0x42
bc16d0)); // 95.2f, 94.0484f, 95.9f, 94.0468f, 96.6f, 94.0446f | 486 path.cubicTo(SkBits2Float(0x42be6666), SkBits2Float(0x42bc18cb), SkBits2Float(0x
42bfcccd), SkBits2Float(0x42bc17f2), SkBits2Float(0x42c13333), SkBits2Float(0x42
bc16d0)); // 95.2f, 94.0484f, 95.9f, 94.0468f, 96.6f, 94.0446f |
| (...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1195 path.cubicTo(SkBits2Float(0x4403f333), SkBits2Float(0x42c99d06), SkBits2Float(0x
44042000), SkBits2Float(0x42c99bdf), SkBits2Float(0x44044ccd), SkBits2Float(0x42
c9999a)); // 527.8f, 100.807f, 528.5f, 100.804f, 529.2f, 100.8f | 1196 path.cubicTo(SkBits2Float(0x4403f333), SkBits2Float(0x42c99d06), SkBits2Float(0x
44042000), SkBits2Float(0x42c99bdf), SkBits2Float(0x44044ccd), SkBits2Float(0x42
c9999a)); // 527.8f, 100.807f, 528.5f, 100.804f, 529.2f, 100.8f |
| 1196 path.lineTo(SkBits2Float(0x44044ccd), SkBits2Float(0x42c9999a)); // 529.2f, 100
.8f | 1197 path.lineTo(SkBits2Float(0x44044ccd), SkBits2Float(0x42c9999a)); // 529.2f, 100
.8f |
| 1197 path.lineTo(SkBits2Float(0x43dfa666), SkBits2Float(0x42c9999a)); // 447.3f, 100
.8f | 1198 path.lineTo(SkBits2Float(0x43dfa666), SkBits2Float(0x42c9999a)); // 447.3f, 100
.8f |
| 1198 path.close(); | 1199 path.close(); |
| 1199 return path; | 1200 return path; |
| 1200 } | 1201 } |
| 1201 | 1202 |
| 1202 static void issue3651_1(skiatest::Reporter* reporter, const char* filename) { | 1203 static void issue3651_1(skiatest::Reporter* reporter, const char* filename) { |
| 1203 SkPath path = path1(); | 1204 SkPath path = path1(); |
| 1204 SkPath pathB = path2(); | 1205 SkPath pathB = path2(); |
| 1205 testPathOp(reporter, path, pathB, SkPathOp::kUnion_SkPathOp, filename); | 1206 // DEBUG_UNDER_DEVELOPMENT issue3651_1 disable expectation check for now |
| 1207 testPathOpCheck(reporter, path, pathB, SkPathOp::kUnion_SkPathOp, filename,
!FLAGS_runFail); |
| 1206 } | 1208 } |
| 1207 | 1209 |
| 1208 static void issue3651_2(skiatest::Reporter* reporter, const char* filename) { | 1210 static void issue3651_2(skiatest::Reporter* reporter, const char* filename) { |
| 1209 SkPath path = path3(); | 1211 SkPath path = path3(); |
| 1210 SkPath pathB = path4(); | 1212 SkPath pathB = path4(); |
| 1211 testPathOp(reporter, path, pathB, SkPathOp::kUnion_SkPathOp, filename); | 1213 testPathOp(reporter, path, pathB, SkPathOp::kUnion_SkPathOp, filename); |
| 1212 } | 1214 } |
| 1213 | 1215 |
| 1214 static void issue3651_3(skiatest::Reporter* reporter, const char* filename) { | 1216 static void issue3651_3(skiatest::Reporter* reporter, const char* filename) { |
| 1215 SkPath path = path5(); | 1217 SkPath path = path5(); |
| (...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1649 path.cubicTo(SkBits2Float(0x43795555), SkBits2Float(0x4295a806), SkBits2Float(0x
437a1111), SkBits2Float(0x42959dad), SkBits2Float(0x437acccd), SkBits2Float(0x42
95999a)); // 249.333f, 74.8282f, 250.067f, 74.808f, 250.8f, 74.8f | 1651 path.cubicTo(SkBits2Float(0x43795555), SkBits2Float(0x4295a806), SkBits2Float(0x
437a1111), SkBits2Float(0x42959dad), SkBits2Float(0x437acccd), SkBits2Float(0x42
95999a)); // 249.333f, 74.8282f, 250.067f, 74.808f, 250.8f, 74.8f |
| 1650 path.cubicTo(SkBits2Float(0x437b8889), SkBits2Float(0x42959588), SkBits2Float(0x
437c4444), SkBits2Float(0x4295999a), SkBits2Float(0x437d0000), SkBits2Float(0x42
95999a)); // 251.533f, 74.7921f, 252.267f, 74.8f, 253, 74.8f | 1652 path.cubicTo(SkBits2Float(0x437b8889), SkBits2Float(0x42959588), SkBits2Float(0x
437c4444), SkBits2Float(0x4295999a), SkBits2Float(0x437d0000), SkBits2Float(0x42
95999a)); // 251.533f, 74.7921f, 252.267f, 74.8f, 253, 74.8f |
| 1651 path.lineTo(SkBits2Float(0x437d0000), SkBits2Float(0x4295999a)); // 253, 74.8f | 1653 path.lineTo(SkBits2Float(0x437d0000), SkBits2Float(0x4295999a)); // 253, 74.8f |
| 1652 path.lineTo(SkBits2Float(0x42886666), SkBits2Float(0x4295999a)); // 68.2f, 74.8
f | 1654 path.lineTo(SkBits2Float(0x42886666), SkBits2Float(0x4295999a)); // 68.2f, 74.8
f |
| 1653 path.close(); | 1655 path.close(); |
| 1654 testPathOp(reporter, pathA, path, SkPathOp::kUnion_SkPathOp, filename); | 1656 testPathOp(reporter, pathA, path, SkPathOp::kUnion_SkPathOp, filename); |
| 1655 } | 1657 } |
| 1656 | 1658 |
| 1657 | 1659 |
| 1658 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; | 1660 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; |
| 1659 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0; | 1661 static void (*firstTest)(skiatest::Reporter* , const char* filename) = issue3651
_1; |
| 1660 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; | 1662 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; |
| 1661 | 1663 |
| 1662 static struct TestDesc tests[] = { | 1664 static struct TestDesc tests[] = { |
| 1663 TEST(issue3651_6), | 1665 TEST(issue3651_6), |
| 1664 TEST(issue3651_1a), | 1666 TEST(issue3651_1a), |
| 1665 TEST(issue3651_1), | 1667 TEST(issue3651_1), |
| 1666 TEST(issue3651_7), | 1668 TEST(issue3651_7), |
| 1667 TEST(issue3651_5), | 1669 TEST(issue3651_5), |
| 1668 TEST(issue3651_4), | 1670 TEST(issue3651_4), |
| 1669 TEST(issue3651_2), | 1671 TEST(issue3651_2), |
| 1670 TEST(issue3651_3), | 1672 TEST(issue3651_3), |
| 1671 }; | 1673 }; |
| 1672 | 1674 |
| 1673 static const size_t testCount = SK_ARRAY_COUNT(tests); | 1675 static const size_t testCount = SK_ARRAY_COUNT(tests); |
| 1674 | 1676 |
| 1675 static bool runReverse = false; | 1677 static bool runReverse = false; |
| 1676 | 1678 |
| 1677 DEF_TEST(PathOpsIssue3651, reporter) { | 1679 DEF_TEST(PathOpsIssue3651, reporter) { |
| 1678 #if DEBUG_SHOW_TEST_NAME | 1680 #if DEBUG_SHOW_TEST_NAME |
| 1679 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); | 1681 strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH); |
| 1680 #endif | 1682 #endif |
| 1681 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev
erse); | 1683 RunTestSet(reporter, tests, testCount, firstTest, skipTest, stopTest, runRev
erse); |
| 1682 } | 1684 } |
| OLD | NEW |