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

Side by Side Diff: chrome/test/data/extensions/api_test/cookies/events/test.js

Issue 25677004: Correct and simplify the cookie events browser test (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Created 7 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // These are the cookies we expect to see along the way. 5 // These are the cookies we expect to see along the way.
6 var SET_REMOVE_COOKIE = { 6 var SET_REMOVE_COOKIE = {
7 name: 'testSetRemove', 7 name: 'testSetRemove',
8 value: '42', 8 value: '42',
9 domain: 'a.com', 9 domain: 'a.com',
10 hostOnly: true, 10 hostOnly: true,
(...skipping 26 matching lines...) Expand all
37 path: '/', 37 path: '/',
38 secure: false, 38 secure: false,
39 httpOnly: false, 39 httpOnly: false,
40 session: false, 40 session: false,
41 expirationDate: 12345678900, 41 expirationDate: 12345678900,
42 storeId: "0" 42 storeId: "0"
43 }; 43 };
44 44
45 chrome.test.runTests([ 45 chrome.test.runTests([
46 function testSet() { 46 function testSet() {
47 var testCompleted = chrome.test.callbackAdded(); 47 chrome.test.listenOnce(chrome.cookies.onChanged, function (info) {
48 var listener = function (info) {
49 chrome.test.assertFalse(info.removed); 48 chrome.test.assertFalse(info.removed);
50 chrome.test.assertEq('explicit', info.cause); 49 chrome.test.assertEq('explicit', info.cause);
51 chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie); 50 chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie);
52 testCompleted(); 51 });
53 };
54
55 chrome.cookies.onChanged.addListener(listener);
56 chrome.cookies.set({ 52 chrome.cookies.set({
57 url: 'http://a.com/path', 53 url: 'http://a.com/path',
58 name: 'testSetRemove', 54 name: 'testSetRemove',
59 value: '42', 55 value: '42',
60 expirationDate: 12345678900 56 expirationDate: 12345678900
61 }, function () {
62 chrome.cookies.onChanged.removeListener(listener);
63 }); 57 });
64 }, 58 },
65 function testRemove() { 59 function testRemove() {
66 var testCompleted = chrome.test.callbackAdded(); 60 chrome.test.listenOnce(chrome.cookies.onChanged, function (info) {
67 var listener = function (info) {
68 chrome.test.assertTrue(info.removed); 61 chrome.test.assertTrue(info.removed);
69 chrome.test.assertEq('explicit', info.cause); 62 chrome.test.assertEq('explicit', info.cause);
70 chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie); 63 chrome.test.assertEq(SET_REMOVE_COOKIE, info.cookie);
71 testCompleted(); 64 });
72 };
73
74 chrome.cookies.onChanged.addListener(listener);
75 chrome.cookies.remove({ 65 chrome.cookies.remove({
76 url: 'http://a.com/path', 66 url: 'http://a.com/path',
77 name: 'testSetRemove' 67 name: 'testSetRemove'
78 }, function () {
79 chrome.cookies.onChanged.removeListener(listener);
80 }); 68 });
81 }, 69 },
82 function overwriteFirstSet() { 70 function overwriteFirstSet() {
83 var testCompleted = chrome.test.callbackAdded(); 71 chrome.test.listenOnce(chrome.cookies.onChanged, function (info) {
84 var listener = function (info) {
85 chrome.test.assertFalse(info.removed); 72 chrome.test.assertFalse(info.removed);
86 chrome.test.assertEq('explicit', info.cause); 73 chrome.test.assertEq('explicit', info.cause);
87 chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie); 74 chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie);
88 testCompleted(); 75 });
89 };
90
91 chrome.cookies.onChanged.addListener(listener);
92 chrome.cookies.set({ 76 chrome.cookies.set({
93 url: 'http://a.com/path', 77 url: 'http://a.com/path',
94 name: 'testOverwrite', 78 name: 'testOverwrite',
95 value: '42', 79 value: '42',
96 expirationDate: 12345678900 80 expirationDate: 12345678900
97 }, function () {
98 chrome.cookies.onChanged.removeListener(listener);
99 }); 81 });
100 }, 82 },
101 function overwriteSecondSet() { 83 function overwriteSecondSet() {
102 var removeCompleted = chrome.test.callbackAdded(); 84 var haveRemoved = false;
103 var setCompleted = chrome.test.callbackAdded(); 85 var haveSet = false;
104 var listenerRemove = function (info) { 86 var done = chrome.test.listenForever(chrome.cookies.onChanged,
105 if (info.removed) { 87 function(info) {
106 chrome.test.assertEq('overwrite', info.cause); 88 if (info.removed) {
107 chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie); 89 chrome.test.assertEq('overwrite', info.cause);
108 removeCompleted(); 90 chrome.test.assertEq(OVERWRITE_COOKIE_PRE, info.cookie);
109 } 91 chrome.test.assertFalse(haveRemoved);
110 }; 92 chrome.test.assertFalse(haveSet);
111 var listenerSet = function (info) { 93 haveRemoved = true;
112 if (!info.removed) { 94 } else {
113 chrome.test.assertEq('explicit', info.cause); 95 chrome.test.assertEq('explicit', info.cause);
114 chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie); 96 chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie);
115 setCompleted(); 97 chrome.test.assertTrue(haveRemoved);
116 } 98 chrome.test.assertFalse(haveSet);
117 }; 99 haveSet = true;
118 chrome.cookies.onChanged.addListener(listenerRemove); 100 }
119 chrome.cookies.onChanged.addListener(listenerSet); 101 if (haveRemoved && haveSet) {
102 done();
103 }
104 });
120 chrome.cookies.set({ 105 chrome.cookies.set({
121 url: 'http://a.com/path', 106 url: 'http://a.com/path',
122 name: 'testOverwrite', 107 name: 'testOverwrite',
123 value: '43', 108 value: '43',
124 expirationDate: 12345678900 109 expirationDate: 12345678900
125 }, function () {
126 chrome.cookies.onChanged.removeListener(listenerRemove);
127 chrome.cookies.onChanged.removeListener(listenerSet);
128 }); 110 });
129 }, 111 },
130 function overwriteExpired() { 112 function overwriteExpired() {
131 var setCompleted = chrome.test.callbackAdded(); 113 chrome.test.listenOnce(chrome.cookies.onChanged, function (info) {
132 var listener = function (info) {
133 chrome.test.assertTrue(info.removed); 114 chrome.test.assertTrue(info.removed);
134 chrome.test.assertEq('expired_overwrite', info.cause); 115 chrome.test.assertEq('expired_overwrite', info.cause);
135 chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie); 116 chrome.test.assertEq(OVERWRITE_COOKIE_POST, info.cookie);
136 setCompleted(); 117 });
137 };
138 chrome.cookies.onChanged.addListener(listener);
139 chrome.cookies.set({ 118 chrome.cookies.set({
140 url: 'http://a.com/path', 119 url: 'http://a.com/path',
141 name: 'testOverwrite', 120 name: 'testOverwrite',
142 value: '43', 121 value: '43',
143 expirationDate: 1 122 expirationDate: 1
144 }, function () {
145 chrome.cookies.onChanged.removeListener(listener);
146 }); 123 });
147 } 124 }
148 ]); 125 ]);
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698