| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta name="viewport" content="width=device-width,initial-scale=1"> | |
| <link rel="author" href="mailto:sam@webkit.org" title="Sam Weinig"> | |
| <link rel="help" href="https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverinit-rootmargin"> | |
| <link rel="help" href="https://w3c.github.io/IntersectionObserver/#dom-intersectionobserverinit-scrollmargin"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| </head> | |
| <body> | |
| <script> | |
| const testcases = [ | |
| { unit: "px", expected: "10px" }, | |
| { unit: "cm", expected: "377px" }, | |
| { unit: "mm", expected: "37px" }, | |
| { unit: "q", expected: "9px" }, | |
| { unit: "in", expected: "960px" }, | |
| { unit: "pt", expected: "13px" }, | |
| { unit: "pc", expected: "160px" }, | |
| ]; | |
| for (testcase of testcases) { | |
| test(function() { | |
| const observer = new IntersectionObserver(function(e) {}, { | |
| rootMargin: `10${testcase.unit}`, | |
| }); | |
| assert_equals(observer.rootMargin, `${testcase.expected} ${testcase.expected} ${testcase.expected} ${testcase.expected}`) | |
| }, `observer.rootMargin using '${testcase.unit}'`); | |
| test(function() { | |
| const observer = new IntersectionObserver(function(e) {}, { | |
| scrollMargin: `10${testcase.unit}`, | |
| }); | |
| assert_equals(observer.scrollMargin, `${testcase.expected} ${testcase.expected} ${testcase.expected} ${testcase.expected}`) | |
| }, `observer.scrollMargin using '${testcase.unit}'`); | |
| } | |
| </script> | |
| </body> | |
| </html> |