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

Unified Diff: ui/display/fake_display_snapshot_unittests.cc

Issue 2395873002: Add more options to --screen-config flag. (Closed)
Patch Set: Small fixes after once over. Created 4 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 side-by-side diff with in-line comments
Download patch
Index: ui/display/fake_display_snapshot_unittests.cc
diff --git a/ui/display/fake_display_snapshot_unittests.cc b/ui/display/fake_display_snapshot_unittests.cc
new file mode 100644
index 0000000000000000000000000000000000000000..bdf16e19268a82d78a25bf6aef3903200d1860ea
--- /dev/null
+++ b/ui/display/fake_display_snapshot_unittests.cc
@@ -0,0 +1,114 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/macros.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/display/fake_display_snapshot.h"
+#include "ui/display/types/display_snapshot.h"
+
+namespace display {
+
+using DisplayModeList = ui::DisplaySnapshot::DisplayModeList;
+using DisplaySnapshotPtr = std::unique_ptr<ui::DisplaySnapshot>;
+
+TEST(FakeDisplaySnapshotTest, InvalidString) {
+ // Bad spec string should return null.
+ DisplaySnapshotPtr display =
+ FakeDisplaySnapshot::CreateFromSpec(1, "1024,768");
+
+ EXPECT_EQ(nullptr, display);
+}
+
+TEST(FakeDisplaySnapshotTest, SizeOnly) {
+ DisplaySnapshotPtr display =
+ FakeDisplaySnapshot::CreateFromSpec(1, "1024x768");
+
+ ASSERT_EQ(1u, display->modes().size());
+ EXPECT_EQ(1024, display->native_mode()->size().width());
+ EXPECT_EQ(768, display->native_mode()->size().height());
+}
+
+TEST(FakeDisplaySnapshotTest, DefaultTypeIsUnknown) {
+ DisplaySnapshotPtr display =
+ FakeDisplaySnapshot::CreateFromSpec(1, "1024x768");
+
+ ASSERT_EQ(1u, display->modes().size());
+ EXPECT_EQ(ui::DISPLAY_CONNECTION_TYPE_UNKNOWN, display->type());
+}
+
+TEST(FakeDisplaySnapshotTest, FullNativeMode) {
+ DisplaySnapshotPtr display =
+ FakeDisplaySnapshot::CreateFromSpec(1, "1024x768%120");
+
+ ASSERT_EQ(1u, display->modes().size());
+ EXPECT_EQ(1024, display->native_mode()->size().width());
+ EXPECT_EQ(768, display->native_mode()->size().height());
+ EXPECT_EQ(120.0f, display->native_mode()->refresh_rate());
+}
+
+TEST(FakeDisplaySnapshotTest, FullNativeModeWithDPI) {
+ DisplaySnapshotPtr display =
+ FakeDisplaySnapshot::CreateFromSpec(1, "1000x1000%120^300");
+
+ ASSERT_EQ(1u, display->modes().size());
+ EXPECT_EQ(1000, display->native_mode()->size().width());
+ EXPECT_EQ(1000, display->native_mode()->size().height());
+ EXPECT_EQ(120.0f, display->native_mode()->refresh_rate());
+ EXPECT_EQ(85, display->physical_size().width());
+ EXPECT_EQ(85, display->physical_size().height());
+}
+
+TEST(FakeDisplaySnapshotTest, InternalDisplayWithSize) {
+ DisplaySnapshotPtr display =
+ FakeDisplaySnapshot::CreateFromSpec(1, "1600x900/i");
+
+ ASSERT_EQ(1u, display->modes().size());
+ EXPECT_EQ(1600, display->native_mode()->size().width());
+ EXPECT_EQ(900, display->native_mode()->size().height());
+ EXPECT_EQ(ui::DISPLAY_CONNECTION_TYPE_INTERNAL, display->type());
+}
+
+TEST(FakeDisplaySnapshotTest, MultipleOptions) {
+ DisplaySnapshotPtr display =
+ FakeDisplaySnapshot::CreateFromSpec(1, "1600x900/aci");
+
+ EXPECT_EQ(ui::DISPLAY_CONNECTION_TYPE_INTERNAL, display->type());
+ EXPECT_TRUE(display->has_color_correction_matrix());
+ EXPECT_TRUE(display->is_aspect_preserving_scaling());
+}
+
+TEST(FakeDisplaySnapshotTest, AlternateResolutions) {
+ DisplaySnapshotPtr display =
+ FakeDisplaySnapshot::CreateFromSpec(1, "1920x1080#1600x900:1280x720/i");
+ const DisplayModeList& modes = display->modes();
+
+ ASSERT_EQ(3u, modes.size());
+ EXPECT_EQ(1920, modes[0]->size().width());
+ EXPECT_EQ(1080, modes[0]->size().height());
+ EXPECT_EQ(1600, modes[1]->size().width());
+ EXPECT_EQ(900, modes[1]->size().height());
+ EXPECT_EQ(1280, modes[2]->size().width());
+ EXPECT_EQ(720, modes[2]->size().height());
+ EXPECT_EQ(ui::DISPLAY_CONNECTION_TYPE_INTERNAL, display->type());
+}
+
+TEST(FakeDisplaySnapshotTest, AlternateResolutionsWithRefreshRates) {
+ DisplaySnapshotPtr display = FakeDisplaySnapshot::CreateFromSpec(
+ 1, "1920x1080%59.99#1600x900%90:1280x720%120/i");
+ const DisplayModeList& modes = display->modes();
+
+ ASSERT_EQ(3u, display->modes().size());
+ EXPECT_EQ(1920, modes[0]->size().width());
+ EXPECT_EQ(1080, modes[0]->size().height());
+ EXPECT_EQ(59.99f, modes[0]->refresh_rate());
+ EXPECT_EQ(1600, modes[1]->size().width());
+ EXPECT_EQ(900, modes[1]->size().height());
+ EXPECT_EQ(90.0f, modes[1]->refresh_rate());
+ EXPECT_EQ(1280, modes[2]->size().width());
+ EXPECT_EQ(720, modes[2]->size().height());
+ EXPECT_EQ(120.0f, modes[2]->refresh_rate());
+ EXPECT_EQ(ui::DISPLAY_CONNECTION_TYPE_INTERNAL, display->type());
+}
+
Daniel Erat 2016/10/05 21:09:46 maybe also test that you return null if things are
kylechar 2016/10/07 16:14:43 Hmm, that's actually brings up a good point and th
+} // namespace display

Powered by Google App Engine
This is Rietveld 408576698