| <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> |