| 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/test/web_int_test.h" | 5 #import "ios/web/test/web_int_test.h" |
| 6 | 6 |
| 7 #import "base/ios/block_types.h" | 7 #import "base/ios/block_types.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #import "base/test/ios/wait_util.h" | 9 #import "base/test/ios/wait_util.h" |
| 10 #import "ios/web/public/test/http_server.h" | 10 #import "ios/web/public/test/http_server.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 | 54 |
| 55 // Start the http server. | 55 // Start the http server. |
| 56 web::test::HttpServer& server = web::test::HttpServer::GetSharedInstance(); | 56 web::test::HttpServer& server = web::test::HttpServer::GetSharedInstance(); |
| 57 ASSERT_FALSE(server.IsRunning()); | 57 ASSERT_FALSE(server.IsRunning()); |
| 58 server.StartOrDie(); | 58 server.StartOrDie(); |
| 59 | 59 |
| 60 // Remove any previously existing WKWebView data. | 60 // Remove any previously existing WKWebView data. |
| 61 RemoveWKWebViewCreatedData([WKWebsiteDataStore defaultDataStore], | 61 RemoveWKWebViewCreatedData([WKWebsiteDataStore defaultDataStore], |
| 62 [WKWebsiteDataStore allWebsiteDataTypes]); | 62 [WKWebsiteDataStore allWebsiteDataTypes]); |
| 63 | 63 |
| 64 // Create the WebState and its WebStateObserver. | 64 // Create the WebState. |
| 65 web::WebState::CreateParams web_state_create_params(GetBrowserState()); | 65 web::WebState::CreateParams web_state_create_params(GetBrowserState()); |
| 66 web_state_ = web::WebState::Create(web_state_create_params); | 66 web_state_ = web::WebState::Create(web_state_create_params); |
| 67 observer_ = base::WrapUnique(new IntTestWebStateObserver(web_state())); | |
| 68 | 67 |
| 69 // Resize the webview so that pages can be properly rendered. | 68 // Resize the webview so that pages can be properly rendered. |
| 70 web_state()->GetView().frame = | 69 web_state()->GetView().frame = |
| 71 [UIApplication sharedApplication].keyWindow.bounds; | 70 [UIApplication sharedApplication].keyWindow.bounds; |
| 72 | 71 |
| 73 // Enable web usage for the WebState. | 72 // Enable web usage for the WebState. |
| 74 web_state()->SetWebUsageEnabled(true); | 73 web_state()->SetWebUsageEnabled(true); |
| 74 |
| 75 web_state()->SetDelegate(&web_state_delegate_); |
| 75 } | 76 } |
| 76 | 77 |
| 77 void WebIntTest::TearDown() { | 78 void WebIntTest::TearDown() { |
| 78 RemoveWKWebViewCreatedData([WKWebsiteDataStore defaultDataStore], | 79 RemoveWKWebViewCreatedData([WKWebsiteDataStore defaultDataStore], |
| 79 [WKWebsiteDataStore allWebsiteDataTypes]); | 80 [WKWebsiteDataStore allWebsiteDataTypes]); |
| 80 | 81 |
| 81 web::test::HttpServer& server = web::test::HttpServer::GetSharedInstance(); | 82 web::test::HttpServer& server = web::test::HttpServer::GetSharedInstance(); |
| 82 server.Stop(); | 83 server.Stop(); |
| 83 EXPECT_FALSE(server.IsRunning()); | 84 EXPECT_FALSE(server.IsRunning()); |
| 84 | 85 |
| 85 WebTest::TearDown(); | 86 WebTest::TearDown(); |
| 86 } | 87 } |
| 87 | 88 |
| 88 id WebIntTest::ExecuteJavaScript(NSString* script) { | 89 id WebIntTest::ExecuteJavaScript(NSString* script) { |
| 89 return web::ExecuteJavaScript(web_state()->GetJSInjectionReceiver(), script); | 90 return web::ExecuteJavaScript(web_state()->GetJSInjectionReceiver(), script); |
| 90 } | 91 } |
| 91 | 92 |
| 92 void WebIntTest::ExecuteBlockAndWaitForLoad(const GURL& url, | 93 void WebIntTest::ExecuteBlockAndWaitForLoad(const GURL& url, |
| 93 ProceduralBlock block) { | 94 ProceduralBlock block) { |
| 94 DCHECK(block); | 95 DCHECK(block); |
| 96 observer_ = base::MakeUnique<IntTestWebStateObserver>(web_state()); |
| 95 observer_->ExpectPageLoad(url); | 97 observer_->ExpectPageLoad(url); |
| 96 block(); | 98 block(); |
| 97 base::test::ios::WaitUntilCondition(^bool { | 99 base::test::ios::WaitUntilCondition(^bool { |
| 98 return observer_->IsExpectedPageLoaded(); | 100 return observer_->IsExpectedPageLoaded(); |
| 99 }); | 101 }); |
| 100 } | 102 } |
| 101 | 103 |
| 102 void WebIntTest::LoadUrl(const GURL& url) { | 104 void WebIntTest::LoadUrl(const GURL& url) { |
| 103 ExecuteBlockAndWaitForLoad(url, ^{ | 105 ExecuteBlockAndWaitForLoad(url, ^{ |
| 104 web::NavigationManager::WebLoadParams params(url); | 106 web::NavigationManager::WebLoadParams params(url); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 NSInteger WebIntTest::GetIndexOfNavigationItem( | 145 NSInteger WebIntTest::GetIndexOfNavigationItem( |
| 144 const web::NavigationItem* item) { | 146 const web::NavigationItem* item) { |
| 145 for (NSInteger i = 0; i < navigation_manager()->GetItemCount(); ++i) { | 147 for (NSInteger i = 0; i < navigation_manager()->GetItemCount(); ++i) { |
| 146 if (navigation_manager()->GetItemAtIndex(i) == item) | 148 if (navigation_manager()->GetItemAtIndex(i) == item) |
| 147 return i; | 149 return i; |
| 148 } | 150 } |
| 149 return NSNotFound; | 151 return NSNotFound; |
| 150 } | 152 } |
| 151 | 153 |
| 152 } // namespace web | 154 } // namespace web |
| OLD | NEW |