Home | History | Annotate | Download | only in gfx
      1 // Copyright (c) 2012 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/gfx/display.h"
      6 
      7 #include "testing/gtest/include/gtest/gtest.h"
      8 #include "ui/gfx/insets.h"
      9 
     10 namespace {
     11 
     12 TEST(DisplayTest, WorkArea) {
     13   gfx::Display display(0, gfx::Rect(0, 0, 100, 100));
     14   EXPECT_EQ("0,0 100x100", display.bounds().ToString());
     15   EXPECT_EQ("0,0 100x100", display.work_area().ToString());
     16 
     17   display.set_work_area(gfx::Rect(3, 4, 90, 80));
     18   EXPECT_EQ("0,0 100x100", display.bounds().ToString());
     19   EXPECT_EQ("3,4 90x80", display.work_area().ToString());
     20 
     21   display.SetScaleAndBounds(1.0f, gfx::Rect(10, 20, 50, 50));
     22   EXPECT_EQ("10,20 50x50", display.bounds().ToString());
     23   EXPECT_EQ("13,24 40x30", display.work_area().ToString());
     24 
     25   display.SetSize(gfx::Size(200, 200));
     26   EXPECT_EQ("13,24 190x180", display.work_area().ToString());
     27 
     28   display.UpdateWorkAreaFromInsets(gfx::Insets(3, 4, 5, 6));
     29   EXPECT_EQ("14,23 190x192", display.work_area().ToString());
     30 }
     31 
     32 TEST(DisplayTest, Scale) {
     33   gfx::Display display(0, gfx::Rect(0, 0, 100, 100));
     34   display.set_work_area(gfx::Rect(10, 10, 80, 80));
     35   EXPECT_EQ("0,0 100x100", display.bounds().ToString());
     36   EXPECT_EQ("10,10 80x80", display.work_area().ToString());
     37 
     38   // Scale it back to 2x
     39   display.SetScaleAndBounds(2.0f, gfx::Rect(0, 0, 140, 140));
     40   EXPECT_EQ("0,0 70x70", display.bounds().ToString());
     41   EXPECT_EQ("10,10 50x50", display.work_area().ToString());
     42 
     43   // Scale it back to 1x
     44   display.SetScaleAndBounds(1.0f, gfx::Rect(0, 0, 100, 100));
     45   EXPECT_EQ("0,0 100x100", display.bounds().ToString());
     46   EXPECT_EQ("10,10 80x80", display.work_area().ToString());
     47 }
     48 
     49 }
     50