summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html
blob: bd204542081301eaac9324a73f3f3850e3fb45af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!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>