| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #import "ios/web/webui/crw_web_ui_manager.h" | 5 #import "ios/web/webui/crw_web_ui_manager.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 const char kMojoModuleName[] = "test-mojo-module"; | 40 const char kMojoModuleName[] = "test-mojo-module"; |
| 41 // HTML for mock WebUI page. | 41 // HTML for mock WebUI page. |
| 42 NSString* kHtml = @"<html>Hello World</html>"; | 42 NSString* kHtml = @"<html>Hello World</html>"; |
| 43 // Mojo module for WebUI page. | 43 // Mojo module for WebUI page. |
| 44 NSString* kMojoModule = @"service_provider.connect('Test');"; | 44 NSString* kMojoModule = @"service_provider.connect('Test');"; |
| 45 | 45 |
| 46 // Mock of WebStateImpl to check that LoadHtml and ExecuteJavaScript are called | 46 // Mock of WebStateImpl to check that LoadHtml and ExecuteJavaScript are called |
| 47 // as expected. | 47 // as expected. |
| 48 class MockWebStateImpl : public WebStateImpl { | 48 class MockWebStateImpl : public WebStateImpl { |
| 49 public: | 49 public: |
| 50 MockWebStateImpl(BrowserState* browser_state) | 50 MockWebStateImpl(const WebState::CreateParams& params) |
| 51 : WebStateImpl(browser_state), last_committed_url_(kTestWebUIUrl) {} | 51 : WebStateImpl(params), last_committed_url_(kTestWebUIUrl) {} |
| 52 MOCK_METHOD2(LoadWebUIHtml, | 52 MOCK_METHOD2(LoadWebUIHtml, |
| 53 void(const base::string16& html, const GURL& url)); | 53 void(const base::string16& html, const GURL& url)); |
| 54 MOCK_METHOD1(ExecuteJavaScript, void(const base::string16& javascript)); | 54 MOCK_METHOD1(ExecuteJavaScript, void(const base::string16& javascript)); |
| 55 const GURL& GetLastCommittedURL() const override { | 55 const GURL& GetLastCommittedURL() const override { |
| 56 return last_committed_url_; | 56 return last_committed_url_; |
| 57 } | 57 } |
| 58 | 58 |
| 59 private: | 59 private: |
| 60 GURL last_committed_url_; | 60 GURL last_committed_url_; |
| 61 }; | 61 }; |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 @end | 118 @end |
| 119 | 119 |
| 120 namespace web { | 120 namespace web { |
| 121 | 121 |
| 122 // Test fixture for testing CRWWebUIManager | 122 // Test fixture for testing CRWWebUIManager |
| 123 class CRWWebUIManagerTest : public web::WebTest { | 123 class CRWWebUIManagerTest : public web::WebTest { |
| 124 protected: | 124 protected: |
| 125 void SetUp() override { | 125 void SetUp() override { |
| 126 PlatformTest::SetUp(); | 126 PlatformTest::SetUp(); |
| 127 test_browser_state_.reset(new TestBrowserState()); | 127 test_browser_state_.reset(new TestBrowserState()); |
| 128 web_state_impl_.reset(new MockWebStateImpl(test_browser_state_.get())); | 128 WebState::CreateParams params(test_browser_state_.get()); |
| 129 web_state_impl_.reset(new MockWebStateImpl(params)); |
| 129 web_ui_manager_.reset( | 130 web_ui_manager_.reset( |
| 130 [[CRWTestWebUIManager alloc] initWithWebState:web_state_impl_.get()]); | 131 [[CRWTestWebUIManager alloc] initWithWebState:web_state_impl_.get()]); |
| 131 } | 132 } |
| 132 | 133 |
| 133 // TestBrowserState for creation of WebStateImpl. | 134 // TestBrowserState for creation of WebStateImpl. |
| 134 std::unique_ptr<TestBrowserState> test_browser_state_; | 135 std::unique_ptr<TestBrowserState> test_browser_state_; |
| 135 // MockWebStateImpl for detection of LoadHtml and EvaluateJavaScriptAync | 136 // MockWebStateImpl for detection of LoadHtml and EvaluateJavaScriptAync |
| 136 // calls. | 137 // calls. |
| 137 std::unique_ptr<MockWebStateImpl> web_state_impl_; | 138 std::unique_ptr<MockWebStateImpl> web_state_impl_; |
| 138 // WebUIManager for testing. | 139 // WebUIManager for testing. |
| (...skipping 26 matching lines...) Expand all Loading... |
| 165 "%s__crWeb.webUIModuleLoadNotifier.moduleLoadCompleted(\"%s\", \"%s\");", | 166 "%s__crWeb.webUIModuleLoadNotifier.moduleLoadCompleted(\"%s\", \"%s\");", |
| 166 base::SysNSStringToUTF8(kMojoModule).c_str(), kMojoModuleName, | 167 base::SysNSStringToUTF8(kMojoModule).c_str(), kMojoModuleName, |
| 167 kTestLoadId); | 168 kTestLoadId); |
| 168 | 169 |
| 169 EXPECT_CALL(*web_state_impl_, | 170 EXPECT_CALL(*web_state_impl_, |
| 170 ExecuteJavaScript(base::UTF8ToUTF16(expected_javascript))); | 171 ExecuteJavaScript(base::UTF8ToUTF16(expected_javascript))); |
| 171 web_state_impl_->OnScriptCommandReceived("webui.loadMojo", message, | 172 web_state_impl_->OnScriptCommandReceived("webui.loadMojo", message, |
| 172 GURL(kTestWebUIUrl), false); | 173 GURL(kTestWebUIUrl), false); |
| 173 } | 174 } |
| 174 } // namespace web | 175 } // namespace web |
| OLD | NEW |