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

Unified Diff: chrome/test/data/extensions/api_test/cookies/api/tab.html

Issue 6525016: Adding callbacks to `chrome.cookies.{set,remove}`. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Dropping 'cookie_list_' member var, setting 'result_' on IO thread. Created 9 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/cookies/api/tab.html
diff --git a/chrome/test/data/extensions/api_test/cookies/api/tab.html b/chrome/test/data/extensions/api_test/cookies/api/tab.html
index 9a85056948b579c00669ad97e8158ceb4f6b71e3..4cd8fff9039a38d6f7152fac73c4c0cec77a7bab 100644
--- a/chrome/test/data/extensions/api_test/cookies/api/tab.html
+++ b/chrome/test/data/extensions/api_test/cookies/api/tab.html
@@ -207,6 +207,63 @@ chrome.test.runTests([
chrome.test.assertEq(TEST_ODD_PATH, unescape(cookie.path));
}));
},
+ function setCookiesWithCallbacks() {
+ removeTestCookies();
+ // Basics.
+ chrome.cookies.set(
+ TEST_BASIC_COOKIE,
+ pass(function(cookie) {
+ expectValidCookie(cookie);
+ chrome.test.assertEq(TEST_BASIC_COOKIE.name, cookie.name);
+ chrome.test.assertEq(TEST_BASIC_COOKIE.value, cookie.value);
+ chrome.test.assertEq(TEST_HOST, cookie.domain);
+ chrome.test.assertEq(true, cookie.hostOnly);
+ chrome.test.assertEq('/', cookie.path);
+ chrome.test.assertEq(false, cookie.secure);
+ chrome.test.assertEq(false, cookie.httpOnly);
+ chrome.test.assertEq(true, cookie.session);
+ chrome.test.assertTrue(typeof cookie.expirationDate === 'undefined',
+ 'Session cookie should not have expirationDate property.');
+ chrome.test.assertTrue(typeof cookie.storeId !== 'undefined',
+ 'Cookie store ID not provided.');
+ }));
+ // Invalid values generate callback with "null" cookie.
+ chrome.cookies.set(
+ {url: TEST_UNPERMITTED_URL, name: 'abcd', domain: TEST_DOMAIN},
+ fail(
+ 'No host permissions for cookies at url: "'
+ + TEST_UNPERMITTED_URL + '".',
+ expectNullCookie));
+ chrome.cookies.set(
+ {url: TEST_URL, name: 'abcd=efg'},
+ fail('Failed to parse or set cookie named "abcd=efg".',
+ expectNullCookie));
+ chrome.cookies.set(
+ {url: TEST_URL, name: 'abcd', value: 'HI;LO'},
+ fail('Failed to parse or set cookie named "abcd".',
+ expectNullCookie));
+ chrome.cookies.set(
+ {url: TEST_URL, name: 'abcd', domain: 'cookies.com\r'},
+ fail('Failed to parse or set cookie named "abcd".',
+ expectNullCookie));
+ chrome.cookies.set(
+ {url: TEST_URL, name: 'abcd', domain: 'somedomain.com'},
+ fail('Failed to parse or set cookie named "abcd".',
+ expectNullCookie));
+ // Expired cookies generate callback with "null" cookie
+ chrome.cookies.set(TEST_BASIC_EXPIRED_COOKIE, pass(expectNullCookie));
+ // Odd (but valid!) URLs get callbacks too!
+ chrome.cookies.set({
+ url: TEST_ODD_URL,
+ name: 'abcd',
+ domain: TEST_ODD_DOMAIN,
+ path: TEST_ODD_PATH
+ }, pass(function(cookie) {
+ expectValidCookie(cookie);
+ chrome.test.assertEq(TEST_ODD_DOMAIN, unescape(cookie.domain));
+ chrome.test.assertEq(TEST_ODD_PATH, unescape(cookie.path));
+ }));
+ },
function removeCookie() {
removeTestCookies();
chrome.cookies.set(TEST_BASIC_COOKIE);
@@ -239,6 +296,29 @@ chrome.test.runTests([
{url: TEST_URL2, name: TEST_DOMAIN_COOKIE.name},
pass(expectValidCookie));
},
+ function removeCookiesWithCallbacks() {
+ removeTestCookies();
+ chrome.cookies.set(TEST_BASIC_COOKIE);
+ chrome.cookies.get(
+ {url: TEST_URL, name: TEST_BASIC_COOKIE.name},
+ pass(expectValidCookie));
+ // Removal with any domain-matching URL will trigger callback with the
+ // removed cookie's "url" and "name" fields.
+ chrome.cookies.remove(
+ {url: TEST_URL4, name: TEST_BASIC_COOKIE.name}, pass(function(data) {
+ chrome.test.assertEq(TEST_URL4, data.url);
+ chrome.test.assertEq(TEST_BASIC_COOKIE.name, data.name);
+ chrome.test.assertTrue(typeof(data.storeId) === "string");
jochen (gone - plz use gerrit) 2011/02/16 10:02:09 why not assertEq?
Mike West 2011/02/16 11:07:28 I assumed that the current execution context's sto
+ }));
+ // Removal with a disallowed URL should trigger the callback with "null"
+ chrome.cookies.set(TEST_DOMAIN_COOKIE);
+ chrome.cookies.remove(
+ {url: TEST_UNPERMITTED_URL, name: TEST_DOMAIN_COOKIE.name},
+ fail(
+ 'No host permissions for cookies at url: "'
+ + TEST_UNPERMITTED_URL + '".',
+ expectNullCookie));
+ },
function getAllCookies() {
removeTestCookies();
chrome.cookies.getAll({}, pass(function(cookies) {

Powered by Google App Engine
This is Rietveld 408576698