summaryrefslogtreecommitdiffstats
path: root/views/bubble/bubble_frame_view_unittest.cc
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-18 18:35:52 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-18 18:35:52 +0000
commit0d74d4198116eeb86e6dd74f311b4e7980efae6a (patch)
tree7776df880b07cfa4216e0dd9d3d196e9f332dd4b /views/bubble/bubble_frame_view_unittest.cc
parentd55c20ccd50ff15c0cd21b6d2164d0eba5a2e05f (diff)
downloadchromium_src-0d74d4198116eeb86e6dd74f311b4e7980efae6a.zip
chromium_src-0d74d4198116eeb86e6dd74f311b4e7980efae6a.tar.gz
chromium_src-0d74d4198116eeb86e6dd74f311b4e7980efae6a.tar.bz2
Views Bubble API adjustments and cleanup
Adjust BubbleDelegateView API, add CreateBubble static factory function. Bubble's arrow anchors with a screen point, can fade in and fade out. Supporting changes, test updates, misc related cleanup, -275 lines. BUG=97248,98322,98323 TEST=updated unit tests, views_examples bubbles work. Review URL: http://codereview.chromium.org/8227003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106090 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/bubble/bubble_frame_view_unittest.cc')
-rw-r--r--views/bubble/bubble_frame_view_unittest.cc57
1 files changed, 16 insertions, 41 deletions
diff --git a/views/bubble/bubble_frame_view_unittest.cc b/views/bubble/bubble_frame_view_unittest.cc
index d5cd874..766bcec 100644
--- a/views/bubble/bubble_frame_view_unittest.cc
+++ b/views/bubble/bubble_frame_view_unittest.cc
@@ -2,11 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/memory/scoped_ptr.h"
-#include "base/message_loop.h"
-#include "third_party/skia/include/core/SkColor.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "views/bubble/bubble_border.h"
#include "views/bubble/bubble_frame_view.h"
#include "views/bubble/bubble_delegate.h"
#include "views/test/views_test_base.h"
@@ -21,58 +16,38 @@ namespace {
typedef ViewsTestBase BubbleFrameViewBasicTest;
-gfx::Rect kBound = gfx::Rect(10, 10, 200, 200);
-SkColor kBackgroundColor = SK_ColorRED;
-BubbleBorder::ArrowLocation kArrow = BubbleBorder::LEFT_BOTTOM;
+const BubbleBorder::ArrowLocation kArrow = BubbleBorder::LEFT_BOTTOM;
+const gfx::Rect kRect(10, 10, 200, 200);
+const SkColor kBackgroundColor = SK_ColorRED;
TEST_F(BubbleFrameViewBasicTest, GetBoundsForClientView) {
- scoped_ptr<Widget> widget(new views::Widget());
- views::Widget::InitParams params(views::Widget::InitParams::TYPE_BUBBLE);
- params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
- widget->Init(params);
- BubbleFrameView frame(widget.get(), kBound, kBackgroundColor, kArrow);
- EXPECT_EQ(kBound, frame.bounds());
- EXPECT_EQ(kArrow,
- static_cast<BubbleBorder*>(frame.border())->arrow_location());
- EXPECT_EQ(kBackgroundColor,
- static_cast<BubbleBorder*>(frame.border())->background_color());
+ BubbleFrameView frame(kArrow, kRect.size(), kBackgroundColor);
+ EXPECT_EQ(frame.GetWindowBoundsForClientBounds(kRect).size(), frame.size());
+ BubbleBorder* bubble_border = static_cast<BubbleBorder*>(frame.border());
+ EXPECT_EQ(kArrow, bubble_border->arrow_location());
+ EXPECT_EQ(kBackgroundColor, bubble_border->background_color());
- gfx::Insets expected_insets;
- frame.border()->GetInsets(&expected_insets);
+ gfx::Insets expected_insets(frame.GetInsets());
EXPECT_EQ(expected_insets.left(), frame.GetBoundsForClientView().x());
EXPECT_EQ(expected_insets.top(), frame.GetBoundsForClientView().y());
- widget->CloseNow();
- widget.reset(NULL);
- RunPendingMessages();
}
-class TestBubbleDelegate : public BubbleDelegateView {
- public:
- explicit TestBubbleDelegate(Widget *frame): BubbleDelegateView(frame) {}
- SkColor GetFrameBackgroundColor() { return kBackgroundColor; }
- gfx::Rect GetBounds() { return gfx::Rect(10, 10, 200, 200); }
- BubbleBorder::ArrowLocation GetFrameArrowLocation() { return kArrow; }
- View* GetContentsView() { return &view_; }
-
- View view_;
-};
-
TEST_F(BubbleFrameViewBasicTest, NonClientHitTest) {
- scoped_ptr<Widget> widget(new Widget());
- views::Widget::InitParams params(views::Widget::InitParams::TYPE_BUBBLE);
- TestBubbleDelegate delegate(widget.get());
- params.delegate = &delegate;
- params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
- widget->Init(params);
+ BubbleDelegateView* delegate = new BubbleDelegateView();
+ scoped_ptr<Widget> widget(
+ views::BubbleDelegateView::CreateBubble(delegate, NULL));
+ widget->SetBounds(kRect);
+ widget->Show();
gfx::Point kPtInBound(100, 100);
gfx::Point kPtOutsideBound(1000, 1000);
EXPECT_EQ(HTCLIENT, widget->non_client_view()->NonClientHitTest(kPtInBound));
EXPECT_EQ(HTNOWHERE,
widget->non_client_view()->NonClientHitTest(kPtOutsideBound));
widget->CloseNow();
- widget.reset(NULL);
+ widget.reset();
RunPendingMessages();
}
} // namespace
+
} // namespace views