Index: LayoutTests/fast/css/fontfaceset-load.html |
diff --git a/LayoutTests/fast/css/fontfaceset-load.html b/LayoutTests/fast/css/fontfaceset-load.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0b7b10468be022a2803457caa4b5c6bafeed9ae8 |
--- /dev/null |
+++ b/LayoutTests/fast/css/fontfaceset-load.html |
@@ -0,0 +1,63 @@ |
+<html> |
+<head> |
+<script src="../../resources/js-test.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+41-5a; /* 'A'-'Z' */ |
+} |
+ |
+@font-face { |
+ font-family: TestFont; |
+ src: url('resources/DownLoadErrorAhem.otf'); |
+ unicode-range: u+61-7a; /* 'a'-'z' */ |
+} |
+</style> |
+<script> |
+description('Tests load() method of FontFaceSet.'); |
+ |
+window.jsTestIsAsync = true; |
+ |
+function step1() { |
+ document.fonts.load('10px TestFont', 'ABC.').then(step2); |
+} |
+ |
+function step2(v) { |
+ value = v; |
+ shouldBe('value.length', '2'); |
+ shouldBeEqualToString('value[0].unicodeRange', 'U+0-10FFFF'); |
+ shouldBeEqualToString('value[1].unicodeRange', 'U+41-5A'); |
+ shouldBeEqualToString('value[0].status', 'loaded'); |
+ shouldBeEqualToString('value[1].status', 'loaded'); |
+ document.fonts.load('10px TestFont', 'abc.').catch(step3); |
+} |
+ |
+function step3(v) { |
+ value = v; |
+ shouldBeEqualToString('value.name', 'NetworkError'); |
+ document.fonts.load('InvalidFontDescription', 'abc.').catch(step4); |
+} |
+ |
+function step4(v) { |
+ value = v; |
+ shouldBeEqualToString('value.name', 'SyntaxError'); |
+ finishJSTest(); |
+} |
+ |
+if (document.fonts) |
+ step1(); |
+else { |
+ testFailed('document.fonts does not exist'); |
+ finishJSTest(); |
+} |
+</script> |
+</head> |
+<body> |
+</body> |
+</html> |