Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html - WPT Dashboard Interop Dashboard
<!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'>