function run() {
SpecialPowers.pushPrefEnv({"set": [["intl.accept_languages", "en"]]}, runInternal);
}
function runInternal() { var svg = document.getElementById("svg"),
a = document.getElementById("a"),
b = document.getElementById("b"),
circle = document.getElementById("circle");
// Check initial state
svg.setCurrentTime(50);
is(a.getStartTime(), 0, "a has resolved start time at start");
is(circle.cy.animVal.value, 100, "a is in effect at start");
is(b.getStartTime(), 100, "b has resolved start time at start");
// Add a failing conditional processing test
a.setAttribute("systemLanguage", "no-such-language");
ok(hasUnresolvedStartTime(a), "a has unresolved start time with failing conditional processing test");
is(circle.cy.animVal.value, 0, "a is not in effect with failing conditional processing test");
ok(hasUnresolvedStartTime(b), "b has unresolved start time with failing conditional processing test on a");
// Remove failing conditional processing test
a.removeAttribute("systemLanguage");
is(a.getStartTime(), 0, "a has resolved start time after removing test");
is(circle.cy.animVal.value, 100, "a is in effect after removing test");
is(b.getStartTime(), 100, "b has resolved start time after removing test on a");
// Add another failing conditional processing test
// According to the spec, if a null string or empty string value is set for
// the 'systemLanguage' attribute, the attribute returns "false".
a.setAttribute("systemLanguage", "");
// Fast forward until |a| would have finished var endEventsReceived = 0;
a.addEventListener("endEvent", function() { endEventsReceived++; });
svg.setCurrentTime(150);
is(endEventsReceived, 0, "a does not dispatch end events with failing condition processing test");
is(circle.cx.animVal.value, 0, "b is not in effect with failing conditional processing test on a");
// Make test pass
a.setAttribute("systemLanguage", "en");
is(circle.cx.animVal.value, 100, "b is in effect with passing conditional processing test on a");
SimpleTest.finish();
}
function hasUnresolvedStartTime(anim) {
// getStartTime throws INVALID_STATE_ERR when there is no current interval
try {
anim.getStartTime();
return false;
} catch (e) {
return true;
}
}
window.addEventListener("load", run);
</script>
</pre>
</body>
</html>
Messung V0.5
¤ Dauer der Verarbeitung: 0.25 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.