blob: 8993f31ef9c4fef0e69c13dd5e7da23ef3e8ae0a [file] [log] [blame]
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<style>
@font-face {
font-family: TestFont;
src: local('Courier New');
}
@font-face {
font-family: TestFont;
src: url(../../resources/Ahem.ttf);
unicode-range: u+61-7a; /* 'a'-'z' */
}
</style>
<script>
description('Test load events for a font family consists of multiple @font-faces.');
window.jsTestIsAsync = true;
var events = {};
function countEvent(e) {
if (!events[e.type])
events[e.type] = 0;
events[e.type] += 1;
}
function runTests() {
document.fontloader.addEventListener('loading', countEvent);
document.fontloader.addEventListener('loadstart', countEvent);
document.fontloader.addEventListener('load', countEvent);
document.fontloader.addEventListener('error', countEvent);
document.fontloader.addEventListener('loadingdone', countEvent);
document.fontloader.loadFont({ font: '10px TestFont', onsuccess: onsuccess, onerror: onerror });
document.fontloader.notifyWhenFontsReady(verify);
}
function onsuccess() {
shouldBe("events['loading']", "1");
shouldBe("events['loadstart']", "2");
shouldBe("events['load']", "2");
shouldBe("events['error']", "undefined");
shouldBe("events['loadingdone']", "undefined");
shouldBe("document.fontloader.checkFont('10px TestFont')", "true");
}
function onerror() {
testFailed("Expected success, but onerror() called");
onsuccess();
}
function verify() {
shouldBe("events['loadingdone']", "1");
finishJSTest();
}
if (document.fontloader)
runTests();
else {
testFailed('document.fontloader does not exist');
finishJSTest();
}
</script>
</head>
<body>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>