2019-09-09 16:58:20 +03:00
|
|
|
const { ForgetAboutSite } = ChromeUtils.import(
|
2019-05-09 01:37:02 +03:00
|
|
|
"resource://gre/modules/ForgetAboutSite.jsm"
|
|
|
|
);
|
2019-09-09 16:58:20 +03:00
|
|
|
const { SiteDataTestUtils } = ChromeUtils.import(
|
|
|
|
"resource://testing-common/SiteDataTestUtils.jsm"
|
|
|
|
);
|
2019-05-09 01:37:02 +03:00
|
|
|
|
|
|
|
function checkCookie(host, originAttributes) {
|
|
|
|
for (let cookie of Services.cookies.enumerator) {
|
|
|
|
if (
|
|
|
|
ChromeUtils.isOriginAttributesEqual(
|
|
|
|
originAttributes,
|
|
|
|
cookie.originAttributes
|
|
|
|
) &&
|
|
|
|
cookie.host.includes(host)
|
|
|
|
) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2019-09-09 16:58:20 +03:00
|
|
|
add_task(async function test_singleDomain() {
|
2019-05-09 01:37:02 +03:00
|
|
|
info("Test single cookie domain");
|
|
|
|
|
|
|
|
// Let's clean up all the data.
|
2019-09-09 16:58:20 +03:00
|
|
|
await SiteDataTestUtils.clear();
|
|
|
|
|
|
|
|
SiteDataTestUtils.addToCookies("https://example.com");
|
2019-05-09 01:37:02 +03:00
|
|
|
|
|
|
|
// Cleaning up.
|
|
|
|
await ForgetAboutSite.removeDataFromDomain("example.com");
|
|
|
|
|
|
|
|
// All good.
|
|
|
|
ok(!checkCookie("example.com", {}), "No cookies");
|
|
|
|
|
|
|
|
// Clean up.
|
2019-09-09 16:58:20 +03:00
|
|
|
await SiteDataTestUtils.clear();
|
|
|
|
});
|
|
|
|
|
|
|
|
add_task(async function test_subDomain() {
|
|
|
|
info("Test cookies for sub domains");
|
|
|
|
|
|
|
|
// Let's clean up all the data.
|
|
|
|
await SiteDataTestUtils.clear();
|
|
|
|
|
|
|
|
SiteDataTestUtils.addToCookies("https://example.com");
|
|
|
|
SiteDataTestUtils.addToCookies("https://sub.example.com");
|
|
|
|
SiteDataTestUtils.addToCookies("https://sub2.example.com");
|
|
|
|
SiteDataTestUtils.addToCookies("https://sub2.example.com");
|
|
|
|
|
|
|
|
SiteDataTestUtils.addToCookies("https://example.org");
|
|
|
|
|
|
|
|
// Cleaning up.
|
|
|
|
await ForgetAboutSite.removeDataFromDomain("sub.example.com");
|
|
|
|
|
|
|
|
// All good.
|
|
|
|
ok(!checkCookie("example.com", {}), "No cookies for example.com");
|
|
|
|
ok(checkCookie("example.org", {}), "Has cookies for example.org");
|
|
|
|
|
|
|
|
// Clean up.
|
|
|
|
await SiteDataTestUtils.clear();
|
2019-05-09 01:37:02 +03:00
|
|
|
});
|