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.
5 #include "chrome/browser/ui/views/validation_message_bubble_delegate.h"
7 #include "base/strings/utf_string_conversions.h"
8 #include "testing/gtest/include/gtest/gtest.h"
12 gfx::Size
GetSizeForMessages(const std::string
& main_text
,
13 const std::string
& sub_text
) {
14 ValidationMessageBubbleDelegate
delegate(
15 gfx::Rect(), base::UTF8ToUTF16(main_text
),
16 base::UTF8ToUTF16(sub_text
), NULL
);
17 return delegate
.GetPreferredSize();
20 TEST(ValidationMessageBubbleDelegate
, Size
) {
21 gfx::Size short_main_empty_sub_size
= GetSizeForMessages("foo", "");
22 EXPECT_LE(ValidationMessageBubbleDelegate::kWindowMinWidth
,
23 short_main_empty_sub_size
.width());
24 EXPECT_LE(0, short_main_empty_sub_size
.height());
26 gfx::Size long_main_empty_sub_size
= GetSizeForMessages(
27 "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod"
28 " tempor incididunt ut labore et dolore magna aliqua.", "");
29 EXPECT_GE(ValidationMessageBubbleDelegate::kWindowMaxWidth
,
30 long_main_empty_sub_size
.width());
31 EXPECT_GT(long_main_empty_sub_size
.height(),
32 short_main_empty_sub_size
.height());
34 gfx::Size short_main_medium_sub_size
=
35 GetSizeForMessages("foo", "foo bar baz");
36 EXPECT_GT(short_main_medium_sub_size
.width(),
37 short_main_empty_sub_size
.width());
38 EXPECT_GT(short_main_medium_sub_size
.height(),
39 short_main_empty_sub_size
.height());
41 gfx::Size short_main_long_sub_size
= GetSizeForMessages("foo",
42 "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod"
43 " tempor incididunt ut labore et dolore magna aliqua.");
44 EXPECT_GT(short_main_long_sub_size
.width(),
45 short_main_medium_sub_size
.width());
46 EXPECT_GE(ValidationMessageBubbleDelegate::kWindowMaxWidth
,
47 short_main_long_sub_size
.width());
48 EXPECT_GT(short_main_long_sub_size
.height(),
49 short_main_medium_sub_size
.height());