OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>SVGGraphicsElement.getScreenCTM subject to page zoom</title> | 2 <title>SVGGraphicsElement.getScreenCTM subject to page zoom</title> |
3 <script src="../../../resources/testharness.js"></script> | 3 <script src="../../../resources/testharness.js"></script> |
4 <script src="../../../resources/testharnessreport.js"></script> | 4 <script src="../../../resources/testharnessreport.js"></script> |
5 <script src="../../../resources/run-after-layout-and-paint.js"></script> | 5 <script src="../../../resources/run-after-layout-and-paint.js"></script> |
6 <style> | 6 <style> |
7 body { margin: 0; padding: 0; } | 7 body { margin: 0; padding: 0; } |
8 </style> | 8 </style> |
9 <div style="width: 100px; height: 100px;"></div> | 9 <div style="width: 100px; height: 100px;"></div> |
10 <svg id="svg1" width="400" height="400"> | 10 <svg id="svg1" width="400" height="400"> |
11 <rect width="100" height="100" fill="green"/> | 11 <rect width="100" height="100" fill="green"/> |
12 <svg id="svg2" x="100" y="100" width="300" height="300"> | 12 <svg id="svg2" x="100" y="100" width="300" height="300"> |
13 <rect width="100" height="100" fill="green"/> | 13 <rect width="100" height="100" fill="green"/> |
14 <svg id="svg3" x="100" y="100" width="200" height="200"> | 14 <svg id="svg3" x="100" y="100" width="200" height="200"> |
15 <rect width="100" height="100" fill="green"/> | 15 <rect width="100" height="100" fill="green"/> |
16 <svg id="svg4" x="100" y="100" width="100" height="100"> | 16 <svg id="svg4" x="100" y="100" width="100" height="100"> |
17 <rect width="100" height="100" fill="green"/> | 17 <rect width="100" height="100" fill="green"/> |
18 </svg> | 18 </svg> |
19 </svg> | 19 </svg> |
20 </svg> | 20 </svg> |
21 </svg> | 21 </svg> |
22 <script> | 22 <script> |
23 function assert_matrix_equals(actual, expected) { | 23 function assert_matrix_approx_equals(actual, expected) { |
24 for (let prop of [ 'a', 'b', 'c', 'd', 'e', 'f']) | 24 for (let prop of [ 'a', 'b', 'c', 'd', 'e', 'f']) |
25 assert_equals(actual[prop], expected[prop], prop); | 25 assert_approx_equals(actual[prop], expected[prop], 5e-6, prop); |
26 } | 26 } |
27 | 27 |
28 async_test(t => { | 28 async_test(t => { |
29 runAfterLayoutAndPaint(t.step_func_done(() => { | 29 runAfterLayoutAndPaint(t.step_func_done(() => { |
30 eventSender.zoomPageIn(); | 30 eventSender.zoomPageIn(); |
31 eventSender.zoomPageIn(); | 31 eventSender.zoomPageIn(); |
32 | 32 |
33 assert_matrix_equals(document.getElementById('svg1').getScreenCTM(), | 33 assert_matrix_approx_equals(document.getElementById('svg1').getScreenCTM(), |
34 { a: 1, b: 0, c: 0, d: 1, e: 0, f: 100 }); | 34 { a: 1, b: 0, c: 0, d: 1, e: 0, f: 100 }); |
35 assert_matrix_equals(document.getElementById('svg2').getScreenCTM(), | 35 assert_matrix_approx_equals(document.getElementById('svg2').getScreenCTM(), |
36 { a: 1, b: 0, c: 0, d: 1, e: 100, f: 200 }); | 36 { a: 1, b: 0, c: 0, d: 1, e: 100, f: 200 }); |
37 assert_matrix_equals(document.getElementById('svg3').getScreenCTM(), | 37 assert_matrix_approx_equals(document.getElementById('svg3').getScreenCTM(), |
38 { a: 1, b: 0, c: 0, d: 1, e: 200, f: 300 }); | 38 { a: 1, b: 0, c: 0, d: 1, e: 200, f: 300 }); |
39 assert_matrix_equals(document.getElementById('svg4').getScreenCTM(), | 39 assert_matrix_approx_equals(document.getElementById('svg4').getScreenCTM(), |
40 { a: 1, b: 0, c: 0, d: 1, e: 300, f: 400 }); | 40 { a: 1, b: 0, c: 0, d: 1, e: 300, f: 400 }); |
41 })); | 41 })); |
42 }); | 42 }); |
43 </script> | 43 </script> |
OLD | NEW |