mirror of
https://github.com/dart-lang/sdk
synced 2024-09-20 08:49:52 +00:00
54 lines
1.3 KiB
Dart
54 lines
1.3 KiB
Dart
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');
|
|
});
|
|
}));
|
|
});
|
|
}
|