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

Unified Diff: tests/PaintTest.cpp

Issue 239393002: remove legacy filter-flags, and store FilterLevel directly (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: use DEF_TEST Created 6 years, 8 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/pipe/SkGPipeWrite.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 c41e23ac54630e5844710f6427a7a8c1671bb208..57c6be85a78584af640e68e4a1eb162ef8bdf7da 100644
--- a/tests/PaintTest.cpp
+++ b/tests/PaintTest.cpp
@@ -228,6 +228,76 @@ DEF_TEST(Paint_regression_cubic, reporter) {
REPORTER_ASSERT(reporter, maxR.contains(strokeR));
}
+DEF_TEST(Paint_flattening, reporter) {
+ const SkPaint::FilterLevel levels[] = {
+ SkPaint::kNone_FilterLevel,
+ SkPaint::kLow_FilterLevel,
+ SkPaint::kMedium_FilterLevel,
+ SkPaint::kHigh_FilterLevel,
+ };
+ const SkPaint::Hinting hinting[] = {
+ SkPaint::kNo_Hinting,
+ SkPaint::kSlight_Hinting,
+ SkPaint::kNormal_Hinting,
+ SkPaint::kFull_Hinting,
+ };
+ const SkPaint::Align align[] = {
+ SkPaint::kLeft_Align,
+ SkPaint::kCenter_Align,
+ SkPaint::kRight_Align
+ };
+ const SkPaint::Cap caps[] = {
+ SkPaint::kButt_Cap,
+ SkPaint::kRound_Cap,
+ SkPaint::kSquare_Cap,
+ };
+ const SkPaint::Join joins[] = {
+ SkPaint::kMiter_Join,
+ SkPaint::kRound_Join,
+ SkPaint::kBevel_Join,
+ };
+ const SkPaint::TextEncoding encodings[] = {
+ SkPaint::kUTF8_TextEncoding,
+ SkPaint::kUTF16_TextEncoding,
+ SkPaint::kUTF32_TextEncoding,
+ SkPaint::kGlyphID_TextEncoding,
+ };
+ const SkPaint::Style styles[] = {
+ SkPaint::kFill_Style,
+ SkPaint::kStroke_Style,
+ SkPaint::kStrokeAndFill_Style,
+ };
+
+#define FOR_SETUP(index, array, setter) \
+ for (size_t index = 0; index < SK_ARRAY_COUNT(array); ++index) { \
+ paint.setter(array[index]); \
+
+ SkPaint paint;
+ paint.setFlags(0x1234);
+
+ FOR_SETUP(i, levels, setFilterLevel)
+ FOR_SETUP(j, hinting, setHinting)
+ FOR_SETUP(k, align, setTextAlign)
+ FOR_SETUP(l, caps, setStrokeCap)
+ FOR_SETUP(m, joins, setStrokeJoin)
+ FOR_SETUP(n, encodings, setTextEncoding)
+ FOR_SETUP(p, styles, setStyle)
+
+ SkWriteBuffer writer;
+ paint.flatten(writer);
+
+ const uint32_t* written = writer.getWriter32()->contiguousArray();
+ SkReadBuffer reader(written, writer.bytesWritten());
+
+ SkPaint paint2;
+ paint2.unflatten(reader);
+ REPORTER_ASSERT(reporter, paint2 == paint);
+
+ }}}}}}}
+#undef FOR_SETUP
+
+}
+
// found and fixed for android: not initializing rect for string's of length 0
DEF_TEST(Paint_regression_measureText, reporter) {
« no previous file with comments | « src/pipe/SkGPipeWrite.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698