validation_message_bubble_delegate_unittest.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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.
4
5#include "chrome/browser/ui/views/validation_message_bubble_delegate.h"
6
7#include "base/strings/utf_string_conversions.h"
8#include "testing/gtest/include/gtest/gtest.h"
9
10namespace {
11
12gfx::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();
18}
19
20TEST(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());
25
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());
33
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());
40
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());
50}
51
52}
53