Home | History | Annotate | Download | only in display
      1 // Copyright (c) 2013 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 "ash/display/display_info.h"
      6 
      7 #include "testing/gtest/include/gtest/gtest.h"
      8 
      9 namespace ash {
     10 namespace internal {
     11 
     12 typedef testing::Test DisplayInfoTest;
     13 
     14 TEST_F(DisplayInfoTest, CreateFromSpec) {
     15   DisplayInfo info = DisplayInfo::CreateFromSpecWithID("200x100", 10);
     16   EXPECT_EQ(10, info.id());
     17   EXPECT_EQ("0,0 200x100", info.bounds_in_pixel().ToString());
     18   EXPECT_EQ("200x100", info.size_in_pixel().ToString());
     19   EXPECT_EQ(gfx::Display::ROTATE_0, info.rotation());
     20   EXPECT_EQ("0,0,0,0", info.overscan_insets_in_dip().ToString());
     21   EXPECT_EQ(1.0f, info.ui_scale());
     22 
     23   info = DisplayInfo::CreateFromSpecWithID("10+20-300x400*2/o", 10);
     24   EXPECT_EQ("10,20 300x400", info.bounds_in_pixel().ToString());
     25   EXPECT_EQ("288x380", info.size_in_pixel().ToString());
     26   EXPECT_EQ(gfx::Display::ROTATE_0, info.rotation());
     27   EXPECT_EQ("5,3,5,3", info.overscan_insets_in_dip().ToString());
     28 
     29   info = DisplayInfo::CreateFromSpecWithID("10+20-300x400*2/ob", 10);
     30   EXPECT_EQ("10,20 300x400", info.bounds_in_pixel().ToString());
     31   EXPECT_EQ("288x380", info.size_in_pixel().ToString());
     32   EXPECT_EQ(gfx::Display::ROTATE_0, info.rotation());
     33   EXPECT_EQ("5,3,5,3", info.overscan_insets_in_dip().ToString());
     34 
     35   info = DisplayInfo::CreateFromSpecWithID("10+20-300x400*2/or", 10);
     36   EXPECT_EQ("10,20 300x400", info.bounds_in_pixel().ToString());
     37   EXPECT_EQ("380x288", info.size_in_pixel().ToString());
     38   EXPECT_EQ(gfx::Display::ROTATE_90, info.rotation());
     39   // TODO(oshima): This should be rotated too. Fix this.
     40   EXPECT_EQ("5,3,5,3", info.overscan_insets_in_dip().ToString());
     41 
     42   info = DisplayInfo::CreateFromSpecWithID("10+20-300x400*2/l (at) 1.5", 10);
     43   EXPECT_EQ("10,20 300x400", info.bounds_in_pixel().ToString());
     44   EXPECT_EQ(gfx::Display::ROTATE_270, info.rotation());
     45   EXPECT_EQ(1.5f, info.ui_scale());
     46 }
     47 
     48 }  // namespace internal
     49 }  // namespace ash
     50