diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset')
8 files changed, 340 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/avoid-reload-on-resize.html b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/avoid-reload-on-resize.html new file mode 100644 index 0000000000..52366dcaa7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/avoid-reload-on-resize.html @@ -0,0 +1,20 @@ +<!doctype html> +<title>Avoid srcset image reloads when viewport resizes</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +setup({single_test:true}); +const image_was_loaded = () => { + const iframe = document.getElementById("iframe"); + // Resize the iframe + iframe.width="400"; + // Wait 500 ms + step_timeout(() => { + // Check that the iframe only loaded a single resource + const entries = iframe.contentWindow.performance.getEntriesByType("resource"); + assert_equals(entries.length, 1); + done(); + }, 500); +} +</script> +<iframe id=iframe width="401" src="resources/resized.html" onload="image_was_loaded()"></iframe> diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/common.js b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/common.js new file mode 100644 index 0000000000..d4d2c7534c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/common.js @@ -0,0 +1,25 @@ +setup({explicit_done:true}); + +function check(img) { + var name = format_value(img.getAttribute('srcset')); + if (img.hasAttribute('sizes')) { + name += ' sizes=' + format_value(img.getAttribute('sizes')); + } + if (img.hasAttribute('data-desc')) { + name += ' (' + img.getAttribute('data-desc') + ')'; + } + test(function() { + var expect = img.dataset.expect; + if ('resolve' in img.dataset) { + var a = document.createElement('a'); + a.href = expect; + expect = a.href; + } + assert_equals(img.currentSrc, expect); + }, name); +} + +onload = function() { + [].forEach.call(document.images, check); + done(); +}; diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html new file mode 100644 index 0000000000..ce1e4cebe5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html @@ -0,0 +1,245 @@ +<!doctype html> +<title>img parse a srcset attribute</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src=common.js></script> +<div id=log></div> +<!-- splitting loop --> +<img srcset='' data-expect=''> +<img srcset=',' data-expect=''> +<img srcset=',,,' data-expect=''> +<img srcset=' data:,a 1x ' data-expect='data:,a'> +<img srcset='		data:,a		1x		' data-expect='data:,a'> +<img srcset='

data:,a

1x

' data-expect='data:,a'> +<img srcset='data:,a1x' data-expect='data:,a1x' data-resolve> +<img srcset='data:,a1x' data-expect='data:,a'> +<img srcset='

data:,a

1x

' data-expect='data:,a'> +<img srcset='data:,a1x' data-expect='data:,a1x' data-resolve> +<img srcset='data:,a1x' data-expect='data:,a1x' data-resolve> +<img srcset='data:,a1x' data-expect='data:,a1x' data-resolve> +<img srcset='data:,a' data-expect='data:,a'> +<img srcset='data:,a ' data-expect='data:,a'> +<img srcset='data:,a ,' data-expect='data:,a'> +<img srcset='data:,a,' data-expect='data:,a'> +<img srcset='data:,a, ' data-expect='data:,a'> +<img srcset='data:,a,,,' data-expect='data:,a'> +<img srcset='data:,a,, , ' data-expect='data:,a'> +<img srcset=' data:,a' data-expect='data:,a'> +<img srcset=',,,data:,a' data-expect='data:,a'> +<img srcset=' , ,,data:,a' data-expect='data:,a'> +<img srcset=' data:,a' data-expect=' data:,a' data-resolve> +<img srcset='data:,a ' data-expect='data:,a ' data-resolve> +<!-- descriptor tokenizer --> +<img srcset='data:,a 1x' data-expect='data:,a'> +<img srcset='data:,a 1x ' data-expect='data:,a'> +<img srcset='data:,a 1x,' data-expect='data:,a'> +<img srcset='data:,a ( , data:,b 1x, ), data:,c' data-expect='data:,c'> +<img srcset='data:,a ((( , data:,b 1x, ), data:,c' data-expect='data:,c'> +<img srcset='data:,a [ , data:,b 1x, ], data:,c' data-expect='data:,b'> +<img srcset='data:,a { , data:,b 1x, }, data:,c' data-expect='data:,b'> +<img srcset='data:,a " , data:,b 1x, ", data:,c' data-expect='data:,b'> +<img srcset='data:,a \,data:;\,b, data:,c' data-expect='data:;\,b'> +<img srcset='data:,a, data:,b (' data-expect='data:,a'> +<img srcset='data:,a, data:,b ( ' data-expect='data:,a'> +<img srcset='data:,a, data:,b (,' data-expect='data:,a'> +<img srcset='data:,a, data:,b (x' data-expect='data:,a'> +<img srcset='data:,a, data:,b ()' data-expect='data:,a'> +<img srcset='data:,a (, data:,b' data-expect=''> +<img srcset='data:,a /*, data:,b, data:,c */' data-expect='data:,b'> +<img srcset='data:,a //, data:,b' data-expect='data:,b'> +<!-- descriptor parser --> +<img srcset='data:,a foo' data-expect=''> +<img srcset='data:,a foo foo' data-expect=''> +<img srcset='data:,a foo 1x' data-expect=''> +<img srcset='data:,a foo 1x foo' data-expect=''> +<img srcset='data:,a foo 1w' data-expect=''> +<img srcset='data:,a foo 1w foo' data-expect=''> +<img srcset='data:,a 1x 1x' data-expect=''> +<img srcset='data:,a 1w 1w' data-expect=''> +<img srcset='data:,a 1w 1x' data-expect=''> +<img srcset='data:,a 1x 1w' data-expect=''> +<img srcset='data:,a 1w 1h' data-expect='data:,a'><!-- should fail for x-only impl --> +<img srcset='data:,a 1h 1w' data-expect='data:,a'><!-- should fail for x-only impl --> +<img srcset='data:,a 1h 1h' data-expect=''> +<img srcset='data:,a 1h 1x' data-expect=''> +<img srcset='data:,a 1h 1w 1x' data-expect=''> +<img srcset='data:,a 1x 1w 1h' data-expect=''> +<img srcset='data:,a 1w' data-expect='data:,a'><!-- should fail for x-only impl --> +<img srcset='data:,a 1h' data-expect=''> +<img srcset='data:,a 1h foo' data-expect=''> +<img srcset='data:,a foo 1h' data-expect=''> +<img srcset='data:,a 0w' data-expect=''> +<img srcset='data:,a -1w' data-expect=''> +<img srcset='data:,a 1w -1w' data-expect=''> +<img srcset='data:,a 1.0w' data-expect=''> +<img srcset='data:,a 1w 1.0w' data-expect=''> +<img srcset='data:,a 1e0w' data-expect=''> +<img srcset='data:,a 1w 1e0w' data-expect=''> +<img srcset='data:,a 1www' data-expect=''> +<img srcset='data:,a 1w 1www' data-expect=''> +<img srcset='data:,a +1w' data-expect=''> +<img srcset='data:,a 1w +1w' data-expect=''> +<img srcset='data:,a 1W' data-expect=''> +<img srcset='data:,a 1w 1W' data-expect=''> +<img srcset='data:,a Infinityw' data-expect=''> +<img srcset='data:,a 1w Infinityw' data-expect=''> +<img srcset='data:,a NaNw' data-expect=''> +<img srcset='data:,a 1w NaNw' data-expect=''> +<img srcset='data:,a 0x1w' data-expect=''> +<img srcset='data:,a 0X1w' data-expect=''> +<img srcset='data:,a 1w' data-expect='' data-desc='trailing U+0001'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+00A0'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+1680'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2000'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2001'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2002'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2003'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2004'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2005'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2006'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2007'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2008'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+2009'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+200A'> +<img srcset='data:,a 1‌w' data-expect='' data-desc='trailing U+200C'> +<img srcset='data:,a 1‍w' data-expect='' data-desc='trailing U+200D'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+202F'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+205F'> +<img srcset='data:,a 1 w' data-expect='' data-desc='trailing U+3000'> +<img srcset='data:,a 1w' data-expect='' data-desc='trailing U+FEFF'> +<img srcset='data:,a 1w' data-expect='' data-desc='leading U+0001'> +<img srcset='data:,a 1w' data-expect='' data-desc='leading U+00A0'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+1680'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2000'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2001'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2002'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2003'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2004'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2005'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2006'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2007'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2008'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+2009'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+200A'> +<img srcset='data:,a ‌1w' data-expect='' data-desc='leading U+200C'> +<img srcset='data:,a ‍1w' data-expect='' data-desc='leading U+200D'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+202F'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+205F'> +<img srcset='data:,a  1w' data-expect='' data-desc='leading U+3000'> +<img srcset='data:,a 1w' data-expect='' data-desc='leading U+FEFF'> +<img srcset='data:,a 0x' data-expect='data:,a'> +<img srcset='data:,a -0x' data-expect='data:,a'> +<img srcset='data:,a 1x -0x' data-expect=''> +<img srcset='data:,a -1x' data-expect=''> +<img srcset='data:,a 1x -1x' data-expect=''> +<img srcset='data:,a 1e0x' data-expect='data:,a'> +<img srcset='data:,a 1E0x' data-expect='data:,a'> +<img srcset='data:,a 1e-1x' data-expect='data:,a'> +<img srcset='data:,a 1.5e1x' data-expect='data:,a'> +<img srcset='data:,a -x' data-expect=''> +<img srcset='data:,a .x' data-expect=''> +<img srcset='data:,a -.x' data-expect=''> +<img srcset='data:,a 1.x' data-expect=''> +<img srcset='data:,a .5x' data-expect='data:,a'> +<img srcset='data:,a .5e1x' data-expect='data:,a'> +<img srcset='data:,a 1x 1.5e1x' data-expect=''> +<img srcset='data:,a 1x 1e1.5x' data-expect=''> +<img srcset='data:,a 1.0x' data-expect='data:,a'> +<img srcset='data:,a 1x 1.0x' data-expect=''> +<img srcset='data:,a +1x' data-expect=''> +<img srcset='data:,a 1X' data-expect=''> +<img srcset='data:,a Infinityx' data-expect=''> +<img srcset='data:,a NaNx' data-expect=''> +<img srcset='data:,a 0x1x' data-expect=''> +<img srcset='data:,a 0X1x' data-expect=''> +<img srcset='data:,a 1x' data-expect='' data-desc='trailing U+0001'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+00A0'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+1680'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2000'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2001'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2002'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2003'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2004'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2005'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2006'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2007'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2008'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+2009'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+200A'> +<img srcset='data:,a 1‌x' data-expect='' data-desc='trailing U+200C'> +<img srcset='data:,a 1‍x' data-expect='' data-desc='trailing U+200D'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+202F'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+205F'> +<img srcset='data:,a 1 x' data-expect='' data-desc='trailing U+3000'> +<img srcset='data:,a 1x' data-expect='' data-desc='trailing U+FEFF'> +<img srcset='data:,a 1x' data-expect='' data-desc='leading U+0001'> +<img srcset='data:,a 1x' data-expect='' data-desc='leading U+00A0'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+1680'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2000'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2001'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2002'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2003'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2004'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2005'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2006'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2007'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2008'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+2009'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+200A'> +<img srcset='data:,a ‌1x' data-expect='' data-desc='leading U+200C'> +<img srcset='data:,a ‍1x' data-expect='' data-desc='leading U+200D'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+202F'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+205F'> +<img srcset='data:,a  1x' data-expect='' data-desc='leading U+3000'> +<img srcset='data:,a 1x' data-expect='' data-desc='leading U+FEFF'> +<img srcset='data:,a 1w 0h' data-expect=''> +<img srcset='data:,a 1w -1h' data-expect=''> +<img srcset='data:,a 1w 1.0h' data-expect=''> +<img srcset='data:,a 1w 1e0h' data-expect=''> +<img srcset='data:,a 1w 1hhh' data-expect=''> +<img srcset='data:,a 1w +1h' data-expect=''> +<img srcset='data:,a 1w 1H' data-expect=''> +<img srcset='data:,a 1w Infinityh' data-expect=''> +<img srcset='data:,a 1w NaNh' data-expect=''> +<img srcset='data:,a 0x1h' data-expect=''> +<img srcset='data:,a 0X1h' data-expect=''> +<img srcset='data:,a 1w 1h' data-expect='' data-desc='trailing U+0001'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+00A0'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+1680'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2000'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2001'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2002'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2003'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2004'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2005'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2006'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2007'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2008'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+2009'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+200A'> +<img srcset='data:,a 1w 1‌h' data-expect='' data-desc='trailing U+200C'> +<img srcset='data:,a 1w 1‍h' data-expect='' data-desc='trailing U+200D'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+202F'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+205F'> +<img srcset='data:,a 1w 1 h' data-expect='' data-desc='trailing U+3000'> +<img srcset='data:,a 1w 1h' data-expect='' data-desc='trailing U+FEFF'> +<img srcset='data:,a 1w 1h' data-expect='' data-desc='leading U+0001'> +<img srcset='data:,a 1w 1h' data-expect='' data-desc='leading U+00A0'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+1680'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2000'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2001'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2002'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2003'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2004'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2005'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2006'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2007'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2008'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+2009'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+200A'> +<img srcset='data:,a 1w ‌1h' data-expect='' data-desc='leading U+200C'> +<img srcset='data:,a 1w ‍1h' data-expect='' data-desc='leading U+200D'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+202F'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+205F'> +<img srcset='data:,a 1w  1h' data-expect='' data-desc='leading U+3000'> +<img srcset='data:,a 1w 1h' data-expect='' data-desc='leading U+FEFF'> diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/image.png b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/image.png Binary files differnew file mode 100644 index 0000000000..d26878c9f2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/image.png diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/image.png.headers b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/image.png.headers new file mode 100644 index 0000000000..edaec7ad15 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/image.png.headers @@ -0,0 +1,3 @@ +Cache-Control: no-store + + diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/resized.html b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/resized.html new file mode 100644 index 0000000000..6fb6847a66 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/resources/resized.html @@ -0,0 +1,2 @@ +<!DOCTYPE html> +<img srcset="image.png?400 400w, image.png?800 800w, image.png?1600 1600w" sizes="50vw"> diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source.html b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source.html new file mode 100644 index 0000000000..292395d3ae --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source.html @@ -0,0 +1,20 @@ +<!doctype html> +<title>img select an image source</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src=common.js></script> +<div id=log></div> +<!-- dup entries --> +<img srcset='data:,a 1x, data:,b 1x' data-expect='data:,a'> +<img srcset='data:,a , data:,b 1x' data-expect='data:,a'> +<img srcset='data:,a 1x, data:,b' data-expect='data:,a'> +<img srcset='data:,a 1w, data:,b 1w' data-expect='data:,a'> +<img srcset='data:,a 1w 1h, data:,b 1w' data-expect='data:,a'> +<img srcset='data:,a 1w, data:,b 1w 1h' data-expect='data:,a'> +<img srcset='data:,a 1w 1h, data:,b 1w 2h' data-expect='data:,a'> +<img srcset='data:,a 1w 2h, data:,b 1w 1h' data-expect='data:,a'> +<img srcset='data:,a , data:,b' data-expect='data:,a'> +<img srcset='data:,a 1w, data:,b 1x' sizes='1px' data-expect='data:,a'> +<img srcset='data:,a 1x, data:,b 1w' sizes='1px' data-expect='data:,a'> +<img srcset='data:,a 1w, data:,b 2x' sizes='0.5px' data-expect='data:,a'> +<img srcset='data:,a 2x, data:,b 1w' sizes='0.5px' data-expect='data:,a'> diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic.html b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic.html new file mode 100644 index 0000000000..2cc74e2b8f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic.html @@ -0,0 +1,25 @@ +<!doctype html> +<title>source element in picture handles dynamic media change correctly.</title> +<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez"> +<link rel="author" href="https://mozilla.org" title="Mozilla"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1523627"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<picture id="pic"> + <source srcset="data:,a"> +</picture> +<script> +let t = async_test("Dynamic media change is handled correctly"); + +let pic = document.getElementById("pic"); +// Something that will never match. +pic.querySelector("source").setAttribute("media", "not all"); + +let img = document.createElement("img"); +img.src = "data:,b"; +pic.appendChild(img); + +onload = t.step_func_done(function() { + assert_equals(img.currentSrc, "data:,b"); +}); +</script> |