Chromium Code Reviews| Index: ui/views/window/dialog_delegate_unittest.cc |
| diff --git a/ui/views/window/dialog_delegate_unittest.cc b/ui/views/window/dialog_delegate_unittest.cc |
| index 7f9149065da2636b9c5614aabf9ec95871a5e04e..808fda8189bb46b9a1b2e6bf4de8e1c648a47c60 100644 |
| --- a/ui/views/window/dialog_delegate_unittest.cc |
| +++ b/ui/views/window/dialog_delegate_unittest.cc |
| @@ -26,6 +26,11 @@ class TestDialog : public DialogDelegateView, public ButtonListener { |
| last_pressed_button_(NULL) {} |
| ~TestDialog() override {} |
| + // WidgetDelegate overrides: |
| + bool ShouldShowWindowTitle() const override { |
| + return !title_.empty(); |
| + } |
| + |
| // DialogDelegateView overrides: |
| bool Cancel() override { |
| canceled_ = true; |
| @@ -183,8 +188,9 @@ TEST_F(DialogTest, RemoveDefaultButton) { |
| delete dialog()->GetDialogClientView()->cancel_button(); |
| } |
| -TEST_F(DialogTest, HitTest) { |
| - // Ensure that the new style's BubbleFrameView hit-tests as expected. |
| +TEST_F(DialogTest, HitTest_HiddenTitle) { |
| + // Ensure that the new style's BubbleFrameView hit-tests as expected |
|
msw
2015/02/24 22:19:46
nit: remove "the new style's" and s/when title/whe
xiaoling
2015/02/24 22:38:29
Done.
|
| + // when title is hidden. |
| const NonClientView* view = dialog()->GetWidget()->non_client_view(); |
| BubbleFrameView* frame = static_cast<BubbleFrameView*>(view->frame_view()); |
| const int border = frame->bubble_border()->GetBorderThickness(); |
| @@ -195,9 +201,37 @@ TEST_F(DialogTest, HitTest) { |
| } cases[] = { |
| { border, HTSYSMENU }, |
| { border + 10, HTSYSMENU }, |
| + { border + 20, HTCLIENT }, |
| + { border + 50, HTCLIENT }, |
| + { border + 60, HTCLIENT }, |
| + { 1000, HTNOWHERE }, |
| + }; |
| + |
| + for (size_t i = 0; i < arraysize(cases); ++i) { |
| + gfx::Point point(cases[i].point, cases[i].point); |
| + EXPECT_EQ(cases[i].hit, frame->NonClientHitTest(point)) |
| + << " with border: " << border << ", at point " << cases[i].point; |
| + } |
| +} |
| + |
| +TEST_F(DialogTest, HitTest_WithTitle) { |
| + // Ensure that the new style's BubbleFrameView hit-tests as expected |
|
msw
2015/02/24 22:19:46
nit: remove "the new style's" here and below; s/wh
xiaoling
2015/02/24 22:38:29
Done.
|
| + // when title is present. |
| + const NonClientView* view = dialog()->GetWidget()->non_client_view(); |
| + dialog()->set_title(base::ASCIIToUTF16("Title")); |
| + dialog()->GetWidget()->UpdateWindowTitle(); |
| + BubbleFrameView* frame = static_cast<BubbleFrameView*>(view->frame_view()); |
| + const int border = frame->bubble_border()->GetBorderThickness(); |
| + |
| + struct { |
| + const int point; |
| + const int hit; |
| + } cases[] = { |
| + { border, HTSYSMENU }, |
| + { border + 10, HTSYSMENU }, |
| { border + 20, HTCAPTION }, |
| - { border + 40, HTCLIENT }, |
| { border + 50, HTCLIENT }, |
| + { border + 60, HTCLIENT }, |
| { 1000, HTNOWHERE }, |
| }; |