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

Side by Side Diff: android_webview/javatests/src/org/chromium/android_webview/test/CookieManagerTest.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.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;
12 import org.chromium.android_webview.CookieManager; 13 import org.chromium.android_webview.CookieManager;
13 import org.chromium.android_webview.test.util.TestWebServer; 14 import org.chromium.android_webview.test.util.TestWebServer;
14 import org.chromium.base.test.util.Feature; 15 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 mContentViewClient; 34 private TestAwContentsClient mContentsClient;
35 private ContentViewCore mContentViewCore; 35 private AwContents mAwContents;
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 mContentViewClient = new TestAwContentsClient(); 42 mContentsClient = new TestAwContentsClient();
43 mContentViewCore = 43 final AwTestContainerView testContainerView =
44 createAwTestContainerViewOnMainSync(mContentViewClient).getConte ntViewCore(); 44 createAwTestContainerViewOnMainSync(mContentsClient);
45 mContentViewCore.getContentSettings().setJavaScriptEnabled(true); 45 mAwContents = testContainerView.getAwContents();
46 mAwContents.getContentViewCore().getContentSettings().setJavaScriptEnabl ed(true);
46 assertNotNull(mCookieManager); 47 assertNotNull(mCookieManager);
47 } 48 }
48 49
49 @SmallTest 50 @SmallTest
50 @Feature({"Android-WebView", "Privacy"}) 51 @Feature({"Android-WebView", "Privacy"})
51 public void testAllowFileSchemeCookies() throws Throwable { 52 public void testAllowFileSchemeCookies() throws Throwable {
52 assertFalse(CookieManager.allowFileSchemeCookies()); 53 assertFalse(CookieManager.allowFileSchemeCookies());
53 CookieManager.setAcceptFileSchemeCookies(true); 54 CookieManager.setAcceptFileSchemeCookies(true);
54 assertTrue(CookieManager.allowFileSchemeCookies()); 55 assertTrue(CookieManager.allowFileSchemeCookies());
55 CookieManager.setAcceptFileSchemeCookies(false); 56 CookieManager.setAcceptFileSchemeCookies(false);
56 assertFalse(CookieManager.allowFileSchemeCookies()); 57 assertFalse(CookieManager.allowFileSchemeCookies());
57 } 58 }
58 59
59 @MediumTest 60 @MediumTest
60 @Feature({"Android-WebView", "Privacy"}) 61 @Feature({"Android-WebView", "Privacy"})
61 public void testAcceptCookie() throws Throwable { 62 public void testAcceptCookie() throws Throwable {
62 TestWebServer webServer = null; 63 TestWebServer webServer = null;
63 try { 64 try {
64 webServer = new TestWebServer(false); 65 webServer = new TestWebServer(false);
65 String path = "/cookie_test.html"; 66 String path = "/cookie_test.html";
66 String responseStr = 67 String responseStr =
67 "<html><head><title>TEST!</title></head><body>HELLO!</body>< /html>"; 68 "<html><head><title>TEST!</title></head><body>HELLO!</body>< /html>";
68 String url = webServer.setResponse(path, responseStr, null); 69 String url = webServer.setResponse(path, responseStr, null);
69 70
70 mCookieManager.setAcceptCookie(false); 71 mCookieManager.setAcceptCookie(false);
71 mCookieManager.removeAllCookie(); 72 mCookieManager.removeAllCookie();
72 assertFalse(mCookieManager.acceptCookie()); 73 assertFalse(mCookieManager.acceptCookie());
73 assertFalse(mCookieManager.hasCookies()); 74 assertFalse(mCookieManager.hasCookies());
74 75
75 loadUrlSync(mContentViewCore, mContentViewClient.getOnPageFinishedHe lper(), url); 76 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url);
76 setCookie("test1", "value1"); 77 setCookie("test1", "value1");
77 assertNull(mCookieManager.getCookie(url)); 78 assertNull(mCookieManager.getCookie(url));
78 79
79 List<Pair<String, String>> responseHeaders = new ArrayList<Pair<Stri ng, String>>(); 80 List<Pair<String, String>> responseHeaders = new ArrayList<Pair<Stri ng, String>>();
80 responseHeaders.add( 81 responseHeaders.add(
81 Pair.create("Set-Cookie", "header-test1=header-value1; path= " + path)); 82 Pair.create("Set-Cookie", "header-test1=header-value1; path= " + path));
82 url = webServer.setResponse(path, responseStr, responseHeaders); 83 url = webServer.setResponse(path, responseStr, responseHeaders);
83 loadUrlSync(mContentViewCore, mContentViewClient.getOnPageFinishedHe lper(), url); 84 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url);
84 assertNull(mCookieManager.getCookie(url)); 85 assertNull(mCookieManager.getCookie(url));
85 86
86 mCookieManager.setAcceptCookie(true); 87 mCookieManager.setAcceptCookie(true);
87 assertTrue(mCookieManager.acceptCookie()); 88 assertTrue(mCookieManager.acceptCookie());
88 89
89 url = webServer.setResponse(path, responseStr, null); 90 url = webServer.setResponse(path, responseStr, null);
90 loadUrlSync(mContentViewCore, mContentViewClient.getOnPageFinishedHe lper(), url); 91 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url);
91 setCookie("test2", "value2"); 92 setCookie("test2", "value2");
92 waitForCookie(url); 93 waitForCookie(url);
93 String cookie = mCookieManager.getCookie(url); 94 String cookie = mCookieManager.getCookie(url);
94 assertNotNull(cookie); 95 assertNotNull(cookie);
95 validateCookies(cookie, "test2"); 96 validateCookies(cookie, "test2");
96 97
97 responseHeaders = new ArrayList<Pair<String, String>>(); 98 responseHeaders = new ArrayList<Pair<String, String>>();
98 responseHeaders.add( 99 responseHeaders.add(
99 Pair.create("Set-Cookie", "header-test2=header-value2 path=" + path)); 100 Pair.create("Set-Cookie", "header-test2=header-value2 path=" + path));
100 url = webServer.setResponse(path, responseStr, responseHeaders); 101 url = webServer.setResponse(path, responseStr, responseHeaders);
101 loadUrlSync(mContentViewCore, mContentViewClient.getOnPageFinishedHe lper(), url); 102 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url);
102 waitForCookie(url); 103 waitForCookie(url);
103 cookie = mCookieManager.getCookie(url); 104 cookie = mCookieManager.getCookie(url);
104 assertNotNull(cookie); 105 assertNotNull(cookie);
105 validateCookies(cookie, "test2", "header-test2"); 106 validateCookies(cookie, "test2", "header-test2");
106 107
107 // clean up all cookies 108 // clean up all cookies
108 mCookieManager.removeAllCookie(); 109 mCookieManager.removeAllCookie();
109 } finally { 110 } finally {
110 if (webServer != null) webServer.shutdown(); 111 if (webServer != null) webServer.shutdown();
111 } 112 }
112 } 113 }
113 114
114 private void setCookie(final String name, final String value) 115 private void setCookie(final String name, final String value)
115 throws Throwable { 116 throws Throwable {
116 OnEvaluateJavaScriptResultHelper onEvaluateJavaScriptResultHelper = 117 OnEvaluateJavaScriptResultHelper onEvaluateJavaScriptResultHelper =
117 mContentViewClient.getOnEvaluateJavaScriptResultHelper(); 118 mContentsClient.getOnEvaluateJavaScriptResultHelper();
118 int currentCallCount = onEvaluateJavaScriptResultHelper.getCallCount(); 119 int currentCallCount = onEvaluateJavaScriptResultHelper.getCallCount();
119 final AtomicInteger requestId = new AtomicInteger(); 120 final AtomicInteger requestId = new AtomicInteger();
120 runTestOnUiThread(new Runnable() { 121 runTestOnUiThread(new Runnable() {
121 @Override 122 @Override
122 public void run() { 123 public void run() {
123 requestId.set(mContentViewCore.evaluateJavaScript( 124 requestId.set(mAwContents.getContentViewCore().evaluateJavaScrip t(
124 "var expirationDate = new Date();" + 125 "var expirationDate = new Date();" +
125 "expirationDate.setDate(expirationDate.getDate() + 5);" + 126 "expirationDate.setDate(expirationDate.getDate() + 5);" +
126 "document.cookie='" + name + "=" + value + 127 "document.cookie='" + name + "=" + value +
127 "; expires=' + expirationDate.toUTCString();")); 128 "; expires=' + expirationDate.toUTCString();"));
128 } 129 }
129 }); 130 });
130 onEvaluateJavaScriptResultHelper.waitForCallback(currentCallCount); 131 onEvaluateJavaScriptResultHelper.waitForCallback(currentCallCount);
131 assertEquals("Response ID mismatch when evaluating JavaScript.", 132 assertEquals("Response ID mismatch when evaluating JavaScript.",
132 requestId.get(), onEvaluateJavaScriptResultHelper.getId()); 133 requestId.get(), onEvaluateJavaScriptResultHelper.getId());
133 } 134 }
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 239
239 mCookieManager.removeAllCookie(); 240 mCookieManager.removeAllCookie();
240 assertTrue(CriteriaHelper.pollForCriteria(new Criteria() { 241 assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
241 @Override 242 @Override
242 public boolean isSatisfied() { 243 public boolean isSatisfied() {
243 return mCookieManager.getCookie(url) == null; 244 return mCookieManager.getCookie(url) == null;
244 } 245 }
245 })); 246 }));
246 } 247 }
247 } 248 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698