diff options
Diffstat (limited to '')
-rw-r--r-- | dom/tests/mochitest/general/test_donottrack.html | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/dom/tests/mochitest/general/test_donottrack.html b/dom/tests/mochitest/general/test_donottrack.html new file mode 100644 index 0000000000..84bd383a1d --- /dev/null +++ b/dom/tests/mochitest/general/test_donottrack.html @@ -0,0 +1,72 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=629535 +--> +<head> + <title>Test for Bug 629535</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=629535">Mozilla Bug 629535</a> + +<script type="application/javascript"> + +const dntPref = 'privacy.donottrackheader.enabled'; + +SimpleTest.waitForExplicitFinish(); + +var currentTestIdx = -1; +var tests = []; +function nextTest() { + currentTestIdx++; + if (currentTestIdx >= tests.length) { + SimpleTest.finish(); + return; + } + + tests[currentTestIdx](); +} + +tests.push(function testDefaultValues() { + // The default pref values depend on the OS it seems. + var isAndroid = !!navigator.userAgent.includes("Android"); + var isB2G = !isAndroid && /Mobile|Tablet/.test(navigator.userAgent); + + is(SpecialPowers.getBoolPref(dntPref), false, + 'DNT should be disabled by default'); + is(navigator.doNotTrack, 'unspecified', + 'navigator.doNotTrack should initially be "unspecified".'); + + nextTest(); +}); + +tests.push(function clearedEnabled() { + SpecialPowers.pushPrefEnv({"clear": [[dntPref]]}, function() { + is(navigator.doNotTrack, "unspecified", 'after clearing pref'); + nextTest(); + }); +}); + +tests.push(function setEnabled() { + SpecialPowers.pushPrefEnv({"set": [[dntPref, true]]}, function() { + is(navigator.doNotTrack, "1", 'after setting pref to true'); + nextTest(); + }); +}); + +tests.push(function setDisabled() { + SpecialPowers.pushPrefEnv({"set": [[dntPref, false]]}, function() { + is(navigator.doNotTrack, "unspecified", 'after setting pref to false'); + nextTest(); + }); +}); + +nextTest(); + +</script> + +</body> +</html> + |