| // Copyright (c) 2013 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 "chrome/browser/ui/views/validation_message_bubble_delegate.h" |
| |
| #include "base/strings/utf_string_conversions.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace { |
| |
| gfx::Size GetSizeForMessages(const std::string& main_text, |
| const std::string& sub_text) { |
| ValidationMessageBubbleDelegate delegate( |
| gfx::Rect(), base::UTF8ToUTF16(main_text), |
| base::UTF8ToUTF16(sub_text), NULL); |
| return delegate.GetPreferredSize(); |
| } |
| |
| TEST(ValidationMessageBubbleDelegate, Size) { |
| gfx::Size short_main_empty_sub_size = GetSizeForMessages("foo", ""); |
| EXPECT_LE(ValidationMessageBubbleDelegate::kWindowMinWidth, |
| short_main_empty_sub_size.width()); |
| EXPECT_LE(0, short_main_empty_sub_size.height()); |
| |
| gfx::Size long_main_empty_sub_size = GetSizeForMessages( |
| "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod" |
| " tempor incididunt ut labore et dolore magna aliqua.", ""); |
| EXPECT_GE(ValidationMessageBubbleDelegate::kWindowMaxWidth, |
| long_main_empty_sub_size.width()); |
| EXPECT_GT(long_main_empty_sub_size.height(), |
| short_main_empty_sub_size.height()); |
| |
| gfx::Size short_main_medium_sub_size = |
| GetSizeForMessages("foo", "foo bar baz"); |
| EXPECT_GT(short_main_medium_sub_size.width(), |
| short_main_empty_sub_size.width()); |
| EXPECT_GT(short_main_medium_sub_size.height(), |
| short_main_empty_sub_size.height()); |
| |
| gfx::Size short_main_long_sub_size = GetSizeForMessages("foo", |
| "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod" |
| " tempor incididunt ut labore et dolore magna aliqua."); |
| EXPECT_GT(short_main_long_sub_size.width(), |
| short_main_medium_sub_size.width()); |
| EXPECT_GE(ValidationMessageBubbleDelegate::kWindowMaxWidth, |
| short_main_long_sub_size.width()); |
| EXPECT_GT(short_main_long_sub_size.height(), |
| short_main_medium_sub_size.height()); |
| } |
| |
| } |