Index: tests/html/fontface_loaded_test.dart |
diff --git a/tests/html/fontface_loaded_test.dart b/tests/html/fontface_loaded_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d1926880ae89c66f7f052293d236fb2906193cb7 |
--- /dev/null |
+++ b/tests/html/fontface_loaded_test.dart |
@@ -0,0 +1,46 @@ |
+library fontface_loaded_test; |
+ |
+import 'package:unittest/unittest.dart'; |
+import 'package:unittest/html_config.dart'; |
+ |
+import 'dart:async'; |
+import 'dart:isolate'; |
+import 'dart:html'; |
+ |
+class NullTreeSanitizer implements NodeTreeSanitizer { |
+ void sanitizeTree(Node node) {} |
+} |
+ |
+main() { |
+ useHtmlConfiguration(); |
+ |
+ var style = new Element.html(''' |
+ <style> |
+ @font-face { |
+ font-family: 'Ahem'; |
+ src: url(../../resources/Ahem.ttf); |
+ font-style: italic; |
+ font-weight: 300; |
+ unicode-range: U+0-3FF; |
+ font-variant: small-caps; |
+ -webkit-font-feature-settings: "dlig" 1; |
+ /* font-stretch property is not supported */ |
+ } |
+ </style> |
+ ''', treeSanitizer: new NullTreeSanitizer()); |
+ document.head.append(style); |
+ |
+ |
+ test('document fonts - temporary', () { |
+ var atLeastOneFont = false; |
+ document.fonts.forEach((FontFace fontFace, _, __) { |
+ atLeastOneFont = true; |
+ Future f1 = fontFace.loaded; |
+ Future f2 = fontFace.loaded; |
+ expect(f1, equals(f2)); // Repeated calls should answer the same Future. |
+ |
+ expect(fontFace.load(), throws); |
+ }); |
+ expect(atLeastOneFont, isTrue); |
+ }); |
+} |