blob: 4c2b4709ac237cfe5a1db6f52d7d827e0f3e2515 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<div id="testElement"></div>
<script>
var EPSILON = 1e-6; // float epsilon
var supportedUnits = [
'px',
'em',
'ex',
'ch',
'rem',
'vw',
'vh',
'vmin',
'vmax',
'cm',
'mm',
'in',
'pc',
'pt'
];
// Note: unsupportedUnits = ['percent', 'q'];
test(function() {
for (var i = 0; i < supportedUnits.length; i++) {
var unit = supportedUnits[i];
var cssText = 'perspective(' + i + unit + ')';
testElement.style.transform = cssText;
var result = testElement.attributeStyleMap.get('transform');
assert_equals(result.toString(), cssText);
assert_equals(result.constructor.name, CSSTransformValue.name);
var components = [...result.values()];
assert_equals(components.length, 1);
assert_equals(components[0].constructor.name, CSSPerspective.name);
assert_equals(components[0].toString(), cssText);
}
}, "Perspective read from a StyleMap is correct");
test(function() {
for (var i = 0; i < supportedUnits.length; i++) {
var unit = supportedUnits[i];
var perspective = new CSSTransformValue([
new CSSPerspective(new CSSUnitValue(i, unit))]);
testElement.attributeStyleMap.set('transform', perspective);
var cssText = 'perspective(' + i + unit + ')';
assert_equals(testElement.style.transform, cssText);
}
}, "Set Perspective into the inline StylePropertyMap");
</script>