blob: ce64200dd818cab1546bcb9f1ed29bb328f1ab8b [file] [log] [blame]
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Scalable Search Box</title>
<script>
<![CDATA[
var testMatrix;
var expectedMatrix = {
a: 2,
b: 0,
c: 0,
d: 2,
e: 30,
f: 100
};
function runTest () {
var rect = document.getElementById('rect');
try {
testMatrix = rect.getScreenCTM();
}
// end script here
catch (error) {
logError('.getScreenCTM() seems to be unimplemented');
return;
}
// check equality of matrices
if (areMatricesEqual(testMatrix, expectedMatrix)) {
rect.setAttributeNS(null, 'fill', 'green');
}
// explain error
else {
logError('Expected matrix ' + printMatrix(expectedMatrix));
logError('Got matrix ' + printMatrix(testMatrix));
}
}
function areMatricesEqual (m1, m2) {
return (
m1.a == m2.a &&
m1.b == m2.b &&
m1.c == m2.c &&
m1.d == m2.d &&
m1.e == m2.e &&
m1.f == m2.f
);
}
function printMatrix (m) {
return '[' + [m.a, m.b, m.c, m.d, m.e, m.f].join(', ') + ']';
}
function logError (msg) {
var output = document.getElementById('error')
var text = document.createTextNode(msg);
var br = document.createElementNS('http://www.w3.org/1999/xhtml', 'br');
output.appendChild(text);
output.appendChild(br);
}
]]>
</script>
</head>
<body onload="runTest()">
<div style="position: absolute; left: 30px; top: 100px; width: 400px; height: 200px;">
<svg id="svgRoot" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 100" preserveAspectRatio="xMinYMin meet">
<rect id="rect" width="100%" height="100%" fill="red" />
</svg>
</div>
<div id="error" style="position: absolute; left: 30px; top: 330px; color: red" />
This tests the behaviour of <code>SVGLocatable::getScreenCTM()</code> in mixed content <br />
If the test passes you should see a green rectangle.
</body>
</html>