Index: ios/web/web_state/web_state_impl_unittest.mm |
diff --git a/ios/web/web_state/web_state_impl_unittest.mm b/ios/web/web_state/web_state_impl_unittest.mm |
index 1099a04bc49be7371ec19607f0401019b2ea627a..f6180e001f4f1a2b18d28da943f35e2791122d93 100644 |
--- a/ios/web/web_state/web_state_impl_unittest.mm |
+++ b/ios/web/web_state/web_state_impl_unittest.mm |
@@ -18,6 +18,7 @@ |
#import "ios/web/public/java_script_dialog_presenter.h" |
#include "ios/web/public/load_committed_details.h" |
#include "ios/web/public/test/fakes/test_browser_state.h" |
+#import "ios/web/public/test/fakes/test_web_state_delegate.h" |
#include "ios/web/public/test/web_test.h" |
#import "ios/web/public/web_state/context_menu_params.h" |
#include "ios/web/public/web_state/global_web_state_observer.h" |
@@ -114,95 +115,6 @@ class TestGlobalWebStateObserver : public GlobalWebStateObserver { |
bool web_state_destroyed_called_; |
}; |
-// Test delegate to check that the WebStateDelegate methods are called as |
-// expected. |
-class TestWebStateDelegate : public WebStateDelegate { |
- public: |
- TestWebStateDelegate() |
- : load_progress_changed_called_(false), |
- handle_context_menu_called_(false), |
- get_java_script_dialog_presenter_called_(false) {} |
- |
- // True if the WebStateDelegate LoadProgressChanged method has been called. |
- bool load_progress_changed_called() const { |
- return load_progress_changed_called_; |
- } |
- |
- // True if the WebStateDelegate HandleContextMenu method has been called. |
- bool handle_context_menu_called() const { |
- return handle_context_menu_called_; |
- } |
- |
- // True if the WebStateDelegate GetJavaScriptDialogPresenter method has been |
- // called. |
- bool get_java_script_dialog_presenter_called() const { |
- return get_java_script_dialog_presenter_called_; |
- } |
- |
- void SetJavaScriptDialogPresenter(JavaScriptDialogPresenter* presenter) { |
- presenter_ = presenter; |
- } |
- |
- private: |
- // WebStateDelegate implementation: |
- void LoadProgressChanged(WebState* source, double progress) override { |
- load_progress_changed_called_ = true; |
- } |
- |
- bool HandleContextMenu(WebState* source, |
- const ContextMenuParams& params) override { |
- handle_context_menu_called_ = true; |
- return NO; |
- } |
- |
- JavaScriptDialogPresenter* GetJavaScriptDialogPresenter( |
- WebState* source) override { |
- get_java_script_dialog_presenter_called_ = true; |
- return presenter_; |
- } |
- |
- bool load_progress_changed_called_; |
- bool handle_context_menu_called_; |
- bool get_java_script_dialog_presenter_called_; |
- JavaScriptDialogPresenter* presenter_; |
-}; |
- |
-// Test presenter to check that the JavaScriptDialogPresenter methods are called |
-// as expected. |
-class TestJavaScriptDialogPresenter : public JavaScriptDialogPresenter { |
- public: |
- TestJavaScriptDialogPresenter() |
- : cancel_dialogs_called_(false), run_java_script_dialog_called_(false) {} |
- |
- // True if the JavaScriptDialogPresenter CancelDialogs method has been called. |
- bool cancel_dialogs_called() const { return cancel_dialogs_called_; } |
- |
- // True if the JavaScriptDialogPresenter RunJavaScriptDialog method has been |
- // called. |
- bool run_java_script_dialog_called() const { |
- return run_java_script_dialog_called_; |
- } |
- |
- private: |
- // JavaScriptDialogPresenter implementation: |
- void RunJavaScriptDialog(WebState* web_state, |
- const GURL& origin_url, |
- JavaScriptDialogType java_script_dialog_type, |
- NSString* message_text, |
- NSString* default_prompt_text, |
- const DialogClosedCallback& callback) override { |
- run_java_script_dialog_called_ = true; |
- callback.Run(false, nil); |
- } |
- |
- void CancelDialogs(WebState* web_state) override { |
- cancel_dialogs_called_ = true; |
- } |
- |
- bool cancel_dialogs_called_; |
- bool run_java_script_dialog_called_; |
-}; |
- |
// Test observer to check that the WebStateObserver methods are called as |
// expected. |
class TestWebStateObserver : public WebStateObserver { |
@@ -506,12 +418,11 @@ TEST_F(WebStateTest, DelegateTest) { |
EXPECT_TRUE(delegate.handle_context_menu_called()); |
// Test that GetJavaScriptDialogPresenter() is called. |
- TestJavaScriptDialogPresenter presenter; |
- delegate.SetJavaScriptDialogPresenter(&presenter); |
- |
+ TestJavaScriptDialogPresenter* presenter = |
+ delegate.GetTestJavaScriptDialogPresenter(); |
EXPECT_FALSE(delegate.get_java_script_dialog_presenter_called()); |
- EXPECT_FALSE(presenter.run_java_script_dialog_called()); |
- EXPECT_FALSE(presenter.cancel_dialogs_called()); |
+ EXPECT_TRUE(presenter->requested_dialogs().empty()); |
+ EXPECT_FALSE(presenter->cancel_dialogs_called()); |
__block bool callback_called = false; |
web_state_->RunJavaScriptDialog(GURL(), JAVASCRIPT_DIALOG_TYPE_ALERT, @"", |
@@ -520,12 +431,12 @@ TEST_F(WebStateTest, DelegateTest) { |
})); |
EXPECT_TRUE(delegate.get_java_script_dialog_presenter_called()); |
- EXPECT_TRUE(presenter.run_java_script_dialog_called()); |
+ EXPECT_EQ(1U, presenter->requested_dialogs().size()); |
EXPECT_TRUE(callback_called); |
- EXPECT_FALSE(presenter.cancel_dialogs_called()); |
+ EXPECT_FALSE(presenter->cancel_dialogs_called()); |
web_state_->CancelDialogs(); |
- EXPECT_TRUE(presenter.cancel_dialogs_called()); |
+ EXPECT_TRUE(presenter->cancel_dialogs_called()); |
} |
// Verifies that GlobalWebStateObservers are called when expected. |