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

Side by Side Diff: ui/gfx/mojo/struct_traits_unittest.cc

Issue 2037453002: Implement ui/gfx/geometry StructTraits unit tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix SizeF unit test Created 4 years, 6 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 2016 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 "base/message_loop/message_loop.h"
6 #include "mojo/public/cpp/bindings/binding_set.h"
7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "ui/gfx/mojo/traits_test_service.mojom.h"
9 #include "ui/gfx/transform.h"
10
11 namespace gfx {
12
13 namespace {
14
15 class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
16 public:
17 StructTraitsTest() {}
18
19 protected:
20 mojom::TraitsTestServicePtr GetTraitsTestProxy() {
21 return traits_test_bindings_.CreateInterfacePtrAndBind(this);
22 }
23
24 private:
25 // TraitsTestService:
26 void EchoTransform(const Transform& t,
27 const EchoTransformCallback& callback) override {
28 callback.Run(t);
29 }
30
31 base::MessageLoop loop_;
32 mojo::BindingSet<TraitsTestService> traits_test_bindings_;
33 };
34
35 } // namespace
36
37 TEST_F(StructTraitsTest, Transform) {
38 const float col1row1 = 1.f;
39 const float col2row1 = 2.f;
40 const float col3row1 = 3.f;
41 const float col4row1 = 4.f;
42 const float col1row2 = 5.f;
43 const float col2row2 = 6.f;
44 const float col3row2 = 7.f;
45 const float col4row2 = 8.f;
46 const float col1row3 = 9.f;
47 const float col2row3 = 10.f;
48 const float col3row3 = 11.f;
49 const float col4row3 = 12.f;
50 const float col1row4 = 13.f;
51 const float col2row4 = 14.f;
52 const float col3row4 = 15.f;
53 const float col4row4 = 16.f;
54 gfx::Transform input(col1row1, col2row1, col3row1, col4row1, col1row2,
55 col2row2, col3row2, col4row2, col1row3, col2row3,
56 col3row3, col4row3, col1row4, col2row4, col3row4,
57 col4row4);
58 mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
59 gfx::Transform output;
60 proxy->EchoTransform(input, &output);
61 EXPECT_EQ(col1row1, output.matrix().get(0, 0));
62 EXPECT_EQ(col2row1, output.matrix().get(0, 1));
63 EXPECT_EQ(col3row1, output.matrix().get(0, 2));
64 EXPECT_EQ(col4row1, output.matrix().get(0, 3));
65 EXPECT_EQ(col1row2, output.matrix().get(1, 0));
66 EXPECT_EQ(col2row2, output.matrix().get(1, 1));
67 EXPECT_EQ(col3row2, output.matrix().get(1, 2));
68 EXPECT_EQ(col4row2, output.matrix().get(1, 3));
69 EXPECT_EQ(col1row3, output.matrix().get(2, 0));
70 EXPECT_EQ(col2row3, output.matrix().get(2, 1));
71 EXPECT_EQ(col3row3, output.matrix().get(2, 2));
72 EXPECT_EQ(col4row3, output.matrix().get(2, 3));
73 EXPECT_EQ(col1row4, output.matrix().get(3, 0));
74 EXPECT_EQ(col2row4, output.matrix().get(3, 1));
75 EXPECT_EQ(col3row4, output.matrix().get(3, 2));
76 EXPECT_EQ(col4row4, output.matrix().get(3, 3));
77 }
78
79 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698