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

Side by Side Diff: cc/proto/skia_conversions_unittest.cc

Issue 1399933004: Add Protobuf support for cc/playback skia usage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@blimp_geo_proto
Patch Set: Fixed bug with array bounds on unit test Created 5 years, 2 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "cc/proto/skia_conversions.h"
6
7 #include "cc/proto/skregion.pb.h"
8 #include "cc/proto/skrrect.pb.h"
9 #include "cc/proto/skxfermode.pb.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "third_party/skia/include/core/SkRRect.h"
12 #include "third_party/skia/include/core/SkRegion.h"
13 #include "third_party/skia/include/core/SkXfermode.h"
14
15 namespace cc {
16 namespace {
17
18 TEST(SkiaProtoConversionsTest, SerializeDeserializeSkRegionOp) {
19 for (size_t i = 0; i < SkRegion::Op::kLastOp; i++) {
20 SkRegion::Op op = static_cast<SkRegion::Op>(i);
21 EXPECT_EQ(op, SkRegionOpFromProto(SkRegionOpToProto(op)));
vmpstr 2015/10/21 21:58:53 Thanks for this test :) But I did manually check e
David Trainor- moved to gerrit 2015/10/23 15:40:51 Acknowledged.
22 }
23 }
24
25 TEST(SkiaProtoConversionsTest, SerializeDeserializeSkXfermodeMode) {
26 for (size_t i = 0; i < SkXfermode::Mode::kLastMode; i++) {
27 SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(i);
28 EXPECT_EQ(mode, SkXfermodeModeFromProto(SkXfermodeModeToProto(mode)));
29 }
30 }
31
32 TEST(SkiaProtoConversionsTest, SerializeDeserializeSkRRect) {
33 SkRect rect = SkRect::MakeXYWH(0, 10, 15, 20);
34 SkVector radii[4];
35 radii[0] = SkVector::Make(0.1f, 0.2f);
36 radii[1] = SkVector::Make(0.3f, 0.4f);
37 radii[2] = SkVector::Make(0.5f, 0.6f);
38 radii[3] = SkVector::Make(0.7f, 0.8f);
39
40 SkRRect rrect;
41 rrect.setRectRadii(rect, radii);
42
43 // Test RRectToProto
44 proto::SkRRect proto;
45 SkRRectToProto(rrect, &proto);
46 EXPECT_EQ(rrect.rect().x(), proto.rect().origin().x());
47 EXPECT_EQ(rrect.rect().y(), proto.rect().origin().y());
48 EXPECT_EQ(rrect.rect().width(), proto.rect().size().width());
49 EXPECT_EQ(rrect.rect().height(), proto.rect().size().height());
50
51 EXPECT_EQ(rrect.radii(SkRRect::kUpperLeft_Corner).x(),
52 proto.radii_upper_left().x());
53 EXPECT_EQ(rrect.radii(SkRRect::kUpperLeft_Corner).y(),
54 proto.radii_upper_left().y());
55 EXPECT_EQ(rrect.radii(SkRRect::kUpperRight_Corner).x(),
56 proto.radii_upper_right().x());
57 EXPECT_EQ(rrect.radii(SkRRect::kUpperRight_Corner).y(),
58 proto.radii_upper_right().y());
59 EXPECT_EQ(rrect.radii(SkRRect::kLowerRight_Corner).x(),
60 proto.radii_lower_right().x());
61 EXPECT_EQ(rrect.radii(SkRRect::kLowerRight_Corner).y(),
62 proto.radii_lower_right().y());
63 EXPECT_EQ(rrect.radii(SkRRect::kLowerLeft_Corner).x(),
64 proto.radii_lower_left().x());
65 EXPECT_EQ(rrect.radii(SkRRect::kLowerLeft_Corner).y(),
66 proto.radii_lower_left().y());
67
68 // Test ProtoToRRect
69 EXPECT_EQ(rrect, ProtoToSkRRect(proto));
70 }
71
72 } // namespace
73 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698