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

Side by Side Diff: ui/ozone/common/mojo/ozone_gpu_struct_traits_unittest.cc

Issue 2636073002: Create mojom and StructTraits for ui/display/types/display_mode.cc (Closed)
Patch Set: fix comment Created 3 years, 11 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 2017 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/logging.h"
6 #include "base/message_loop/message_loop.h"
7 #include "mojo/public/cpp/bindings/binding.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/ozone/common/gpu/ozone_gpu_message_params.h"
10 #include "ui/ozone/common/mojo/ozone_gpu_struct_traits_test.mojom.h"
11
12 namespace ui {
13
14 namespace {
15
16 class OzoneGpuStructTraitsTestImpl : public mojom::OzoneGpuStructTraitsTest {
17 public:
18 explicit OzoneGpuStructTraitsTestImpl(
19 mojo::InterfaceRequest<mojom::OzoneGpuStructTraitsTest> request)
20 : binding_(this, std::move(request)) {}
21
22 // OzoneGpuStructTraitsTest:
23 void EchoDisplayModeParams(
24 const DisplayMode_Params& input,
25 const EchoDisplayModeParamsCallback& callback) override {
26 callback.Run(input);
27 }
28
29 private:
30 mojo::Binding<OzoneGpuStructTraitsTest> binding_;
31
32 DISALLOW_COPY_AND_ASSIGN(OzoneGpuStructTraitsTestImpl);
33 };
34
35 TEST(OzoneGpuStructTraitsTest, Basic) {
36 // A MessageLoop is needed for Mojo IPC to work.
37 base::MessageLoop message_loop;
38
39 mojom::OzoneGpuStructTraitsTestPtr proxy;
40 OzoneGpuStructTraitsTestImpl impl(MakeRequest(&proxy));
41
42 // prepare sample input with random values
43 DisplayMode_Params input;
44 input.size = gfx::Size(15, 29);
45 input.is_interlaced = true;
46 input.refresh_rate = 61;
47
48 ui::DisplayMode_Params output;
49
50 EXPECT_TRUE(proxy->EchoDisplayModeParams(input, &output));
51
52 // We want to test each component individually to make sure each data member
53 // was correctly serialized and deserialized.
54 EXPECT_EQ(input.size, output.size);
55 EXPECT_EQ(input.is_interlaced, output.is_interlaced);
56 EXPECT_EQ(input.refresh_rate, output.refresh_rate);
57 }
58
59 } // namespace
60
61 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698