forked from mirrors/gecko-dev
Automatic update from web-platform-tests WebKit export: getComputedStyle does not return correct transform (#42936) https://bugs.webkit.org/show_bug.cgi?id=263699 -- wpt-commits: dbe90b81eceb4062ad8dafc4e4b8760fe1fb1d47 wpt-pr: 42936
70 lines
2.5 KiB
HTML
70 lines
2.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>JS test: Inline renderer must return the correct computed transform</title>
|
|
<link rel="author" title="Joone Hur" href="https://joone.github.io">
|
|
<link rel="help" href="https://drafts.csswg.org/css-transforms-1/#serialization-of-the-computed-value">
|
|
<link rel="help" href="https://drafts.csswg.org/css-transforms-1/#serialization-of-transform-functions">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<meta name="assert" content="Asserting that you can apply transform to an inline element and it show up in CSS computed values as a matrix">
|
|
<style>
|
|
.container {
|
|
height: 100px;
|
|
width: 200px;
|
|
margin: 30px;
|
|
outline: 1px solid black;
|
|
}
|
|
.box {
|
|
height: 100%;
|
|
width: 100%;
|
|
padding: 5px;
|
|
margin: 5px;
|
|
border: 5px solid gray;
|
|
transform-origin: 20% 50%;
|
|
}
|
|
#test-div {
|
|
background-color: blue;
|
|
}
|
|
|
|
#test-span {
|
|
background-color: red;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
<body>
|
|
<h1>Transform values should be indentical between
|
|
the blue box(block element) and red box(inline element) </h1>
|
|
<div class="container">
|
|
<div id="test-div" class="box"></div>
|
|
</div>
|
|
<span id="test-span" class="box"></span>
|
|
<script>
|
|
const testCases = [
|
|
{ 'transform' : 'translate(80px, 90px)', 'result' : 'matrix(1, 0, 0, 1, 80, 90)' },
|
|
{ 'transform' : 'scale(1.2, 0.8)', 'result' : 'matrix(1.2, 0, 0, 0.8, 0, 0)' },
|
|
{ 'transform' : 'skew(-0.7rad, 20deg)', 'result' : 'matrix(1, 0.36397, -0.842288, 1, 0, 0)' },
|
|
{ 'transform' : 'rotate(45deg)', 'result' : 'matrix(0.707107, 0.707107, -0.707107, 0.707107, 0, 0)' },
|
|
];
|
|
|
|
test(function() {
|
|
var testBox = document.getElementById('test-div');
|
|
var testSpan = document.getElementById('test-span');
|
|
|
|
testCases.forEach(function(curTest) {
|
|
// set one of our test transforms
|
|
testBox.style.transform = curTest.transform;
|
|
testSpan.style.transform = curTest.transform;
|
|
|
|
// read back computed style
|
|
var computedTransform = window.getComputedStyle(testBox).transform;
|
|
var computedSpanTransform = window.getComputedStyle(testSpan).transform;
|
|
|
|
assert_equals(computedTransform, curTest.result);
|
|
assert_equals(computedSpanTransform, curTest.result);
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|