12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/themes/theme_properties.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace { 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef testing::Test ThemePropertiesTest; 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST_F(ThemePropertiesTest, AlignmentConversion) { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Verify that we get out what we put in. 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string top_left = "left top"; 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int alignment = ThemeProperties::StringToAlignment(top_left); 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(ThemeProperties::ALIGN_TOP | ThemeProperties::ALIGN_LEFT, 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) alignment); 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(top_left, ThemeProperties::AlignmentToString(alignment)); 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // We get back a normalized version of what we put in. 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) alignment = ThemeProperties::StringToAlignment("top"); 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(ThemeProperties::ALIGN_TOP, alignment); 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ("center top", ThemeProperties::AlignmentToString(alignment)); 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) alignment = ThemeProperties::StringToAlignment("left"); 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(ThemeProperties::ALIGN_LEFT, alignment); 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ("left center", ThemeProperties::AlignmentToString(alignment)); 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) alignment = ThemeProperties::StringToAlignment("right"); 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(ThemeProperties::ALIGN_RIGHT, alignment); 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ("right center", ThemeProperties::AlignmentToString(alignment)); 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) alignment = ThemeProperties::StringToAlignment("righttopbottom"); 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(ThemeProperties::ALIGN_CENTER, alignment); 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ("center center", ThemeProperties::AlignmentToString(alignment)); 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST_F(ThemePropertiesTest, AlignmentConversionInput) { 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Verify that we output in an expected format. 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int alignment = ThemeProperties::StringToAlignment("bottom right"); 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ("right bottom", ThemeProperties::AlignmentToString(alignment)); 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Verify that bad strings don't cause explosions. 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) alignment = ThemeProperties::StringToAlignment("new zealand"); 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ("center center", ThemeProperties::AlignmentToString(alignment)); 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Verify that bad strings don't cause explosions. 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) alignment = ThemeProperties::StringToAlignment("new zealand top"); 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ("center top", ThemeProperties::AlignmentToString(alignment)); 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Verify that bad strings don't cause explosions. 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) alignment = ThemeProperties::StringToAlignment("new zealandtop"); 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ("center center", ThemeProperties::AlignmentToString(alignment)); 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; // namespace 58