88 lines
3.9 KiB
HTML
88 lines
3.9 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>Compound 2D Transforms</title>
|
|
<style type="text/css" media="screen">
|
|
.container {
|
|
height: 100px;
|
|
width: 200px;
|
|
margin: 30px;
|
|
outline: 1px solid black;
|
|
}
|
|
.box {
|
|
height: 100%;
|
|
width: 100%;
|
|
background-color: green;
|
|
-webkit-transform: rotate(90deg);
|
|
}
|
|
#results {
|
|
margin-top: 100px;
|
|
}
|
|
</style>
|
|
<script src="resources/transform-test-utils.js" type="text/javascript" charset="utf-8"></script>
|
|
<script type="text/javascript" charset="utf-8">
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
var gTests = [
|
|
// zero functions
|
|
{ 'transform' : 'none', 'result' : 'none' },
|
|
{ 'transform' : '', 'result' : 'matrix(5.96046e-08, 1, -1, 5.96046e-08, 0, 0)' }, // revert back to box
|
|
|
|
// one function - see non-compound test for tougher examples
|
|
{ 'transform' : 'translate(50px, 20px)', 'result' : 'matrix(1, 0, 0, 1, 50, 20)' },
|
|
{ 'transform' : 'rotate(12deg)', 'result' : 'matrix(0.978148, 0.207912, -0.207912, 0.978148, 0, 0)' },
|
|
{ 'transform' : 'scale(1.7)', 'result' : 'matrix(1.7, 0, 0, 1.7, 0, 0)' },
|
|
{ 'transform' : 'skew(12deg)', 'result' : 'matrix(1, 0, 0.212557, 1, 0, 0)' },
|
|
{ 'transform' : 'matrix(0.978148, 0.207912, -0.207912, 0.978148, 50, 20)', 'result' : 'matrix(0.978148, 0.207912, -0.207912, 0.978148, 50, 20)' },
|
|
|
|
// two functions
|
|
{ 'transform' : 'translate(50px, 20px) rotate(12deg)', 'result' : 'matrix(0.978148, 0.207912, -0.207912, 0.978148, 50, 20)' },
|
|
{ 'transform' : 'rotate(12deg) translate(50px, 20px)', 'result' : 'matrix(0.978148, 0.207912, -0.207912, 0.978148, 44.7491, 29.9585)' },
|
|
|
|
// three functions
|
|
{ 'transform' : 'rotate(12deg) translate(50px, 20px) scale(1.4)', 'result' : 'matrix(1.36941, 0.291076, -0.291076, 1.36941, 44.7491, 29.9585)' },
|
|
{ 'transform' : 'scale(1.4) rotate(12deg) translate(50px, 20px) ', 'result' : 'matrix(1.36941, 0.291076, -0.291076, 1.36941, 62.6488, 41.942)' },
|
|
{ 'transform' : 'scale(1.4) translate(50px, 20px) rotate(12deg)', 'result' : 'matrix(1.36941, 0.291076, -0.291076, 1.36941, 70, 28)' },
|
|
{ 'transform' : 'translate(50px, 20px) rotate(12deg) translateY(50px) scale(1.4)', 'result' : 'matrix(1.36941, 0.291076, -0.291076, 1.36941, 39.6044, 68.9074)' },
|
|
|
|
// lots of functions
|
|
{ 'transform' : 'rotate(12deg) translate(50px, 20px) scale(1.4) translate(-80px, 40px) skew(34deg) translate(10px, 10px) scale(0.7) skewY(-25deg) rotate(21deg) translateX(50px) scale(1.4, 1.8)',
|
|
'result' : 'matrix(1.20517, 0.148207, 0.258987, 2.04004, -13.3847, 85.31)' },
|
|
|
|
// invalid compound functions
|
|
{ 'transform' : ',rotate(12deg) translate(50px, 20px)', 'result' : 'none' }, // has comma
|
|
{ 'transform' : 'rotate(12deg), translate(50px, 20px)', 'result' : 'none' }, // has comma
|
|
{ 'transform' : 'rotate(12deg) + translate(50px, 20px)', 'result' : 'none' }, // has plus
|
|
{ 'transform' : 'rotate(12deg) translate(50, 20)', 'result' : 'none' }, // missing units
|
|
{ 'transform' : '(rotate(12deg) translate(50px, 20px))', 'result' : 'none' }, // bad syntax
|
|
{ 'transform' : 'rotate(12deg) translate(50px, 20px) eggs(10)', 'result' : 'none' }, // invalid function
|
|
{ 'transform' : 'rotate(12deg) matrix(0.978148, 0.207912, -0.207912, 0.978148, 50, 20, 666)', 'result' : 'none' }, // too many arguments
|
|
|
|
];
|
|
|
|
function runTests()
|
|
{
|
|
testTransforms();
|
|
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTests()">
|
|
|
|
<div class="container">
|
|
<div id="test-box" class="box"></div>
|
|
</div>
|
|
|
|
<div id="results">
|
|
</div>
|
|
</body>
|
|
</html>
|