This is a testharness.js-based test.
PASS img (no src), onload, narrow
PASS img (no src), resize to wide
PASS img (empty src), onload, narrow
PASS img (empty src), resize to wide
PASS img (src only) broken image, onload, narrow
PASS img (src only) broken image, resize to wide
PASS img (src only) valid image, onload, narrow
PASS img (src only) valid image, resize to wide
PASS img (srcset 1 cand) broken image, onload, narrow
PASS img (srcset 1 cand) broken image, resize to wide
PASS img (srcset 1 cand) valid image, onload, narrow
PASS img (srcset 1 cand) valid image, resize to wide
PASS picture: source (max-width:500px) broken image, img broken image, onload, narrow
FAIL picture: source (max-width:500px) broken image, img broken image, resize to wide assert_unreached: Got unexpected load event Reached unreachable code
PASS picture: source (max-width:500px) broken image, img valid image, onload, narrow
PASS picture: source (max-width:500px) broken image, img valid image, resize to wide
PASS picture: source (max-width:500px) valid image, img broken image, onload, narrow
FAIL picture: source (max-width:500px) valid image, img broken image, resize to wide assert_unreached: Got unexpected load event Reached unreachable code
PASS picture: source (max-width:500px) valid image, img valid image, onload, narrow
PASS picture: source (max-width:500px) valid image, img valid image, resize to wide
PASS picture: same URL in source (max-width:500px) and img, onload, narrow
FAIL picture: same URL in source (max-width:500px) and img, resize to wide assert_unreached: Got unexpected load event Reached unreachable code
PASS img (no src), onload, wide
PASS img (no src), resize to narrow
PASS img (empty src), onload, wide
PASS img (empty src), resize to narrow
PASS img (src only) broken image, onload, wide
PASS img (src only) broken image, resize to narrow
PASS img (src only) valid image, onload, wide
PASS img (src only) valid image, resize to narrow
PASS img (srcset 1 cand) broken image, onload, wide
PASS img (srcset 1 cand) broken image, resize to narrow
PASS img (srcset 1 cand) valid image, onload, wide
PASS img (srcset 1 cand) valid image, resize to narrow
PASS picture: source (max-width:500px) broken image, img broken image, onload, wide
FAIL picture: source (max-width:500px) broken image, img broken image, resize to narrow assert_unreached: Got unexpected load event Reached unreachable code
PASS picture: source (max-width:500px) broken image, img valid image, onload, wide
FAIL picture: source (max-width:500px) broken image, img valid image, resize to narrow assert_unreached: Got unexpected load event Reached unreachable code
PASS picture: source (max-width:500px) valid image, img broken image, onload, wide
PASS picture: source (max-width:500px) valid image, img broken image, resize to narrow
PASS picture: source (max-width:500px) valid image, img valid image, onload, wide
PASS picture: source (max-width:500px) valid image, img valid image, resize to narrow
PASS picture: same URL in source (max-width:500px) and img, onload, wide
FAIL picture: same URL in source (max-width:500px) and img, resize to narrow assert_unreached: Got unexpected load event Reached unreachable code
Harness: the test ran to completion.

