| OLD | NEW |
| 1 <script> | 1 <script> |
| 2 var TEST_DOMAIN = 'cookies.com'; | 2 var TEST_DOMAIN = 'cookies.com'; |
| 3 var TEST_PATH = '/auth'; | 3 var TEST_PATH = '/auth'; |
| 4 var TEST_HOST = 'www.chrome_extensions.' + TEST_DOMAIN; | 4 var TEST_HOST = 'www.chrome_extensions.' + TEST_DOMAIN; |
| 5 var TEST_URL = 'http://' + TEST_HOST + '/foobar.html?arg=toolbar¶m=true'; | 5 var TEST_URL = 'http://' + TEST_HOST + '/foobar.html?arg=toolbar¶m=true'; |
| 6 var TEST_URL2 = 'http://chromium.' + TEST_DOMAIN + '/index.html'; | 6 var TEST_URL2 = 'http://chromium.' + TEST_DOMAIN + '/index.html'; |
| 7 var TEST_URL3 = 'https://' + TEST_HOST + '/content.html'; | 7 var TEST_URL3 = 'https://' + TEST_HOST + '/content.html'; |
| 8 var TEST_URL4 = 'https://' + TEST_HOST + TEST_PATH + '/content.html'; | 8 var TEST_URL4 = 'https://' + TEST_HOST + TEST_PATH + '/content.html'; |
| 9 var TEST_URL5 = 'http://' + TEST_HOST + TEST_PATH + '/content.html'; | 9 var TEST_URL5 = 'http://' + TEST_HOST + TEST_PATH + '/content.html'; |
| 10 var TEST_EXPIRATION_DATE = 12345678900; | 10 var TEST_EXPIRATION_DATE = 12345678900; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 } | 55 } |
| 56 | 56 |
| 57 function expectValidCookie(cookie) { | 57 function expectValidCookie(cookie) { |
| 58 chrome.test.assertTrue(cookie != null, 'Expected cookie not set.'); | 58 chrome.test.assertTrue(cookie != null, 'Expected cookie not set.'); |
| 59 } | 59 } |
| 60 | 60 |
| 61 function expectNullCookie(cookie) { | 61 function expectNullCookie(cookie) { |
| 62 chrome.test.assertEq(null, cookie); | 62 chrome.test.assertEq(null, cookie); |
| 63 } | 63 } |
| 64 | 64 |
| 65 function expectUndefinedCookie(cookie) { |
| 66 chrome.test.assertEq(undefined, cookie); |
| 67 } |
| 68 |
| 65 function removeTestCookies() { | 69 function removeTestCookies() { |
| 66 chrome.cookies.remove( | 70 chrome.cookies.remove( |
| 67 {url: TEST_URL, name: TEST_BASIC_COOKIE.name}); | 71 {url: TEST_URL, name: TEST_BASIC_COOKIE.name}); |
| 68 chrome.cookies.remove( | 72 chrome.cookies.remove( |
| 69 {url: TEST_URL, name: TEST_DOMAIN_COOKIE.name}); | 73 {url: TEST_URL, name: TEST_DOMAIN_COOKIE.name}); |
| 70 chrome.cookies.remove( | 74 chrome.cookies.remove( |
| 71 {url: TEST_URL4, name: TEST_SECURE_COOKIE.name}); | 75 {url: TEST_URL4, name: TEST_SECURE_COOKIE.name}); |
| 72 chrome.cookies.remove({url: TEST_URL, name: 'abcd'}); | 76 chrome.cookies.remove({url: TEST_URL, name: 'abcd'}); |
| 73 chrome.cookies.remove({url: TEST_ODD_URL, name: 'abcd'}); | 77 chrome.cookies.remove({url: TEST_ODD_URL, name: 'abcd'}); |
| 74 } | 78 } |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 domain: TEST_ODD_DOMAIN, | 204 domain: TEST_ODD_DOMAIN, |
| 201 path: TEST_ODD_PATH | 205 path: TEST_ODD_PATH |
| 202 }); | 206 }); |
| 203 chrome.cookies.get({url: TEST_ODD_URL, name: 'abcd'}, | 207 chrome.cookies.get({url: TEST_ODD_URL, name: 'abcd'}, |
| 204 pass(function(cookie) { | 208 pass(function(cookie) { |
| 205 expectValidCookie(cookie); | 209 expectValidCookie(cookie); |
| 206 chrome.test.assertEq(TEST_ODD_DOMAIN, unescape(cookie.domain)); | 210 chrome.test.assertEq(TEST_ODD_DOMAIN, unescape(cookie.domain)); |
| 207 chrome.test.assertEq(TEST_ODD_PATH, unescape(cookie.path)); | 211 chrome.test.assertEq(TEST_ODD_PATH, unescape(cookie.path)); |
| 208 })); | 212 })); |
| 209 }, | 213 }, |
| 214 function setCookiesWithCallbacks() { |
| 215 removeTestCookies(); |
| 216 // Basics. |
| 217 chrome.cookies.set( |
| 218 TEST_BASIC_COOKIE, |
| 219 pass(function(cookie) { |
| 220 expectValidCookie(cookie); |
| 221 chrome.test.assertEq(TEST_BASIC_COOKIE.name, cookie.name); |
| 222 chrome.test.assertEq(TEST_BASIC_COOKIE.value, cookie.value); |
| 223 chrome.test.assertEq(TEST_HOST, cookie.domain); |
| 224 chrome.test.assertEq(true, cookie.hostOnly); |
| 225 chrome.test.assertEq('/', cookie.path); |
| 226 chrome.test.assertEq(false, cookie.secure); |
| 227 chrome.test.assertEq(false, cookie.httpOnly); |
| 228 chrome.test.assertEq(true, cookie.session); |
| 229 chrome.test.assertTrue(typeof cookie.expirationDate === 'undefined', |
| 230 'Session cookie should not have expirationDate property.'); |
| 231 chrome.test.assertTrue(typeof cookie.storeId !== 'undefined', |
| 232 'Cookie store ID not provided.'); |
| 233 })); |
| 234 // Invalid values generate callback with no arguments, and error messages |
| 235 chrome.cookies.set( |
| 236 {url: TEST_UNPERMITTED_URL, name: 'abcd', domain: TEST_DOMAIN}, |
| 237 fail( |
| 238 'No host permissions for cookies at url: "' |
| 239 + TEST_UNPERMITTED_URL + '".', |
| 240 expectUndefinedCookie)); |
| 241 chrome.cookies.set( |
| 242 {url: TEST_URL, name: 'abcd=efg'}, |
| 243 fail('Failed to parse or set cookie named "abcd=efg".', |
| 244 expectUndefinedCookie)); |
| 245 chrome.cookies.set( |
| 246 {url: TEST_URL, name: 'abcd', value: 'HI;LO'}, |
| 247 fail('Failed to parse or set cookie named "abcd".', |
| 248 expectUndefinedCookie)); |
| 249 chrome.cookies.set( |
| 250 {url: TEST_URL, name: 'abcd', domain: 'cookies.com\r'}, |
| 251 fail('Failed to parse or set cookie named "abcd".', |
| 252 expectUndefinedCookie)); |
| 253 chrome.cookies.set( |
| 254 {url: TEST_URL, name: 'abcd', domain: 'somedomain.com'}, |
| 255 fail('Failed to parse or set cookie named "abcd".', |
| 256 expectUndefinedCookie)); |
| 257 // Expired cookies generate callback with "null" cookie |
| 258 chrome.cookies.set(TEST_BASIC_EXPIRED_COOKIE, pass(expectUndefinedCookie)); |
| 259 // Odd (but valid!) URLs get callbacks too! |
| 260 chrome.cookies.set({ |
| 261 url: TEST_ODD_URL, |
| 262 name: 'abcd', |
| 263 domain: TEST_ODD_DOMAIN, |
| 264 path: TEST_ODD_PATH |
| 265 }, pass(function(cookie) { |
| 266 expectValidCookie(cookie); |
| 267 chrome.test.assertEq(TEST_ODD_DOMAIN, unescape(cookie.domain)); |
| 268 chrome.test.assertEq(TEST_ODD_PATH, unescape(cookie.path)); |
| 269 })); |
| 270 }, |
| 210 function removeCookie() { | 271 function removeCookie() { |
| 211 removeTestCookies(); | 272 removeTestCookies(); |
| 212 chrome.cookies.set(TEST_BASIC_COOKIE); | 273 chrome.cookies.set(TEST_BASIC_COOKIE); |
| 213 chrome.cookies.get( | 274 chrome.cookies.get( |
| 214 {url: TEST_URL, name: TEST_BASIC_COOKIE.name}, | 275 {url: TEST_URL, name: TEST_BASIC_COOKIE.name}, |
| 215 pass(expectValidCookie)); | 276 pass(expectValidCookie)); |
| 216 // Removal with any domain-matching URL will do. | 277 // Removal with any domain-matching URL will do. |
| 217 chrome.cookies.remove( | 278 chrome.cookies.remove( |
| 218 {url: TEST_URL4, name: TEST_BASIC_COOKIE.name}); | 279 {url: TEST_URL4, name: TEST_BASIC_COOKIE.name}); |
| 219 chrome.cookies.get( | 280 chrome.cookies.get( |
| (...skipping 12 matching lines...) Expand all Loading... |
| 232 chrome.cookies.set(TEST_DOMAIN_COOKIE); | 293 chrome.cookies.set(TEST_DOMAIN_COOKIE); |
| 233 chrome.cookies.get( | 294 chrome.cookies.get( |
| 234 {url: TEST_URL2, name: TEST_DOMAIN_COOKIE.name}, | 295 {url: TEST_URL2, name: TEST_DOMAIN_COOKIE.name}, |
| 235 pass(expectValidCookie)); | 296 pass(expectValidCookie)); |
| 236 chrome.cookies.remove( | 297 chrome.cookies.remove( |
| 237 {url: TEST_UNPERMITTED_URL, name: TEST_DOMAIN_COOKIE.name}); | 298 {url: TEST_UNPERMITTED_URL, name: TEST_DOMAIN_COOKIE.name}); |
| 238 chrome.cookies.get( | 299 chrome.cookies.get( |
| 239 {url: TEST_URL2, name: TEST_DOMAIN_COOKIE.name}, | 300 {url: TEST_URL2, name: TEST_DOMAIN_COOKIE.name}, |
| 240 pass(expectValidCookie)); | 301 pass(expectValidCookie)); |
| 241 }, | 302 }, |
| 303 function removeCookiesWithCallbacks() { |
| 304 removeTestCookies(); |
| 305 chrome.cookies.set(TEST_BASIC_COOKIE); |
| 306 chrome.cookies.get( |
| 307 {url: TEST_URL, name: TEST_BASIC_COOKIE.name}, |
| 308 pass(expectValidCookie)); |
| 309 // Removal with any domain-matching URL will trigger callback with the |
| 310 // removed cookie's "url" and "name" fields. |
| 311 chrome.cookies.remove( |
| 312 {url: TEST_URL4, name: TEST_BASIC_COOKIE.name}, pass(function(data) { |
| 313 chrome.test.assertEq(TEST_URL4, data.url); |
| 314 chrome.test.assertEq(TEST_BASIC_COOKIE.name, data.name); |
| 315 chrome.test.assertTrue(typeof data.storeId !== 'undefined', |
| 316 'Cookie store ID not provided.'); |
| 317 })); |
| 318 // Removal with a disallowed URL should trigger the callback with no |
| 319 // arguments, and a set error message. |
| 320 chrome.cookies.set(TEST_DOMAIN_COOKIE); |
| 321 chrome.cookies.remove( |
| 322 {url: TEST_UNPERMITTED_URL, name: TEST_DOMAIN_COOKIE.name}, |
| 323 fail( |
| 324 'No host permissions for cookies at url: "' |
| 325 + TEST_UNPERMITTED_URL + '".', |
| 326 expectUndefinedCookie)); |
| 327 }, |
| 242 function getAllCookies() { | 328 function getAllCookies() { |
| 243 removeTestCookies(); | 329 removeTestCookies(); |
| 244 chrome.cookies.getAll({}, pass(function(cookies) { | 330 chrome.cookies.getAll({}, pass(function(cookies) { |
| 245 chrome.test.assertEq(0, cookies.length); | 331 chrome.test.assertEq(0, cookies.length); |
| 246 })); | 332 })); |
| 247 chrome.cookies.set(TEST_BASIC_COOKIE); | 333 chrome.cookies.set(TEST_BASIC_COOKIE); |
| 248 chrome.cookies.set(TEST_SECURE_COOKIE); | 334 chrome.cookies.set(TEST_SECURE_COOKIE); |
| 249 chrome.cookies.getAll( | 335 chrome.cookies.getAll( |
| 250 {domain: TEST_DOMAIN}, pass(function(cookies) { | 336 {domain: TEST_DOMAIN}, pass(function(cookies) { |
| 251 chrome.test.assertEq(2, cookies.length); | 337 chrome.test.assertEq(2, cookies.length); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 chrome.cookies.getAll( | 374 chrome.cookies.getAll( |
| 289 {storeId: cookieStores[0].id}, | 375 {storeId: cookieStores[0].id}, |
| 290 pass(function(cookies) { | 376 pass(function(cookies) { |
| 291 chrome.test.assertEq(1, cookies.length); | 377 chrome.test.assertEq(1, cookies.length); |
| 292 chrome.test.assertEq(TEST_BASIC_COOKIE.name, cookies[0].name); | 378 chrome.test.assertEq(TEST_BASIC_COOKIE.name, cookies[0].name); |
| 293 })); | 379 })); |
| 294 })); | 380 })); |
| 295 } | 381 } |
| 296 ]); | 382 ]); |
| 297 </script> | 383 </script> |
| OLD | NEW |