Bug 1015100 - Polish the Alarm API Mochitest (part 3, polish tests to not run on invalid builds). r=Luqman

This commit is contained in:
Gene Lian 2014-05-23 18:41:45 +08:00
parent e68c29034a
commit 70bbf6c260
4 changed files with 95 additions and 36 deletions

View File

@ -199,22 +199,35 @@
}
function startTests() {
SpecialPowers.pushPrefEnv({
"set": [["dom.mozAlarms.enabled", true]]
}, function() {
var isAllowedToTest = true;
SpecialPowers.pushPrefEnv({"set": [["dom.mozAlarms.enabled", true]]}, function() {
// Currently applicable only on FxOS
if (navigator.userAgent.indexOf("Mobile") != -1 &&
navigator.appVersion.indexOf("Android") == -1) {
testEmptyObject();
} else {
ok(true, "mozAlarms on Firefox OS only.");
SimpleTest.finish();
if (navigator.appVersion.indexOf("Android") !== -1) {
ok(true, "mozAlarms is not allowed on Android for now. " +
"TODO Bug 863557.");
isAllowedToTest = false;
} else if (SpecialPowers.wrap(document).nodePrincipal.appStatus ==
SpecialPowers.Ci.nsIPrincipal.APP_STATUS_NOT_INSTALLED) {
ok(true, "mozAlarms is not allowed for non-installed apps. " +
"TODO Bug 876981.");
isAllowedToTest = false;
}
});
if (isAllowedToTest) {
ok(true, "Start to test...");
testEmptyObject();
} else {
// A sanity check to make sure we must run tests on Firefox OS (B2G).
if (navigator.userAgent.indexOf("Mobile") != -1 &&
navigator.appVersion.indexOf("Android") == -1) {
ok(false, "Should run the test on Firefox OS (B2G)!");
}
SimpleTest.finish();
}
});
}
SimpleTest.expectAssertions(0, 9);

View File

@ -99,15 +99,32 @@
}
function startTests() {
SpecialPowers.pushPrefEnv({
"set": [["dom.mozAlarms.enabled", true]]
}, function() {
var isAllowedToTest = true;
SpecialPowers.pushPrefEnv({"set": [["dom.mozAlarms.enabled", true]]}, function() {
// Currently applicable only on FxOS
if (navigator.userAgent.indexOf("Mobile") != -1 &&
navigator.appVersion.indexOf("Android") == -1)
{
if (navigator.appVersion.indexOf("Android") !== -1) {
ok(true, "mozAlarms is not allowed on Android for now. " +
"TODO Bug 863557.");
isAllowedToTest = false;
} else if (SpecialPowers.wrap(document).nodePrincipal.appStatus ==
SpecialPowers.Ci.nsIPrincipal.APP_STATUS_NOT_INSTALLED) {
ok(true, "mozAlarms is not allowed for non-installed apps. " +
"TODO Bug 876981.");
isAllowedToTest = false;
}
if (isAllowedToTest) {
ok(true, "Start to test...");
testFutureDate();
} else {
ok(true, "mozAlarms on Firefox OS only.");
// A sanity check to make sure we must run tests on Firefox OS (B2G).
if (navigator.userAgent.indexOf("Mobile") != -1 &&
navigator.appVersion.indexOf("Android") == -1) {
ok(false, "Should run the test on Firefox OS (B2G)!");
}
SimpleTest.finish();
}
});

View File

@ -117,12 +117,24 @@
}
function startTests() {
SpecialPowers.pushPrefEnv({
"set": [["dom.mozAlarms.enabled", true]]
}, function() {
var isAllowedToTest = true;
SpecialPowers.pushPrefEnv({"set": [["dom.mozAlarms.enabled", true]]}, function() {
if (navigator.appVersion.indexOf("Android") !== -1) {
ok(true, "mozAlarms is not allowed on Android for now. " +
"TODO Bug 863557.");
isAllowedToTest = false;
} else if (SpecialPowers.wrap(document).nodePrincipal.appStatus ==
SpecialPowers.Ci.nsIPrincipal.APP_STATUS_NOT_INSTALLED) {
ok(true, "mozAlarms is not allowed for non-installed apps. " +
"TODO Bug 876981.");
isAllowedToTest = false;
}
// Currently applicable only on FxOS
if (navigator.userAgent.indexOf("Mobile") != -1 &&
navigator.appVersion.indexOf("Android") == -1) {
if (isAllowedToTest) {
ok(true, "Start to test...");
// Arbitrary date to use for tests
var tomorrow = new Date();
@ -130,12 +142,15 @@
// Kick off the tests
testHonorTimezone(tomorrow);
} else {
ok(true, "mozAlarms on Firefox OS only.");
// A sanity check to make sure we must run tests on Firefox OS (B2G).
if (navigator.userAgent.indexOf("Mobile") != -1 &&
navigator.appVersion.indexOf("Android") == -1) {
ok(false, "Should run the test on Firefox OS (B2G)!");
}
SimpleTest.finish();
}
});
}

View File

@ -72,20 +72,34 @@
}
function startTests() {
SpecialPowers.pushPrefEnv({
"set": [["dom.mozAlarms.enabled", true]]
}, function() {
var isAllowedToTest = true;
SpecialPowers.pushPrefEnv({"set": [["dom.mozAlarms.enabled", true]]}, function() {
// Currently applicable only on FxOS
if (navigator.userAgent.indexOf("Mobile") != -1 &&
navigator.appVersion.indexOf("Android") == -1) {
testAddRemove();
} else {
ok(true, "mozAlarms on Firefox OS only.");
SimpleTest.finish();
if (navigator.appVersion.indexOf("Android") !== -1) {
ok(true, "mozAlarms is not allowed on Android for now. " +
"TODO Bug 863557.");
isAllowedToTest = false;
} else if (SpecialPowers.wrap(document).nodePrincipal.appStatus ==
SpecialPowers.Ci.nsIPrincipal.APP_STATUS_NOT_INSTALLED) {
ok(true, "mozAlarms is not allowed for non-installed apps. " +
"TODO Bug 876981.");
isAllowedToTest = false;
}
if (isAllowedToTest) {
ok(true, "Start to test...");
testAddRemove();
} else {
// A sanity check to make sure we must run tests on Firefox OS (B2G).
if (navigator.userAgent.indexOf("Mobile") != -1 &&
navigator.appVersion.indexOf("Android") == -1) {
ok(false, "Should run the test on Firefox OS (B2G)!");
}
SimpleTest.finish();
}
});
}