Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: android_webview/javatests/src/org/chromium/android_webview/test/AndroidWebViewLoadUrlTest.java

Issue 11028094: [android_webview] Use AwContents loadUrl method instead of ContentViewCore. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase yet again Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 package org.chromium.android_webview.test; 5 package org.chromium.android_webview.test;
6 6
7 import android.test.suitebuilder.annotation.SmallTest; 7 import android.test.suitebuilder.annotation.SmallTest;
8 8
9 import org.apache.http.Header; 9 import org.apache.http.Header;
10 import org.apache.http.HttpRequest; 10 import org.apache.http.HttpRequest;
11 11
12 import org.chromium.android_webview.AwContents;
12 import org.chromium.base.test.util.Feature; 13 import org.chromium.base.test.util.Feature;
13 import org.chromium.content.browser.ContentViewCore;
14 import org.chromium.content.browser.LoadUrlParams; 14 import org.chromium.content.browser.LoadUrlParams;
15 import org.chromium.content.browser.test.util.CallbackHelper; 15 import org.chromium.content.browser.test.util.CallbackHelper;
16 import org.chromium.android_webview.test.util.TestWebServer; 16 import org.chromium.android_webview.test.util.TestWebServer;
17 17
18 import java.util.concurrent.TimeUnit; 18 import java.util.concurrent.TimeUnit;
19 import java.util.HashMap; 19 import java.util.HashMap;
20 import java.util.Map; 20 import java.util.Map;
21 21
22 /** 22 /**
23 * Test suite for loadUrl(). 23 * Test suite for loadUrl().
24 */ 24 */
25 public class AndroidWebViewLoadUrlTest extends AndroidWebViewTestBase { 25 public class AndroidWebViewLoadUrlTest extends AndroidWebViewTestBase {
26 @SmallTest 26 @SmallTest
27 @Feature({"Android-WebView"}) 27 @Feature({"Android-WebView"})
28 public void testDataUrl() throws Throwable { 28 public void testDataUrl() throws Throwable {
29 final String expectedTitle = "dataUrlTest"; 29 final String expectedTitle = "dataUrlTest";
30 final String data = 30 final String data =
31 "<html><head><title>" + expectedTitle + "</title></head><body>foo</b ody></html>"; 31 "<html><head><title>" + expectedTitle + "</title></head><body>foo</b ody></html>";
32 32
33 final TestAwContentsClient contentsClient = new TestAwContentsClient(); 33 final TestAwContentsClient contentsClient = new TestAwContentsClient();
34 final ContentViewCore contentViewCore = 34 final AwTestContainerView testContainerView =
35 createAwTestContainerViewOnMainSync(contentsClient).getContentViewCo re(); 35 createAwTestContainerViewOnMainSync(contentsClient);
36 loadDataSync(contentViewCore, contentsClient.getOnPageFinishedHelper(), data, 36 final AwContents awContents = testContainerView.getAwContents();
37 loadDataSync(awContents, contentsClient.getOnPageFinishedHelper(), data,
37 "text/html", false); 38 "text/html", false);
38 assertEquals(expectedTitle, getTitleOnUiThread(contentViewCore)); 39 assertEquals(expectedTitle, getTitleOnUiThread(awContents));
39 } 40 }
40 41
41 @SmallTest 42 @SmallTest
42 @Feature({"Android-WebView"}) 43 @Feature({"Android-WebView"})
43 public void testDataUrlBase64() throws Throwable { 44 public void testDataUrlBase64() throws Throwable {
44 final String expectedTitle = "dataUrlTestBase64"; 45 final String expectedTitle = "dataUrlTestBase64";
45 final String data = "PGh0bWw+PGhlYWQ+PHRpdGxlPmRhdGFVcmxUZXN0QmFzZTY0PC9 0aXRsZT48" + 46 final String data = "PGh0bWw+PGhlYWQ+PHRpdGxlPmRhdGFVcmxUZXN0QmFzZTY0PC9 0aXRsZT48" +
46 "L2hlYWQ+PC9odG1sPg=="; 47 "L2hlYWQ+PC9odG1sPg==";
47 48
48 final TestAwContentsClient contentsClient = new TestAwContentsClient(); 49 final TestAwContentsClient contentsClient = new TestAwContentsClient();
49 final ContentViewCore contentViewCore = 50 final AwTestContainerView testContainerView =
50 createAwTestContainerViewOnMainSync(contentsClient).getContentViewCo re(); 51 createAwTestContainerViewOnMainSync(contentsClient);
51 loadDataSync(contentViewCore, contentsClient.getOnPageFinishedHelper(), data, 52 final AwContents awContents = testContainerView.getAwContents();
53 loadDataSync(awContents, contentsClient.getOnPageFinishedHelper(), data,
52 "text/html", true); 54 "text/html", true);
53 assertEquals(expectedTitle, getTitleOnUiThread(contentViewCore)); 55 assertEquals(expectedTitle, getTitleOnUiThread(awContents));
54 } 56 }
55 57
56 /** 58 /**
57 * Loads url on the UI thread and blocks until onPageFinished is called. 59 * Loads url on the UI thread and blocks until onPageFinished is called.
58 */ 60 */
59 protected void loadUrlWithExtraHeadersSync( 61 protected void loadUrlWithExtraHeadersSync(
60 final ContentViewCore contentViewCore, 62 final AwContents awContents,
61 CallbackHelper onPageFinishedHelper, 63 CallbackHelper onPageFinishedHelper,
62 final String url, 64 final String url,
63 final Map<String, String> extraHeaders) throws Throwable { 65 final Map<String, String> extraHeaders) throws Throwable {
64 int currentCallCount = onPageFinishedHelper.getCallCount(); 66 int currentCallCount = onPageFinishedHelper.getCallCount();
65 runTestOnUiThread(new Runnable() { 67 runTestOnUiThread(new Runnable() {
66 @Override 68 @Override
67 public void run() { 69 public void run() {
68 LoadUrlParams params = new LoadUrlParams(url); 70 LoadUrlParams params = new LoadUrlParams(url);
69 params.setExtraHeaders(extraHeaders); 71 params.setExtraHeaders(extraHeaders);
70 contentViewCore.loadUrl(params); 72 awContents.loadUrl(params);
71 } 73 }
72 }); 74 });
73 onPageFinishedHelper.waitForCallback(currentCallCount, 1, WAIT_TIMEOUT_S ECONDS, 75 onPageFinishedHelper.waitForCallback(currentCallCount, 1, WAIT_TIMEOUT_S ECONDS,
74 TimeUnit.SECONDS); 76 TimeUnit.SECONDS);
75 } 77 }
76 78
77 @SmallTest 79 @SmallTest
78 @Feature({"Android-WebView"}) 80 @Feature({"Android-WebView"})
79 public void testLoadUrlWithExtraHeaders() throws Throwable { 81 public void testLoadUrlWithExtraHeaders() throws Throwable {
80 final TestAwContentsClient contentsClient = new TestAwContentsClient(); 82 final TestAwContentsClient contentsClient = new TestAwContentsClient();
81 final ContentViewCore contentViewCore = 83 final AwTestContainerView testContainerView =
82 createAwTestContainerViewOnMainSync(contentsClient).getContentViewCo re(); 84 createAwTestContainerViewOnMainSync(contentsClient);
85 final AwContents awContents = testContainerView.getAwContents();
83 86
84 TestWebServer webServer = null; 87 TestWebServer webServer = null;
85 try { 88 try {
86 webServer = new TestWebServer(false); 89 webServer = new TestWebServer(false);
87 final String path = "/load_url_with_extra_headers_test.html"; 90 final String path = "/load_url_with_extra_headers_test.html";
88 final String url = webServer.setResponse(path, "<html><body>foo</bod y></html>", null); 91 final String url = webServer.setResponse(path, "<html><body>foo</bod y></html>", null);
89 92
90 String[] headerNames = {"X-ExtraHeaders1", "x-extraHeaders2"}; 93 String[] headerNames = {"X-ExtraHeaders1", "x-extraHeaders2"};
91 String[] headerValues = {"extra-header-data1", "EXTRA-HEADER-DATA2"} ; 94 String[] headerValues = {"extra-header-data1", "EXTRA-HEADER-DATA2"} ;
92 Map<String, String> extraHeaders = new HashMap<String, String>(); 95 Map<String, String> extraHeaders = new HashMap<String, String>();
93 for (int i = 0; i < headerNames.length; ++i) 96 for (int i = 0; i < headerNames.length; ++i)
94 extraHeaders.put(headerNames[i], headerValues[i]); 97 extraHeaders.put(headerNames[i], headerValues[i]);
95 98
96 loadUrlWithExtraHeadersSync(contentViewCore, 99 loadUrlWithExtraHeadersSync(awContents,
97 contentsClient.getOnPageFinishedHelper() , 100 contentsClient.getOnPageFinishedHelper() ,
98 url, 101 url,
99 extraHeaders); 102 extraHeaders);
100 103
101 HttpRequest request = webServer.getLastRequest(path); 104 HttpRequest request = webServer.getLastRequest(path);
102 for (int i = 0; i < headerNames.length; ++i) { 105 for (int i = 0; i < headerNames.length; ++i) {
103 Header[] matchingHeaders = request.getHeaders(headerNames[i]); 106 Header[] matchingHeaders = request.getHeaders(headerNames[i]);
104 assertEquals(1, matchingHeaders.length); 107 assertEquals(1, matchingHeaders.length);
105 108
106 Header header = matchingHeaders[0]; 109 Header header = matchingHeaders[0];
107 assertEquals(headerNames[i].toLowerCase(), header.getName()); 110 assertEquals(headerNames[i].toLowerCase(), header.getName());
108 assertEquals(headerValues[i], header.getValue()); 111 assertEquals(headerValues[i], header.getValue());
109 } 112 }
110 } finally { 113 } finally {
111 if (webServer != null) webServer.shutdown(); 114 if (webServer != null) webServer.shutdown();
112 } 115 }
113 } 116 }
114 } 117 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698