Home | History | Annotate | Download | only in host
      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 "remoting/host/screen_resolution.h"
      6 
      7 #include <limits>
      8 
      9 #include "testing/gmock/include/gmock/gmock.h"
     10 #include "testing/gtest/include/gtest/gtest.h"
     11 
     12 namespace remoting {
     13 
     14 TEST(ScreenResolutionTest, Empty) {
     15   ScreenResolution resolution1(
     16       webrtc::DesktopSize(100, 100), webrtc::DesktopVector(10, 10));
     17   EXPECT_FALSE(resolution1.IsEmpty());
     18 
     19   ScreenResolution resolution2(
     20       webrtc::DesktopSize(), webrtc::DesktopVector(10, 10));
     21   EXPECT_TRUE(resolution2.IsEmpty());
     22 
     23   ScreenResolution resolution3(
     24       webrtc::DesktopSize(1, 1), webrtc::DesktopVector(0, 0));
     25   EXPECT_TRUE(resolution3.IsEmpty());
     26 }
     27 
     28 TEST(ScreenResolutionTest, Scaling) {
     29   ScreenResolution resolution(
     30       webrtc::DesktopSize(100, 100), webrtc::DesktopVector(10, 10));
     31 
     32   EXPECT_TRUE(webrtc::DesktopSize(50, 50).equals(
     33       resolution.ScaleDimensionsToDpi(webrtc::DesktopVector(5, 5))));
     34 
     35   EXPECT_TRUE(webrtc::DesktopSize(200, 200).equals(
     36       resolution.ScaleDimensionsToDpi(webrtc::DesktopVector(20, 20))));
     37 }
     38 
     39 TEST(ScreenResolutionTest, ScalingSaturation) {
     40   ScreenResolution resolution(
     41       webrtc::DesktopSize(10000000, 1000000), webrtc::DesktopVector(1, 1));
     42 
     43   int32 max_int = std::numeric_limits<int32>::max();
     44   EXPECT_TRUE(webrtc::DesktopSize(max_int, max_int).equals(
     45       resolution.ScaleDimensionsToDpi(
     46           webrtc::DesktopVector(1000000, 1000000))));
     47 }
     48 
     49 }  // namespace remoting
     50