blob: ec4846ed97963883b519c200d85cb9280705f7d0 [file] [log] [blame]
/*
* Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
* for details. All rights reserved. Use of this source code is governed by a
* BSD-style license that can be found in the LICENSE file.
*/
/**
* @description This test ensures that the CSS 'ex' unit is treated as about half
* size of the CSS 'em' unit when a font has no x-height information.
*/
import "dart:html";
import "../../testcommon.dart";
getComputedStyle(x, [pseudoElement]) => x.getComputedStyle(pseudoElement);
main() {
var style = new Element.html('''
<style>
.em { height: .5em; width: .5em; }
.ex { height: 1ex; width: 1ex; }
.cover { background: green; }
.back { background: red; }
.one { left: 10px; }
.two { left: 70px; }
#test > div { font-family: block; font-size: 100px; position: absolute; top: 10px; }
#description { margin-top: 70px; }
</style>
''', treeSanitizer: new NullTreeSanitizer());
document.head.append(style);
document.body.setInnerHtml('''
<svg xmlns = 'http://www.w3.org/2000/svg' style='display:none'>
<defs>
<font id="Font1">
<font-face font-family="block" />
</font>
</defs>
</svg>
<div id='test'>
<div class='back em one'></div>
<div class='cover ex one' id='ex'></div>
<div class='back ex two'></div>
<div class='cover em two'></div>
</div>
''', treeSanitizer: new NullTreeSanitizer());
num measureExBox() {
String sHeight = getComputedStyle(document.getElementById('ex')).height;
return num.parse(sHeight.replaceFirst('px', ''));
}
shouldBeApprox(measureExBox(), 50, 10);
}