Home | History | Annotate | Download | only in util
      1 // Copyright 2014 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 "ui/display/util/display_util.h"
      6 
      7 #include "testing/gtest/include/gtest/gtest.h"
      8 
      9 namespace ui {
     10 
     11 TEST(DisplayUtilTest, TestBlackListedDisplay) {
     12   EXPECT_TRUE(IsDisplaySizeBlackListed(gfx::Size(10, 10)));
     13   EXPECT_TRUE(IsDisplaySizeBlackListed(gfx::Size(40, 30)));
     14   EXPECT_TRUE(IsDisplaySizeBlackListed(gfx::Size(50, 40)));
     15   EXPECT_TRUE(IsDisplaySizeBlackListed(gfx::Size(160, 90)));
     16   EXPECT_TRUE(IsDisplaySizeBlackListed(gfx::Size(160, 100)));
     17 
     18   EXPECT_FALSE(IsDisplaySizeBlackListed(gfx::Size(50, 60)));
     19   EXPECT_FALSE(IsDisplaySizeBlackListed(gfx::Size(100, 70)));
     20   EXPECT_FALSE(IsDisplaySizeBlackListed(gfx::Size(272, 181)));
     21 }
     22 
     23 TEST(DisplayUtilTest, GetScaleFactor) {
     24   // Normal chromebook spec. DPI ~= 130
     25   EXPECT_EQ(1.0f, GetScaleFactor(
     26       gfx::Size(256, 144), gfx::Size(1366, 768)));
     27 
     28   // HiDPI like Pixel. DPI ~= 240
     29   EXPECT_EQ(2.0f, GetScaleFactor(
     30       gfx::Size(272, 181), gfx::Size(2560, 1700)));
     31 
     32   // A large external display but normal pixel density. DPI ~= 100
     33   EXPECT_EQ(1.0f, GetScaleFactor(
     34       gfx::Size(641, 400), gfx::Size(2560, 1600)));
     35 
     36   // A large external display with high pixel density. DPI ~= 157
     37   EXPECT_EQ(2.0f, GetScaleFactor(
     38       gfx::Size(621, 341), gfx::Size(3840, 2160)));
     39 
     40   // 4K resolution but the display is physically even larger. DPI ~= 114
     41   EXPECT_EQ(1.0f, GetScaleFactor(
     42       gfx::Size(854, 481), gfx::Size(3840, 2160)));
     43 
     44   // 21.5 inch, 1080p. DPI ~= 102
     45   EXPECT_EQ(1.0f, GetScaleFactor(
     46       gfx::Size(476, 267), gfx::Size(1920, 1080)));
     47 
     48   // Corner case; slightly higher density but smaller screens. DPI ~= 165
     49   EXPECT_EQ(1.0f, GetScaleFactor(
     50       gfx::Size(293, 165), gfx::Size(1920, 1080)));
     51 }
     52 
     53 }  // namespace ui
     54