15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/layout.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/command_line.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/ui_base_switches.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ui { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST(LayoutTest, GetScaleFactorScale) { 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) EXPECT_FLOAT_EQ(1.0f, GetScaleForScaleFactor(SCALE_FACTOR_100P)); 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) EXPECT_FLOAT_EQ(1.25f, GetScaleForScaleFactor(SCALE_FACTOR_125P)); 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) EXPECT_FLOAT_EQ(1.33f, GetScaleForScaleFactor(SCALE_FACTOR_133P)); 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) EXPECT_FLOAT_EQ(1.4f, GetScaleForScaleFactor(SCALE_FACTOR_140P)); 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) EXPECT_FLOAT_EQ(1.5f, GetScaleForScaleFactor(SCALE_FACTOR_150P)); 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) EXPECT_FLOAT_EQ(1.8f, GetScaleForScaleFactor(SCALE_FACTOR_180P)); 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) EXPECT_FLOAT_EQ(2.0f, GetScaleForScaleFactor(SCALE_FACTOR_200P)); 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_FLOAT_EQ(2.5f, GetScaleForScaleFactor(SCALE_FACTOR_250P)); 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) EXPECT_FLOAT_EQ(3.0f, GetScaleForScaleFactor(SCALE_FACTOR_300P)); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST(LayoutTest, GetScaleFactorFromScalePartlySupported) { 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::vector<ScaleFactor> supported_factors; 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) supported_factors.push_back(SCALE_FACTOR_100P); 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) supported_factors.push_back(SCALE_FACTOR_180P); 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) test::ScopedSetSupportedScaleFactors scoped_supported(supported_factors); 3368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_100P, GetSupportedScaleFactor(0.1f)); 3468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_100P, GetSupportedScaleFactor(0.9f)); 3568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_100P, GetSupportedScaleFactor(1.0f)); 3668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_100P, GetSupportedScaleFactor(1.39f)); 3768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_180P, GetSupportedScaleFactor(1.41f)); 3868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_180P, GetSupportedScaleFactor(1.8f)); 3968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_180P, GetSupportedScaleFactor(2.0f)); 4068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_180P, GetSupportedScaleFactor(999.0f)); 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST(LayoutTest, GetScaleFactorFromScaleAllSupported) { 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::vector<ScaleFactor> supported_factors; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for (int factor = SCALE_FACTOR_100P; factor < NUM_SCALE_FACTORS; ++factor) { 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) supported_factors.push_back(static_cast<ScaleFactor>(factor)); 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) test::ScopedSetSupportedScaleFactors scoped_supported(supported_factors); 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_100P, GetSupportedScaleFactor(0.1f)); 5168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_100P, GetSupportedScaleFactor(0.9f)); 5268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_100P, GetSupportedScaleFactor(1.0f)); 5368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_125P, GetSupportedScaleFactor(1.19f)); 5468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_125P, GetSupportedScaleFactor(1.21f)); 5568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_133P, GetSupportedScaleFactor(1.291f)); 5668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_133P, GetSupportedScaleFactor(1.3f)); 5768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_140P, GetSupportedScaleFactor(1.4f)); 5868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_150P, GetSupportedScaleFactor(1.59f)); 5968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_150P, GetSupportedScaleFactor(1.61f)); 6068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_180P, GetSupportedScaleFactor(1.7f)); 6168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_180P, GetSupportedScaleFactor(1.89f)); 6268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_200P, GetSupportedScaleFactor(1.91f)); 6368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_200P, GetSupportedScaleFactor(2.0f)); 6468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_200P, GetSupportedScaleFactor(2.1f)); 65f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_250P, GetSupportedScaleFactor(2.3f)); 66f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_250P, GetSupportedScaleFactor(2.5f)); 67f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_250P, GetSupportedScaleFactor(2.6f)); 68f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_300P, GetSupportedScaleFactor(2.9f)); 69a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_300P, GetSupportedScaleFactor(3.0f)); 70a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_300P, GetSupportedScaleFactor(3.1f)); 71a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) EXPECT_EQ(SCALE_FACTOR_300P, GetSupportedScaleFactor(999.0f)); 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ui 75