/extensions/cookie/test/unit/test_bug468700.js

http://github.com/zpao/v8monkey · JavaScript · 52 lines · 31 code · 9 blank · 12 comment · 1 complexity · 3970670f99528ed4c67267bf2944ca95 MD5 · raw file

  1. /* Any copyright is dedicated to the Public Domain.
  2. http://creativecommons.org/publicdomain/zero/1.0/ */
  3. function run_test() {
  4. do_load_manifest("cookieprompt.manifest");
  5. var cs = Cc["@mozilla.org/cookieService;1"].getService(Ci.nsICookieService);
  6. var cm = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager2);
  7. var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
  8. var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
  9. var pb = null;
  10. try {
  11. pb = Cc["@mozilla.org/privatebrowsing;1"].getService(Ci.nsIPrivateBrowsingService);
  12. } catch (e) {}
  13. var spec = "http://foo.bar/baz";
  14. var uri = ios.newURI(spec, null, null);
  15. // accept all cookies
  16. prefs.setIntPref("network.cookie.lifetimePolicy", 0);
  17. // add a test cookie
  18. cs.setCookieString(uri, null, "foo=bar", null);
  19. do_check_eq(cs.countCookiesFromHost("foo.bar"), 1);
  20. // ask all cookies (will result in rejection because the prompt is not available)
  21. prefs.setIntPref("network.cookie.lifetimePolicy", 1);
  22. // add a test cookie
  23. cs.setCookieString(uri, null, "bar=baz", null);
  24. do_check_eq(cs.countCookiesFromHost("foo.bar"), 1);
  25. cs.removeAll();
  26. // if private browsing is available
  27. if (pb) {
  28. prefs.setBoolPref("browser.privatebrowsing.keep_current_session", true);
  29. // enter private browsing mode
  30. pb.privateBrowsingEnabled = true;
  31. // accept all cookies
  32. prefs.setIntPref("network.cookie.lifetimePolicy", 0);
  33. // add a test cookie
  34. cs.setCookieString(uri, null, "foobar=bar", null);
  35. do_check_eq(cs.countCookiesFromHost("foo.bar"), 1);
  36. // ask all cookies (will result in rejection because the prompt is not available)
  37. prefs.setIntPref("network.cookie.lifetimePolicy", 1);
  38. // add a test cookie
  39. cs.setCookieString(uri, null, "foobaz=bar", null);
  40. do_check_eq(cs.countCookiesFromHost("foo.bar"), 2);
  41. prefs.clearUserPref("browser.privatebrowsing.keep_current_session");
  42. }
  43. }