// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/utf_string_conversions.h" #include "chrome/browser/ui/views/generic_info_view.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "testing/gtest/include/gtest/gtest.h" #include "ui/base/l10n/l10n_util.h" #include "views/controls/label.h" #include "views/controls/textfield/textfield.h" #include "views/widget/root_view.h" #include "views/window/window.h" #if defined(OS_WIN) #include "views/widget/widget_win.h" #endif // This class is only used on windows for now. #if defined(OS_WIN) using namespace views; class GenericInfoViewTest : public testing::Test { public: Widget* CreateWidget() { return views::Widget::CreateWidget( Widget::CreateParams(Widget::CreateParams::TYPE_POPUP)); } private: MessageLoopForUI message_loop_; }; TEST_F(GenericInfoViewTest, GenericInfoView) { const string16 kName = ASCIIToUTF16("Name"); const string16 kValue = ASCIIToUTF16("Value"); Widget* widget = CreateWidget(); widget->Init(NULL, gfx::Rect(0, 0, 100, 100)); RootView* root_view = widget->GetRootView(); GenericInfoView* view1 = new GenericInfoView(1); root_view->AddChildView(view1); view1->SetName(0, kName); view1->SetValue(0, kValue); EXPECT_EQ(kName, view1->name_views_[0]->GetText()); EXPECT_EQ(kValue, view1->value_views_[0]->text()); view1->ClearValues(); EXPECT_TRUE(view1->value_views_[0]->text().empty()); // Test setting values by localized string id. static int kNameIds[] = { IDS_PRODUCT_NAME, IDS_PRODUCT_DESCRIPTION }; GenericInfoView* view2 = new GenericInfoView(ARRAYSIZE(kNameIds), kNameIds); root_view->AddChildView(view2); string16 product_name = l10n_util::GetStringUTF16(IDS_PRODUCT_NAME); string16 product_desc = l10n_util::GetStringUTF16(IDS_PRODUCT_DESCRIPTION); EXPECT_EQ(product_name, view2->name_views_[0]->GetText()); EXPECT_EQ(product_desc, view2->name_views_[1]->GetText()); widget->CloseNow(); } #endif // OS_WIN