Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/files/file_util.h" | 6 #include "base/files/file_util.h" |
| 7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "chrome/test/base/chrome_render_view_test.h" | 9 #include "chrome/test/base/chrome_render_view_test.h" |
| 10 #include "chrome/test/base/ui_test_utils.h" | 10 #include "chrome/test/base/ui_test_utils.h" |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 359 | 359 |
| 360 protected: | 360 protected: |
| 361 WebFormElement invoking_form_; | 361 WebFormElement invoking_form_; |
| 362 WebLocalFrame* invoking_frame_; | 362 WebLocalFrame* invoking_frame_; |
| 363 WebFrame* sibling_frame_; | 363 WebFrame* sibling_frame_; |
| 364 | 364 |
| 365 private: | 365 private: |
| 366 DISALLOW_COPY_AND_ASSIGN(RequestAutocompleteRendererTest); | 366 DISALLOW_COPY_AND_ASSIGN(RequestAutocompleteRendererTest); |
| 367 }; | 367 }; |
| 368 | 368 |
| 369 TEST_F(RequestAutocompleteRendererTest, SiblingNavigateIgnored) { | |
| 370 // Pretend that a sibling frame navigated. No cancel should be sent. | |
| 371 NavigateFrame(sibling_frame()); | |
| 372 EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( | |
| 373 AutofillHostMsg_CancelRequestAutocomplete::ID)); | |
| 374 } | |
| 375 | |
| 376 TEST_F(RequestAutocompleteRendererTest, SubframeNavigateCancels) { | |
|
Dan Beam
2014/12/19 01:59:34
where are the equivalent tests to ensure an <ifram
Evan Stade
2014/12/19 21:21:12
added. I don't know how it worked before, but I ha
| |
| 377 // Pretend that the invoking frame navigated. A cancel should be sent. | |
| 378 NavigateFrame(invoking_frame()); | |
| 379 EXPECT_TRUE(render_thread_->sink().GetFirstMessageMatching( | |
| 380 AutofillHostMsg_CancelRequestAutocomplete::ID)); | |
| 381 } | |
| 382 | |
| 383 TEST_F(RequestAutocompleteRendererTest, MainFrameNavigateCancels) { | |
| 384 // Pretend that the top-level frame navigated. A cancel should be sent. | |
| 385 NavigateFrame(GetMainFrame()); | |
| 386 EXPECT_TRUE(render_thread_->sink().GetFirstMessageMatching( | |
| 387 AutofillHostMsg_CancelRequestAutocomplete::ID)); | |
| 388 } | |
| 389 | |
| 390 TEST_F(RequestAutocompleteRendererTest, NoCancelOnSubframeNavigateAfterDone) { | |
| 391 // Pretend that the dialog was cancelled. | |
| 392 SimulateRequestAutocompleteResult( | |
| 393 invoking_frame_, WebFormElement::AutocompleteResultErrorCancel, | |
| 394 base::ASCIIToUTF16("Print me to the console")); | |
| 395 | |
| 396 // Additional navigations should not crash nor send cancels. | |
| 397 NavigateFrame(invoking_frame()); | |
| 398 EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( | |
| 399 AutofillHostMsg_CancelRequestAutocomplete::ID)); | |
| 400 } | |
| 401 | |
| 402 TEST_F(RequestAutocompleteRendererTest, NoCancelOnMainFrameNavigateAfterDone) { | |
| 403 // Pretend that the dialog was cancelled. | |
| 404 SimulateRequestAutocompleteResult( | |
| 405 invoking_frame_, WebFormElement::AutocompleteResultErrorCancel, | |
| 406 base::ASCIIToUTF16("Print me to the console")); | |
| 407 | |
| 408 // Additional navigations should not crash nor send cancels. | |
| 409 NavigateFrame(GetMainFrame()); | |
| 410 EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( | |
| 411 AutofillHostMsg_CancelRequestAutocomplete::ID)); | |
| 412 } | |
| 413 | |
| 414 TEST_F(RequestAutocompleteRendererTest, InvokingTwiceOnlyShowsOnce) { | 369 TEST_F(RequestAutocompleteRendererTest, InvokingTwiceOnlyShowsOnce) { |
| 415 // Attempting to show the requestAutocomplete dialog again should be ignored. | 370 // Attempting to show the requestAutocomplete dialog again should be ignored. |
| 416 invoking_frame_->autofillClient()->didRequestAutocomplete(invoking_form()); | 371 invoking_frame_->autofillClient()->didRequestAutocomplete(invoking_form()); |
| 417 EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( | 372 EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( |
| 418 AutofillHostMsg_RequestAutocomplete::ID)); | 373 AutofillHostMsg_RequestAutocomplete::ID)); |
| 419 } | 374 } |
| 420 | 375 |
| 421 } // namespace autofill | 376 } // namespace autofill |
| OLD | NEW |