| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| if (window.internals) { |
| internals.clearMemoryCache(); |
| internals.invalidateFontCache(); |
| } |
| </script> |
| <style> |
| @font-face { |
| font-family: WebFont; |
| src: url("../../resources/Ahem.ttf") format("truetype"); |
| unicode-range: U+42; |
| } |
| @font-face { |
| font-family: WebFont; |
| src: url("../../resources/Ahem.otf") format("opentype"); |
| unicode-range: U+41; |
| } |
| @font-face { |
| font-family: WebFont2; |
| src: url("../../resources/Ahem.otf") format("opentype"); |
| unicode-range: U+41-42; |
| } |
| @font-face { |
| font-family: WebFont3; |
| src: url("notafont.ttf") format("truetype"); |
| unicode-range: U+42; |
| } |
| @font-face { |
| font-family: WebFont3; |
| src: url("../../resources/Ahem.woff") format("woff"); |
| unicode-range: U+41; |
| } |
| </style> |
| </head> |
| <body> |
| <script> |
| self.jsTestIsAsync = true; |
| |
| description("This test makes sure that the second argument to FontFaceSet.load() and FontFaceSet.check() is honored."); |
| |
| function failure() { |
| testFailed("Promise should not fail."); |
| finishJSTest(); |
| } |
| |
| var faces; |
| document.fonts.load("14px WebFont", "A").then(function(facesArgument) { |
| faces = facesArgument; |
| shouldBe("faces.length", "1"); |
| shouldBeEqualToString("faces[0].unicodeRange", "U+41-41"); |
| shouldBeTrue("document.fonts.check('14px WebFont', 'A')"); |
| return document.fonts.load("14px WebFont, WebFont2", "A"); |
| }, failure).then(function(facesArgument) { |
| faces = facesArgument; |
| shouldBe("faces.length", "1"); |
| shouldBeEqualToString("faces[0].family", "WebFont"); |
| shouldBeEqualToString("faces[0].unicodeRange", "U+41-41"); |
| shouldBeFalse("document.fonts.check('14px WebFont3', 'A')"); |
| for (let f of document.fonts) { |
| if (f.family == "WebFont3" && f.unicodeRange == "U+41-41") |
| return f.load(); |
| } |
| testFailed("Should find font."); |
| finishJSTest(); |
| }, failure).then(function(face) { |
| shouldBeTrue("document.fonts.check('14px WebFont3', 'A')"); |
| finishJSTest(); |
| }, failure); |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |