| <!doctype html> |
| <title>img parse a sizes attribute</title> |
| <meta name="timeout" content="long"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id=log></div> |
| <iframe data-desc="standards mode" style="width:1000px; height:1000px" src="sizes-iframed.sub.html?doctype=doctype%20html&style="></iframe> |
| <iframe data-desc="quirks mode" style="width:1000px; height:1000px" src="sizes-iframed.sub.html?doctype=----&style="></iframe> |
| <iframe data-desc="display:none" style="width:1000px; height:1000px" src="sizes-iframed.sub.html?doctype=doctype%20html&style=display:none"></iframe> |
| <iframe data-desc="width:1000px" style="width:1000px; height:1000px" src="sizes-iframed.sub.html?doctype=doctype%20html&style=width:1000px%3B%20height:16px"></iframe> |
| <script> |
| setup({explicit_done:true}); |
| |
| function check(p, iframe) { |
| var current = p.firstElementChild; |
| var ref_sizes = current.getAttribute('sizes'); |
| var expect = p.firstElementChild.currentSrc; |
| if (expect) { |
| expect = expect.split('?')[0]; |
| } |
| while (current = current.nextElementSibling) { |
| test(function() { |
| if (expect === '' || expect === null || expect === undefined) { |
| assert_unreached('ref currentSrc was ' + format_value(expect)); |
| } |
| var got = current.currentSrc; |
| assert_greater_than(got.indexOf('?'), -1, 'expected a "?" in currentSrc'); |
| got = got.split('?')[0]; |
| assert_equals(got, expect); |
| }, current.outerHTML + ' ref sizes=' + format_value(ref_sizes) + ' (' + iframe.getAttribute('data-desc') + ')'); |
| } |
| } |
| |
| onload = function() { |
| [].forEach.call(document.querySelectorAll('iframe'), function(iframe) { |
| [].forEach.call(iframe.contentDocument.querySelectorAll('p'), function(p) { |
| check(p, iframe); |
| }); |
| }); |
| done(); |
| } |
| </script> |