OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 public: | 183 public: |
184 SelectPopupMenuTest() | 184 SelectPopupMenuTest() |
185 : baseURL("http://www.test.com/") | 185 : baseURL("http://www.test.com/") |
186 { | 186 { |
187 } | 187 } |
188 | 188 |
189 protected: | 189 protected: |
190 virtual void SetUp() | 190 virtual void SetUp() |
191 { | 191 { |
192 m_helper.initialize(false, 0, &m_webviewClient); | 192 m_helper.initialize(false, 0, &m_webviewClient); |
193 m_popupMenu = adoptRef(new PopupMenuChromium(*mainFrame()->frame(), &m_p
opupMenuClient)); | 193 m_popupMenu = adoptRefWillBeNoop(new PopupMenuChromium(*mainFrame()->fra
me(), &m_popupMenuClient)); |
194 } | 194 } |
195 | 195 |
196 virtual void TearDown() | 196 virtual void TearDown() |
197 { | 197 { |
198 m_popupMenu = nullptr; | |
199 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); | 198 Platform::current()->unitTestSupport()->unregisterAllMockedURLs(); |
200 } | 199 } |
201 | 200 |
202 // Returns true if there currently is a select popup in the WebView. | 201 // Returns true if there currently is a select popup in the WebView. |
203 bool popupOpen() const { return webView()->selectPopup(); } | 202 bool popupOpen() const { return webView()->selectPopup(); } |
204 | 203 |
205 int selectedIndex() const { return m_popupMenuClient.selectedIndex(); } | 204 int selectedIndex() const { return m_popupMenuClient.selectedIndex(); } |
206 | 205 |
207 void showPopup() | 206 void showPopup() |
208 { | 207 { |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 { | 258 { |
260 FrameTestHelpers::loadFrame(frame, baseURL + fileName); | 259 FrameTestHelpers::loadFrame(frame, baseURL + fileName); |
261 } | 260 } |
262 | 261 |
263 WebViewImpl* webView() const { return m_helper.webViewImpl(); } | 262 WebViewImpl* webView() const { return m_helper.webViewImpl(); } |
264 WebLocalFrameImpl* mainFrame() const { return m_helper.webViewImpl()->mainFr
ameImpl(); } | 263 WebLocalFrameImpl* mainFrame() const { return m_helper.webViewImpl()->mainFr
ameImpl(); } |
265 | 264 |
266 protected: | 265 protected: |
267 PopupTestWebViewClient m_webviewClient; | 266 PopupTestWebViewClient m_webviewClient; |
268 TestPopupMenuClient m_popupMenuClient; | 267 TestPopupMenuClient m_popupMenuClient; |
269 RefPtr<PopupMenu> m_popupMenu; | 268 RefPtrWillBePersistent<PopupMenu> m_popupMenu; |
270 std::string baseURL; | 269 std::string baseURL; |
271 | 270 |
272 private: | 271 private: |
273 FrameTestHelpers::WebViewHelper m_helper; | 272 FrameTestHelpers::WebViewHelper m_helper; |
274 }; | 273 }; |
275 | 274 |
276 // Tests that show/hide and repeats. Select popups are reused in web pages when | 275 // Tests that show/hide and repeats. Select popups are reused in web pages when |
277 // they are reopened, that what this is testing. | 276 // they are reopened, that what this is testing. |
278 TEST_F(SelectPopupMenuTest, ShowThenHide) | 277 TEST_F(SelectPopupMenuTest, ShowThenHide) |
279 { | 278 { |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 void loadFrame(WebFrame* frame, const std::string& fileName) | 576 void loadFrame(WebFrame* frame, const std::string& fileName) |
578 { | 577 { |
579 FrameTestHelpers::loadFrame(frame, baseURL + fileName); | 578 FrameTestHelpers::loadFrame(frame, baseURL + fileName); |
580 } | 579 } |
581 | 580 |
582 WebViewImpl* webView() const { return m_helper.webViewImpl(); } | 581 WebViewImpl* webView() const { return m_helper.webViewImpl(); } |
583 WebLocalFrameImpl* mainFrame() const { return m_helper.webViewImpl()->mainFr
ameImpl(); } | 582 WebLocalFrameImpl* mainFrame() const { return m_helper.webViewImpl()->mainFr
ameImpl(); } |
584 | 583 |
585 protected: | 584 protected: |
586 PopupTestWebViewClient m_webviewClient; | 585 PopupTestWebViewClient m_webviewClient; |
587 RefPtr<PopupMenu> m_popupMenu; | |
588 std::string baseURL; | 586 std::string baseURL; |
589 | 587 |
590 private: | 588 private: |
591 FrameTestHelpers::WebViewHelper m_helper; | 589 FrameTestHelpers::WebViewHelper m_helper; |
592 }; | 590 }; |
593 | 591 |
594 #if OS(MACOSX) || OS(ANDROID) | 592 #if OS(MACOSX) || OS(ANDROID) |
595 TEST_F(SelectPopupMenuStyleTest, DISABLED_PopupListBoxRTLRowWidth) | 593 TEST_F(SelectPopupMenuStyleTest, DISABLED_PopupListBoxRTLRowWidth) |
596 #else | 594 #else |
597 TEST_F(SelectPopupMenuStyleTest, PopupListBoxRTLRowWidth) | 595 TEST_F(SelectPopupMenuStyleTest, PopupListBoxRTLRowWidth) |
598 #endif | 596 #endif |
599 { | 597 { |
600 registerMockedURLLoad("select_rtl_width.html"); | 598 registerMockedURLLoad("select_rtl_width.html"); |
601 loadFrame(mainFrame(), "select_rtl_width.html"); | 599 loadFrame(mainFrame(), "select_rtl_width.html"); |
602 HTMLSelectElement* select = toHTMLSelectElement(mainFrame()->frame()->docume
nt()->focusedElement()); | 600 HTMLSelectElement* select = toHTMLSelectElement(mainFrame()->frame()->docume
nt()->focusedElement()); |
603 RenderMenuList* menuList = toRenderMenuList(select->renderer()); | 601 RenderMenuList* menuList = toRenderMenuList(select->renderer()); |
604 ASSERT(menuList); | 602 ASSERT(menuList); |
605 menuList->showPopup(); | 603 menuList->showPopup(); |
606 ASSERT(popupOpen()); | 604 ASSERT(popupOpen()); |
607 PopupListBox* listBox = webView()->selectPopup()->listBox(); | 605 PopupListBox* listBox = webView()->selectPopup()->listBox(); |
608 int ltrWidth = listBox->getRowBaseWidth(0); | 606 int ltrWidth = listBox->getRowBaseWidth(0); |
609 int rtlWidth = listBox->getRowBaseWidth(1); | 607 int rtlWidth = listBox->getRowBaseWidth(1); |
610 EXPECT_LT(rtlWidth, ltrWidth); | 608 EXPECT_LT(rtlWidth, ltrWidth); |
611 } | 609 } |
612 | 610 |
613 } // namespace | 611 } // namespace |
OLD | NEW |