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

Side by Side Diff: ui/display/mojo/display_struct_traits_unittest.cc

Issue 2123613002: Add a mojom/StructTrait for display::Display. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments. Created 4 years, 5 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/display/display.h"
9 #include "ui/display/mojo/display_struct_traits_test.mojom.h"
10 #include "ui/gfx/geometry/rect.h"
11 #include "ui/gfx/geometry/size.h"
12
13 namespace display {
14
15 namespace {
16
17 class DisplayStructTraitsTest : public testing::Test,
18 public mojom::DisplayStructTraitsTest {
19 public:
20 DisplayStructTraitsTest() {}
21
22 protected:
23 mojom::DisplayStructTraitsTestPtr GetTraitsTestProxy() {
24 return traits_test_bindings_.CreateInterfacePtrAndBind(this);
25 }
26
27 private:
28 // mojom::DisplayStructTraitsTest:
29 void EchoDisplay(const Display& in,
30 const EchoDisplayCallback& callback) override {
31 callback.Run(in);
32 }
33
34 base::MessageLoop loop_; // A MessageLoop is needed for Mojo IPC to work.
35 mojo::BindingSet<mojom::DisplayStructTraitsTest> traits_test_bindings_;
36
37 DISALLOW_COPY_AND_ASSIGN(DisplayStructTraitsTest);
38 };
39
40 void CheckDisplaysEqual(const Display& input, const Display& output) {
41 EXPECT_EQ(input.id(), output.id());
42 EXPECT_EQ(input.bounds(), output.bounds());
43 EXPECT_EQ(input.work_area(), output.work_area());
44 EXPECT_EQ(input.device_scale_factor(), output.device_scale_factor());
45 EXPECT_EQ(input.rotation(), output.rotation());
46 EXPECT_EQ(input.touch_support(), output.touch_support());
47 EXPECT_EQ(input.maximum_cursor_size(), output.maximum_cursor_size());
48 }
49
50 } // namespace
51
52 TEST_F(DisplayStructTraitsTest, DefaultDisplayValues) {
53 Display input(5);
54
55 mojom::DisplayStructTraitsTestPtr proxy = GetTraitsTestProxy();
56 Display output;
57 proxy->EchoDisplay(input, &output);
58
59 CheckDisplaysEqual(input, output);
60 }
61
62 TEST_F(DisplayStructTraitsTest, SetAllDisplayValues) {
63 const gfx::Rect bounds(100, 200, 500, 600);
64 const gfx::Rect work_area(150, 250, 400, 500);
65 const gfx::Size maximum_cursor_size(64, 64);
66
67 Display input(246345234, bounds);
68 input.set_work_area(work_area);
69 input.set_device_scale_factor(2.0f);
70 input.set_rotation(Display::ROTATE_270);
71 input.set_touch_support(Display::TOUCH_SUPPORT_AVAILABLE);
72 input.set_maximum_cursor_size(maximum_cursor_size);
73
74 mojom::DisplayStructTraitsTestPtr proxy = GetTraitsTestProxy();
75 Display output;
76 proxy->EchoDisplay(input, &output);
77
78 CheckDisplaysEqual(input, output);
79 }
80
81 } // namespace display
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698