Index: chrome/test/data/extensions/api_test/cookies/events/test.js |
=================================================================== |
--- chrome/test/data/extensions/api_test/cookies/events/test.js (revision 0) |
+++ chrome/test/data/extensions/api_test/cookies/events/test.js (revision 0) |
@@ -0,0 +1,148 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// These are the cookies we expect to see along the way. |
+var SET_REMOVE_COOKIE = { |
+ name: 'testSetRemove', |
+ value: '42', |
+ domain: 'a.com', |
+ hostOnly: true, |
+ path: '/', |
+ secure: false, |
+ httpOnly: false, |
+ session: false, |
+ expirationDate: 12345678900, |
+ storeId: "0" |
+}; |
+ |
+var OVERWRITE_COOKIE_PRE = { |
+ name: 'testOverwrite', |
+ value: '42', |
+ domain: 'a.com', |
+ hostOnly: true, |
+ path: '/', |
+ secure: false, |
+ httpOnly: false, |
+ session: false, |
+ expirationDate: 12345678900, |
+ storeId: "0" |
+}; |
+ |
+var OVERWRITE_COOKIE_POST = { |
+ name: 'testOverwrite', |
+ value: '43', |
+ domain: 'a.com', |
+ hostOnly: true, |
+ path: '/', |
+ secure: false, |
+ httpOnly: false, |
+ session: false, |
+ expirationDate: 12345678900, |
+ storeId: "0" |
+}; |
+ |
+chrome.test.runTests([ |
+ function testSet() { |
+ var testCompleted = chrome.test.callbackAdded(); |
+ var listener = function (info) { |
+ chrome.test.assertFalse(info.removed); |
+ chrome.test.assertEq('explicit', info.cause); |
+ chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie); |
+ testCompleted(); |
+ }; |
+ |
+ chrome.cookies.onChanged.addListener(listener); |
+ chrome.cookies.set({ |
+ url: 'http://a.com/path', |
+ name: 'testSetRemove', |
+ value: '42', |
+ expirationDate: 12345678900 |
+ }, function () { |
+ chrome.cookies.onChanged.removeListener(listener); |
+ }); |
+ }, |
+ function testRemove() { |
+ var testCompleted = chrome.test.callbackAdded(); |
+ var listener = function (info) { |
+ chrome.test.assertTrue(info.removed); |
+ chrome.test.assertEq('explicit', info.cause); |
+ chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie); |
+ testCompleted(); |
+ }; |
+ |
+ chrome.cookies.onChanged.addListener(listener); |
+ chrome.cookies.remove({ |
+ url: 'http://a.com/path', |
+ name: 'testSetRemove' |
+ }, function () { |
+ chrome.cookies.onChanged.removeListener(listener); |
+ }); |
+ }, |
+ function overwriteFirstSet() { |
+ var testCompleted = chrome.test.callbackAdded(); |
+ var listener = function (info) { |
+ chrome.test.assertFalse(info.removed); |
+ chrome.test.assertEq('explicit', info.cause); |
+ chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie); |
+ testCompleted(); |
+ }; |
+ |
+ chrome.cookies.onChanged.addListener(listener); |
+ chrome.cookies.set({ |
+ url: 'http://a.com/path', |
+ name: 'testOverwrite', |
+ value: '42', |
+ expirationDate: 12345678900 |
+ }, function () { |
+ chrome.cookies.onChanged.removeListener(listener); |
+ }); |
+ }, |
+ function overwriteSecondSet() { |
+ var removeCompleted = chrome.test.callbackAdded(); |
+ var setCompleted = chrome.test.callbackAdded(); |
+ var listenerRemove = function (info) { |
+ if (info.removed) { |
+ chrome.test.assertEq('overwrite', info.cause); |
+ chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie); |
+ removeCompleted(); |
+ } |
+ }; |
+ var listenerSet = function (info) { |
+ if (!info.removed) { |
+ chrome.test.assertEq('explicit', info.cause); |
+ chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie); |
+ setCompleted(); |
+ } |
+ }; |
+ chrome.cookies.onChanged.addListener(listenerRemove); |
+ chrome.cookies.onChanged.addListener(listenerSet); |
+ chrome.cookies.set({ |
+ url: 'http://a.com/path', |
+ name: 'testOverwrite', |
+ value: '43', |
+ expirationDate: 12345678900 |
+ }, function () { |
+ chrome.cookies.onChanged.removeListener(listenerRemove); |
+ chrome.cookies.onChanged.removeListener(listenerSet); |
+ }); |
+ }, |
+ function overwriteExpired() { |
+ var setCompleted = chrome.test.callbackAdded(); |
+ var listener = function (info) { |
+ chrome.test.assertTrue(info.removed); |
+ chrome.test.assertEq('expired_overwrite', info.cause); |
+ chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie); |
+ setCompleted(); |
+ }; |
+ chrome.cookies.onChanged.addListener(listener); |
+ chrome.cookies.set({ |
+ url: 'http://a.com/path', |
+ name: 'testOverwrite', |
+ value: '43', |
+ expirationDate: 1 |
+ }, function () { |
+ chrome.cookies.onChanged.removeListener(listener); |
+ }); |
+ } |
+]); |