blob: eb65bcae83c1fe91494ae25af5c995f938c90f0b [file] [log] [blame]
<!DOCTYPE html>
<html>
<style>
* { font-size: 16px; }
svg, rect { font-family: 'Ahem'; }
div { font-size: 8px; }
</style>
<html>
<svg id="svg" width="0" height="0"></svg>
<script src="../../resources/js-test-pre.js"></script>
<script>
description("Test that 'with' presentation attribute is parsed with CSS presentation rules.");
function computedStyle(property, value) {
var rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
document.getElementById('svg').appendChild(rect);
rect.setAttribute(property, value);
var computedValue = getComputedStyle(rect).getPropertyValue(property);
document.getElementById('svg').removeChild(rect);
return computedValue;
}
function testComputed(property, value, expected) {
shouldBeEqualToString('computedStyle("' + property + '", "' + value + '")', expected);
}
function negativeTest(property, value) {
testComputed(property, value, "auto");
}
// test mask-image
testComputed("height", "auto", "auto");
testComputed("height", " 100", "100px");
testComputed("height", "100 ", "100px");
testComputed("height", "100px", "100px");
testComputed("height", "1em", "16px");
testComputed("height", "1ex", "12.800000190734863px");
testComputed("height", "20%", "20%");
// FIXME: Vieport units not implemented for SVG at the moment.
// testComputed("height", "1vh", "7.869999885559082px");
// testComputed("height", "1vw", "14.029999732971191px");
// negative tests
negativeTest("height", "100 px");
negativeTest("height", "100px;");
negativeTest("height", "100px !important");
negativeTest("height", "{ 100px }");
negativeTest("height", "-100px");
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>