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

Unified Diff: tests/PaintTest.cpp

Issue 21949007: Remove operator== from SkPaint (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/views/animated/SkStaticTextView.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/PaintTest.cpp
diff --git a/tests/PaintTest.cpp b/tests/PaintTest.cpp
index e25c7c3f08a8efe41d3168050dd15e32b6cb7b6a..3a7fc503ce17dc2da8b22e7f410cd87f145de58c 100644
--- a/tests/PaintTest.cpp
+++ b/tests/PaintTest.cpp
@@ -133,6 +133,19 @@ static void test_filterlevel(skiatest::Reporter* reporter) {
}
}
+// Helper to test equality between paints when we know nothing has mutated.
+class PaintEqualityHelper {
+public:
+ static bool PaintEquals(const SkPaint& a, const SkPaint &b) {
mtklein 2013/08/05 18:18:14 I think we can ditch the class and just have a fre
+ #ifdef SK_BUILD_FOR_ANDROID
+ 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 +160,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, PaintEqualityHelper::PaintEquals(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, PaintEqualityHelper::PaintEquals(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, PaintEqualityHelper::PaintEquals(paint, copiedPaint));
#ifdef SK_BUILD_FOR_ANDROID
// the equals operator should increment the Generation ID
@@ -173,15 +186,15 @@ 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, PaintEqualityHelper::PaintEquals(cleanPaint, paint));
+ REPORTER_ASSERT(reporter, PaintEqualityHelper::PaintEquals(cleanPaint, copiedPaint));
#ifdef SK_BUILD_FOR_ANDROID
// the reset function should increment the Generation ID
REPORTER_ASSERT(reporter, paint.getGenerationID() != paintGenID);
REPORTER_ASSERT(reporter, copiedPaint.getGenerationID() != copiedPaintGenID);
- REPORTER_ASSERT(reporter, memcmp(&cleanPaint, &paint, sizeof(cleanPaint)));
- REPORTER_ASSERT(reporter, memcmp(&cleanPaint, &copiedPaint, sizeof(cleanPaint)));
+ REPORTER_ASSERT(reporter, !PaintEqualityHelper::PaintEquals(cleanPaint, paint));
+ REPORTER_ASSERT(reporter, !PaintEqualityHelper::PaintEquals(cleanPaint, copiedPaint));
#endif
}
« no previous file with comments | « src/views/animated/SkStaticTextView.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698