Bug 814222 - NetworkStats tests. r=philikon

This commit is contained in:
Alberto Crespell Perez 2013-01-07 15:26:42 -08:00
Родитель af053f1ad8
Коммит 57e7d5db0c
5 изменённых файлов: 108 добавлений и 10 удалений

Просмотреть файл

@ -24,6 +24,9 @@ MOCHITEST_FILES = \
ifdef MOZ_B2G_RIL
MOCHITEST_FILES = \
test_networkstats_basics.html \
test_networkstats_disabled.html \
test_networkstats_enabled_no_perm.html \
test_networkstats_enabled_perm.html \
$(NULL)
endif

Просмотреть файл

@ -12,20 +12,13 @@
<pre id="test">
<script type="application/javascript">
/** Test for NetworkStats **/
// Test for NetworkStats
function checkInterface(aInterface) {
ok(!(aInterface in window), aInterface + " should be prefixed");
ok(("Moz" + aInterface) in window, aInterface + " should be prefixed");
}
function test() {
var gNetworkStatsEnabled = SpecialPowers.getBoolPref("dom.mozNetworkStats.enabled");
if (!gNetworkStatsEnabled) {
is(navigator.mozNetworkStats, null, "mozNetworkStats is null when not enabled.");
SimpleTest.finish();
}
// Test interfaces
checkInterface("NetworkStatsManager");
checkInterface("NetworkStats");
@ -34,7 +27,6 @@ function test() {
ok('mozNetworkStats' in navigator, "navigator.mozMozNetworkStats should exist");
ok(navigator.mozNetworkStats, "navigator.mozNetworkStats returns an object");
SpecialPowers.addPermission("networkstats-manage", true, document);
netStats = navigator.mozNetworkStats;
// Test IDL attributes
@ -279,6 +271,7 @@ var steps = [
},
function () {
ok(true, "all done!\n");
SpecialPowers.removePermission("networkstats-manage", document);
SimpleTest.finish();
return;
}
@ -298,7 +291,9 @@ function next() {
}
SimpleTest.waitForExplicitFinish();
addLoadEvent(test);
SpecialPowers.addPermission("networkstats-manage", true, document);
SpecialPowers.pushPrefEnv({'set': [["dom.mozNetworkStats.enabled", true]]}, test);
</script>
</pre>

Просмотреть файл

@ -0,0 +1,31 @@
<!DOCTYPE HTML>
<html>
<head>
<title>Test to ensure NetworkStats is not accessible when it is disabled</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script type="application/javascript">
"use strict";
SimpleTest.waitForExplicitFinish();
// Test to ensure NetworkStats is not accessible when it is disabled
SpecialPowers.pushPrefEnv({'set': [["dom.mozNetworkStats.enabled", false]]}, function(){
ok('mozNetworkStats' in navigator, "navigator.mozNetworkStats should exist");
is(navigator.mozNetworkStats, null, "mozNetworkStats should be null when not enabled.");
SimpleTest.finish();
});
</script>
</pre>
</body>
</html>

Просмотреть файл

@ -0,0 +1,35 @@
<!DOCTYPE HTML>
<html>
<head>
<title>Test to ensure NetworkStats enabled and no networkstats-manage perm does not allow open</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script type="application/javascript">
// Test to ensure NetworkStats is enabled but mozNetworkStats.connectionTypes
// does not work in content.
SpecialPowers.setBoolPref("dom.mozNetworkStats.enabled", true);
SpecialPowers.removePermission("networkstats-manage", document);
ok('mozNetworkStats' in navigator, "navigator.mozNetworkStats should be accessible if dom.mozNetworkStats.enabled is true");
var error;
try {
navigator.mozNetworkStats.connectionTypes;
ok(false, "Accessing navigator.mozNetworkStats.connectionTypes should have thrown!");
} catch (ex) {
error = ex;
}
ok(error, "Got an exception accessing navigator.mozNetworkStats.connectionTypes");
</script>
</pre>
</body>
</html>

Просмотреть файл

@ -0,0 +1,34 @@
<!DOCTYPE HTML>
<html>
<head>
<title>Test to ensure NetworkStats is not accessible when it is disabled</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script type="application/javascript">
"use strict";
SimpleTest.waitForExplicitFinish();
// Test to ensure NetworkStats is not accessible when it is disabled
SpecialPowers.addPermission("networkstats-manage", true, document);
SpecialPowers.pushPrefEnv({'set': [["dom.mozNetworkStats.enabled", true]]}, function(){
ok('mozNetworkStats' in navigator, "navigator.mozNetworkStats should exist");
ok(navigator.mozNetworkStats instanceof SpecialPowers.Ci.nsIDOMMozNetworkStatsManager,
"navigator.mozNetworkStats should be a nsIDOMMozNetworkStatsManager object");
SpecialPowers.removePermission("networkstats-manage", document);
SimpleTest.finish();
});
</script>
</pre>
</body>
</html>