| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| body { |
| margin: 0; |
| } |
| .shape { |
| float: left; |
| width: 100px; |
| height: 100px; |
| padding: 25px 75px 75px 25px; |
| margin-right: -200px; |
| -webkit-shape-margin: 10px; |
| } |
| .inset { |
| -webkit-shape-outside: inset(25px round 10px) content-box; |
| } |
| .circle { |
| -webkit-shape-outside: circle(25% at center) content-box; |
| } |
| .svg { |
| -webkit-shape-outside: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none' width='100px' height='100px'><rect x='25' y='25' width='50' height='50' fill='blue' /></svg>"); |
| -webkit-shape-margin: 1px; |
| } |
| </style> |
| <script src="../../http/tests/inspector/resources/inspector-test.js"></script> |
| <script src="../../http/tests/inspector/dom/shapes-test.js"></script> |
| <script> |
| function test() { |
| var testcases = [ |
| { |
| 'selector' : '.inset', |
| 'path' : ['M', 60, 50, 'L', 90, 50, 'C', 96, 50, 100, 54, 100, 60, 'L', 100, 90, 'C', 100, 96, 96, 100, 90, 100, |
| 'L', 60, 100, 'C', 54, 100, 50, 96, 50, 90, 'L', 50, 60, 'C', 50, 54, 54, 50, 60, 50, 'Z'], |
| 'marginPath' : ['M', 60, 40, 'L', 90, 40, 'C', 101, 40, 110, 49, 110, 60, 'L', 110, 90, 'C', 110, 101, 101, 110, 90, 110, |
| 'L', 60, 110, 'C', 49, 110, 40, 101, 40, 90, 'L', 40, 60, 'C', 40, 49, 49, 40, 60, 40, 'Z'] |
| }, |
| { |
| 'selector' : '.circle', |
| 'path' : ['M', 75, 63, 'L', 75, 63, 'C', 89, 63, 100, 74, 100, 88, 'L', 100, 88, 'C', 100, 102, 89, 113, 75, 113, 'L', 75, 113, |
| 'C', 61, 113, 50, 102, 50, 88, 'L', 50, 88, 'C', 50, 74, 61, 63, 75, 63, 'Z'], |
| 'marginPath' : ['M', 75, 53, 'L', 75, 53, 'C', 94, 53, 110, 69, 110, 88, 'L', 110, 88, 'C', 110, 107, 94, 123, 75, 123, 'L', 75, 123, |
| 'C', 56, 123, 40, 107, 40, 88, 'L', 40, 88, 'C', 40, 69, 56, 53, 75, 53, 'Z'] |
| }, |
| { |
| 'selector' : '.svg', |
| 'path' : ['M', 50, 63, 'L', 100, 63, 'L', 100, 113, 'L', 50, 113, 'Z'], |
| 'marginPath' : ['M', 50, 62, 'L', 100, 62, 'L', 100, 63, 'L', 50, 63, 'Z', |
| 'M', 49, 63, 'L', 101, 63, 'L', 101, 113, 'L', 49, 113, 'Z', |
| 'M', 50, 113, 'L', 100, 113, 'L', 100, 114, 'L', 50, 114, 'Z'] |
| }]; |
| |
| function runNextTest(tests) { |
| var testcase = tests[0]; |
| var selectorInformation = "Selector: \'" + testcase.selector + "\'"; |
| |
| InspectorTest.Shapes.getShapeOutsideInfoForSelector(testcase.selector, function(payload) { |
| if (!InspectorTest.Shapes.assertPathsAreRoughlyEqual(payload.shape, testcase.path, selectorInformation + " Shape information was not roughly equal.")) |
| InspectorTest.log("PASS: " + testcase.selector); |
| if (!InspectorTest.Shapes.assertPathsAreRoughlyEqual(payload.marginShape, testcase.marginPath, selectorInformation + " Margin shape information was not roughly equal.")) |
| InspectorTest.log("PASS: " + testcase.selector + " with shape-margin"); |
| |
| if (tests.length > 1) |
| runNextTest(tests.splice(1)); |
| else |
| InspectorTest.completeTest(); |
| }); |
| } |
| |
| runNextTest(testcases); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <div class='shape inset'></div> |
| <div class='shape circle'></div> |
| <div class='shape svg'></div> |
| </body> |
| </html> |