Index: ui/display/mojo/display_struct_traits_unittest.cc |
diff --git a/ui/display/mojo/display_struct_traits_unittest.cc b/ui/display/mojo/display_struct_traits_unittest.cc |
index a223bddff8299a14769eaac94a5864372ec943d5..64b7ba3d75c76aee9dff087584e66277819eac5c 100644 |
--- a/ui/display/mojo/display_struct_traits_unittest.cc |
+++ b/ui/display/mojo/display_struct_traits_unittest.cc |
@@ -7,6 +7,7 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
#include "ui/display/display.h" |
#include "ui/display/mojo/display_struct_traits_test.mojom.h" |
+#include "ui/display/types/display_mode.h" |
#include "ui/gfx/geometry/rect.h" |
#include "ui/gfx/geometry/size.h" |
@@ -31,6 +32,11 @@ class DisplayStructTraitsTest : public testing::Test, |
callback.Run(in); |
} |
+ void EchoDisplayMode(std::unique_ptr<DisplayMode> in, |
+ const EchoDisplayModeCallback& callback) override { |
+ callback.Run(std::move(in)); |
+ } |
+ |
base::MessageLoop loop_; // A MessageLoop is needed for Mojo IPC to work. |
mojo::BindingSet<mojom::DisplayStructTraitsTest> traits_test_bindings_; |
@@ -79,4 +85,22 @@ TEST_F(DisplayStructTraitsTest, SetAllDisplayValues) { |
CheckDisplaysEqual(input, output); |
} |
+TEST_F(DisplayStructTraitsTest, DefaultDisplayMode) { |
+ // Prepare sample input with random values |
+ |
+ std::unique_ptr<DisplayMode> input = |
+ base::MakeUnique<DisplayMode>(gfx::Size(15, 29), true, 61.0); |
+ |
+ mojom::DisplayStructTraitsTestPtr proxy = GetTraitsTestProxy(); |
+ std::unique_ptr<DisplayMode> output; |
+ |
+ proxy->EchoDisplayMode(input->Clone(), &output); |
+ |
+ // We want to test each component individually to make sure each data member |
+ // was correctly serialized and deserialized. |
+ EXPECT_EQ(input->size(), output->size()); |
+ EXPECT_EQ(input->is_interlaced(), output->is_interlaced()); |
+ EXPECT_EQ(input->refresh_rate(), output->refresh_rate()); |
+} |
+ |
} // namespace display |