| 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(/root_dart/tests/html/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; |
| var loaded = []; |
| document.fonts.forEach((FontFace fontFace, _, __) { |
| atLeastOneFont = true; |
| Future f1 = fontFace.loaded; |
| Future f2 = fontFace.loaded; |
| loaded.add(fontFace.load()); |
| loaded.add(f1); |
| loaded.add(f2); |
| }); |
| expect(atLeastOneFont, isTrue); |
| return Future.wait(loaded).then(expectAsync((_) { |
| document.fonts.forEach((fontFace, _, __) { |
| expect(fontFace.status, 'loaded'); |
| }); |
| })); |
| }); |
| } |