blob: 20e97ea13186da4e04c5baf15e49e0450cc07bef [file] [log] [blame]
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +00001<html>
2<head>
mark.lam@apple.com104d9932013-09-07 22:20:15 +00003<script src="../../resources/js-test-pre.js"></script>
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +00004<style>
5@font-face {
6 font-family: TestFont1;
7 src: local('Courier New');
8}
9
10@font-face {
11 font-family: TestFont2;
12 src: url(../../resources/Ahem.ttf);
13 unicode-range: u+61-7a; /* 'a'-'z' */
14}
15</style>
16<script>
17description('Test load events for fontloader.loadFont() with multiple font families.');
18
19window.jsTestIsAsync = true;
20
21var events = {};
22
23function countEvent(e) {
24 if (!events[e.type])
25 events[e.type] = 0;
26 events[e.type] += 1;
27}
28
29function runTests() {
betravis@adobe.com044d3f92014-07-31 21:38:27 +000030 document.fonts.addEventListener('loading', countEvent);
31 document.fonts.addEventListener('loadstart', countEvent);
32 document.fonts.addEventListener('load', countEvent);
33 document.fonts.addEventListener('error', countEvent);
34 document.fonts.addEventListener('loadingdone', countEvent);
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +000035
betravis@adobe.com044d3f92014-07-31 21:38:27 +000036 document.fonts.loadFont({ font: '10px TestFont1, TestFont2', onsuccess: onsuccess, onerror: onerror });
37 document.fonts.notifyWhenFontsReady(verify);
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +000038}
39
40function onsuccess() {
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +000041}
42
43function onerror() {
44 testFailed("Expected success, but onerror() called");
45}
46
47function verify() {
commit-queue@webkit.org9107e1d2014-11-21 18:43:21 +000048 shouldBe("events['loading']", "1");
49 shouldBe("events['loadstart']", "2");
50 shouldBe("events['load']", "2");
51 shouldBe("events['error']", "undefined");
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +000052 shouldBe("events['loadingdone']", "1");
commit-queue@webkit.org9107e1d2014-11-21 18:43:21 +000053 shouldBe("document.fonts.checkFont('10px TestFont1, TestFont2')", "true");
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +000054 finishJSTest();
55}
56
betravis@adobe.com044d3f92014-07-31 21:38:27 +000057if (document.fonts)
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +000058 runTests();
59else {
betravis@adobe.com044d3f92014-07-31 21:38:27 +000060 testFailed('document.fonts does not exist');
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +000061 finishJSTest();
62}
63</script>
64</head>
65<body>
mark.lam@apple.com104d9932013-09-07 22:20:15 +000066 <script src="../../resources/js-test-post.js"></script>
commit-queue@webkit.orgd7e6fa22013-03-14 05:59:58 +000067</body>
68</html>