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

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

Issue 11098030: Revert 160959 - [android_webview] Use AwContents loadUrl method instead of ContentViewCore. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: 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 | Annotate | Revision Log
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.MoreAsserts; 7 import android.test.MoreAsserts;
8 import android.test.suitebuilder.annotation.MediumTest; 8 import android.test.suitebuilder.annotation.MediumTest;
9 import android.test.suitebuilder.annotation.SmallTest; 9 import android.test.suitebuilder.annotation.SmallTest;
10 import android.util.Pair; 10 import android.util.Pair;
11 11
12 import org.chromium.android_webview.AwContents;
13 import org.chromium.android_webview.CookieManager; 12 import org.chromium.android_webview.CookieManager;
14 import org.chromium.android_webview.test.util.TestWebServer; 13 import org.chromium.android_webview.test.util.TestWebServer;
15 import org.chromium.base.test.util.Feature; 14 import org.chromium.base.test.util.Feature;
15 import org.chromium.content.browser.ContentViewCore;
16 import org.chromium.content.browser.test.util.Criteria; 16 import org.chromium.content.browser.test.util.Criteria;
17 import org.chromium.content.browser.test.util.CriteriaHelper; 17 import org.chromium.content.browser.test.util.CriteriaHelper;
18 import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnEval uateJavaScriptResultHelper; 18 import org.chromium.content.browser.test.util.TestCallbackHelperContainer.OnEval uateJavaScriptResultHelper;
19 19
20 import java.util.ArrayList; 20 import java.util.ArrayList;
21 import java.util.Arrays; 21 import java.util.Arrays;
22 import java.util.Date; 22 import java.util.Date;
23 import java.util.HashSet; 23 import java.util.HashSet;
24 import java.util.List; 24 import java.util.List;
25 import java.util.Set; 25 import java.util.Set;
26 import java.util.concurrent.atomic.AtomicInteger; 26 import java.util.concurrent.atomic.AtomicInteger;
27 27
28 /** 28 /**
29 * Tests for the CookieManager. 29 * Tests for the CookieManager.
30 */ 30 */
31 public class CookieManagerTest extends AndroidWebViewTestBase { 31 public class CookieManagerTest extends AndroidWebViewTestBase {
32 32
33 private CookieManager mCookieManager; 33 private CookieManager mCookieManager;
34 private TestAwContentsClient mContentsClient; 34 private TestAwContentsClient mContentViewClient;
35 private AwContents mAwContents; 35 private ContentViewCore mContentViewCore;
36 36
37 @Override 37 @Override
38 protected void setUp() throws Exception { 38 protected void setUp() throws Exception {
39 super.setUp(); 39 super.setUp();
40 40
41 mCookieManager = new CookieManager(); 41 mCookieManager = new CookieManager();
42 mContentsClient = new TestAwContentsClient(); 42 mContentViewClient = new TestAwContentsClient();
43 final AwTestContainerView testContainerView = 43 mContentViewCore =
44 createAwTestContainerViewOnMainSync(mContentsClient); 44 createAwTestContainerViewOnMainSync(mContentViewClient).getConte ntViewCore();
45 mAwContents = testContainerView.getAwContents(); 45 mContentViewCore.getContentSettings().setJavaScriptEnabled(true);
46 mAwContents.getContentViewCore().getContentSettings().setJavaScriptEnabl ed(true);
47 assertNotNull(mCookieManager); 46 assertNotNull(mCookieManager);
48 } 47 }
49 48
50 @SmallTest 49 @SmallTest
51 @Feature({"Android-WebView", "Privacy"}) 50 @Feature({"Android-WebView", "Privacy"})
52 public void testAllowFileSchemeCookies() throws Throwable { 51 public void testAllowFileSchemeCookies() throws Throwable {
53 assertFalse(CookieManager.allowFileSchemeCookies()); 52 assertFalse(CookieManager.allowFileSchemeCookies());
54 CookieManager.setAcceptFileSchemeCookies(true); 53 CookieManager.setAcceptFileSchemeCookies(true);
55 assertTrue(CookieManager.allowFileSchemeCookies()); 54 assertTrue(CookieManager.allowFileSchemeCookies());
56 CookieManager.setAcceptFileSchemeCookies(false); 55 CookieManager.setAcceptFileSchemeCookies(false);
57 assertFalse(CookieManager.allowFileSchemeCookies()); 56 assertFalse(CookieManager.allowFileSchemeCookies());
58 } 57 }
59 58
60 @MediumTest 59 @MediumTest
61 @Feature({"Android-WebView", "Privacy"}) 60 @Feature({"Android-WebView", "Privacy"})
62 public void testAcceptCookie() throws Throwable { 61 public void testAcceptCookie() throws Throwable {
63 TestWebServer webServer = null; 62 TestWebServer webServer = null;
64 try { 63 try {
65 webServer = new TestWebServer(false); 64 webServer = new TestWebServer(false);
66 String path = "/cookie_test.html"; 65 String path = "/cookie_test.html";
67 String responseStr = 66 String responseStr =
68 "<html><head><title>TEST!</title></head><body>HELLO!</body>< /html>"; 67 "<html><head><title>TEST!</title></head><body>HELLO!</body>< /html>";
69 String url = webServer.setResponse(path, responseStr, null); 68 String url = webServer.setResponse(path, responseStr, null);
70 69
71 mCookieManager.setAcceptCookie(false); 70 mCookieManager.setAcceptCookie(false);
72 mCookieManager.removeAllCookie(); 71 mCookieManager.removeAllCookie();
73 assertFalse(mCookieManager.acceptCookie()); 72 assertFalse(mCookieManager.acceptCookie());
74 assertFalse(mCookieManager.hasCookies()); 73 assertFalse(mCookieManager.hasCookies());
75 74
76 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url); 75 loadUrlSync(mContentViewCore, mContentViewClient.getOnPageFinishedHe lper(), url);
77 setCookie("test1", "value1"); 76 setCookie("test1", "value1");
78 assertNull(mCookieManager.getCookie(url)); 77 assertNull(mCookieManager.getCookie(url));
79 78
80 List<Pair<String, String>> responseHeaders = new ArrayList<Pair<Stri ng, String>>(); 79 List<Pair<String, String>> responseHeaders = new ArrayList<Pair<Stri ng, String>>();
81 responseHeaders.add( 80 responseHeaders.add(
82 Pair.create("Set-Cookie", "header-test1=header-value1; path= " + path)); 81 Pair.create("Set-Cookie", "header-test1=header-value1; path= " + path));
83 url = webServer.setResponse(path, responseStr, responseHeaders); 82 url = webServer.setResponse(path, responseStr, responseHeaders);
84 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url); 83 loadUrlSync(mContentViewCore, mContentViewClient.getOnPageFinishedHe lper(), url);
85 assertNull(mCookieManager.getCookie(url)); 84 assertNull(mCookieManager.getCookie(url));
86 85
87 mCookieManager.setAcceptCookie(true); 86 mCookieManager.setAcceptCookie(true);
88 assertTrue(mCookieManager.acceptCookie()); 87 assertTrue(mCookieManager.acceptCookie());
89 88
90 url = webServer.setResponse(path, responseStr, null); 89 url = webServer.setResponse(path, responseStr, null);
91 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url); 90 loadUrlSync(mContentViewCore, mContentViewClient.getOnPageFinishedHe lper(), url);
92 setCookie("test2", "value2"); 91 setCookie("test2", "value2");
93 waitForCookie(url); 92 waitForCookie(url);
94 String cookie = mCookieManager.getCookie(url); 93 String cookie = mCookieManager.getCookie(url);
95 assertNotNull(cookie); 94 assertNotNull(cookie);
96 validateCookies(cookie, "test2"); 95 validateCookies(cookie, "test2");
97 96
98 responseHeaders = new ArrayList<Pair<String, String>>(); 97 responseHeaders = new ArrayList<Pair<String, String>>();
99 responseHeaders.add( 98 responseHeaders.add(
100 Pair.create("Set-Cookie", "header-test2=header-value2 path=" + path)); 99 Pair.create("Set-Cookie", "header-test2=header-value2 path=" + path));
101 url = webServer.setResponse(path, responseStr, responseHeaders); 100 url = webServer.setResponse(path, responseStr, responseHeaders);
102 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url); 101 loadUrlSync(mContentViewCore, mContentViewClient.getOnPageFinishedHe lper(), url);
103 waitForCookie(url); 102 waitForCookie(url);
104 cookie = mCookieManager.getCookie(url); 103 cookie = mCookieManager.getCookie(url);
105 assertNotNull(cookie); 104 assertNotNull(cookie);
106 validateCookies(cookie, "test2", "header-test2"); 105 validateCookies(cookie, "test2", "header-test2");
107 106
108 // clean up all cookies 107 // clean up all cookies
109 mCookieManager.removeAllCookie(); 108 mCookieManager.removeAllCookie();
110 } finally { 109 } finally {
111 if (webServer != null) webServer.shutdown(); 110 if (webServer != null) webServer.shutdown();
112 } 111 }
113 } 112 }
114 113
115 private void setCookie(final String name, final String value) 114 private void setCookie(final String name, final String value)
116 throws Throwable { 115 throws Throwable {
117 OnEvaluateJavaScriptResultHelper onEvaluateJavaScriptResultHelper = 116 OnEvaluateJavaScriptResultHelper onEvaluateJavaScriptResultHelper =
118 mContentsClient.getOnEvaluateJavaScriptResultHelper(); 117 mContentViewClient.getOnEvaluateJavaScriptResultHelper();
119 int currentCallCount = onEvaluateJavaScriptResultHelper.getCallCount(); 118 int currentCallCount = onEvaluateJavaScriptResultHelper.getCallCount();
120 final AtomicInteger requestId = new AtomicInteger(); 119 final AtomicInteger requestId = new AtomicInteger();
121 runTestOnUiThread(new Runnable() { 120 runTestOnUiThread(new Runnable() {
122 @Override 121 @Override
123 public void run() { 122 public void run() {
124 requestId.set(mAwContents.getContentViewCore().evaluateJavaScrip t( 123 requestId.set(mContentViewCore.evaluateJavaScript(
125 "var expirationDate = new Date();" + 124 "var expirationDate = new Date();" +
126 "expirationDate.setDate(expirationDate.getDate() + 5);" + 125 "expirationDate.setDate(expirationDate.getDate() + 5);" +
127 "document.cookie='" + name + "=" + value + 126 "document.cookie='" + name + "=" + value +
128 "; expires=' + expirationDate.toUTCString();")); 127 "; expires=' + expirationDate.toUTCString();"));
129 } 128 }
130 }); 129 });
131 onEvaluateJavaScriptResultHelper.waitForCallback(currentCallCount); 130 onEvaluateJavaScriptResultHelper.waitForCallback(currentCallCount);
132 assertEquals("Response ID mismatch when evaluating JavaScript.", 131 assertEquals("Response ID mismatch when evaluating JavaScript.",
133 requestId.get(), onEvaluateJavaScriptResultHelper.getId()); 132 requestId.get(), onEvaluateJavaScriptResultHelper.getId());
134 } 133 }
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 238
240 mCookieManager.removeAllCookie(); 239 mCookieManager.removeAllCookie();
241 assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { 240 assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
242 @Override 241 @Override
243 public boolean isSatisfied() { 242 public boolean isSatisfied() {
244 return mCookieManager.getCookie(url) == null; 243 return mCookieManager.getCookie(url) == null;
245 } 244 }
246 })); 245 }));
247 } 246 }
248 } 247 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698