Chromium Code Reviews| Index: tests/PaintTest.cpp |
| diff --git a/tests/PaintTest.cpp b/tests/PaintTest.cpp |
| index e25c7c3f08a8efe41d3168050dd15e32b6cb7b6a..5c8411cf4f9327c5db3a8defaf0716dc33d8a352 100644 |
| --- a/tests/PaintTest.cpp |
| +++ b/tests/PaintTest.cpp |
| @@ -133,6 +133,15 @@ static void test_filterlevel(skiatest::Reporter* reporter) { |
| } |
| } |
| +bool SkPaintShallowEquals(const SkPaint& a, const SkPaint &b) { |
|
reed1
2013/08/05 20:40:37
I think this guy should just test for the fields i
|
| +#ifdef SK_BUILD_FOR_ANDROID |
| + // Assumption: fGenerationID is the last struct member. |
| + return !memcmp(&a, &b, SK_OFFSETOF(SkPaint, fGenerationID)); |
| +#else |
| + return !memcmp(&a, &b, sizeof(a)); |
| +#endif |
| +} |
| + |
| static void test_copy(skiatest::Reporter* reporter) { |
| SkPaint paint; |
| // set a few member variables |
| @@ -147,19 +156,19 @@ static void test_copy(skiatest::Reporter* reporter) { |
| // copy the paint using the copy constructor and check they are the same |
| SkPaint copiedPaint = paint; |
| - REPORTER_ASSERT(reporter, paint == copiedPaint); |
| + REPORTER_ASSERT(reporter, SkPaintShallowEquals(paint, copiedPaint)); |
| #ifdef SK_BUILD_FOR_ANDROID |
| // the copy constructor should preserve the Generation ID |
| uint32_t paintGenID = paint.getGenerationID(); |
| uint32_t copiedPaintGenID = copiedPaint.getGenerationID(); |
| REPORTER_ASSERT(reporter, paintGenID == copiedPaintGenID); |
| - REPORTER_ASSERT(reporter, !memcmp(&paint, &copiedPaint, sizeof(paint))); |
| + REPORTER_ASSERT(reporter, SkPaintShallowEquals(paint, copiedPaint)); |
| #endif |
| // copy the paint using the equal operator and check they are the same |
| copiedPaint = paint; |
| - REPORTER_ASSERT(reporter, paint == copiedPaint); |
| + REPORTER_ASSERT(reporter, SkPaintShallowEquals(paint, copiedPaint)); |
| #ifdef SK_BUILD_FOR_ANDROID |
| // the equals operator should increment the Generation ID |
| @@ -173,8 +182,8 @@ static void test_copy(skiatest::Reporter* reporter) { |
| SkPaint cleanPaint; |
| paint.reset(); |
| copiedPaint.reset(); |
| - REPORTER_ASSERT(reporter, cleanPaint == paint); |
| - REPORTER_ASSERT(reporter, cleanPaint == copiedPaint); |
| + REPORTER_ASSERT(reporter, SkPaintShallowEquals(cleanPaint, paint)); |
| + REPORTER_ASSERT(reporter, SkPaintShallowEquals(cleanPaint, copiedPaint)); |
| #ifdef SK_BUILD_FOR_ANDROID |
| // the reset function should increment the Generation ID |