| <!DOCTYPE html> |
| <script src="../../../resources/testharness.js"></script> |
| <script src="../../../resources/testharnessreport.js"></script> |
| <script src="resources/currentSrcHelper.js"></script> |
| <script> |
| |
| addEventListener("load", function() { |
| test(function() { |
| assert_equals(document.getElementById("simple").currentSrc.indexOf("file://"), 0); |
| assert_equals(document.getElementById("simple").clientWidth, (window.innerWidth)); |
| assert_equals(currentSrcFileNameNoParams("simple"), "image-set-2x.png"); |
| assert_equals(document.getElementById("small_sizes").clientWidth, 300); |
| assert_equals(currentSrcFileNameNoParams("small_sizes"), "image-set-1x.png"); |
| assert_equals(document.getElementById("sizes_x_descriptors").clientWidth, 400); |
| assert_equals(currentSrcFileNameNoParams("sizes_x_descriptors"), "image-set-1x.png"); |
| assert_equals(document.getElementById("sizes_src").clientWidth, 400); |
| assert_equals(currentSrcFileNameNoParams("sizes_src"), "image-set-1x.png"); |
| assert_equals(document.getElementById("default_sizes").clientWidth, window.innerWidth); |
| assert_equals(currentSrcFileNameNoParams("default_sizes"), "image-set-2x.png"); |
| assert_equals(document.getElementById("invalid_length").clientWidth, window.innerWidth); |
| assert_equals(currentSrcFileNameNoParams("invalid_length"), "image-set-2x.png"); |
| assert_approx_equals(document.getElementById("src_and_w").clientWidth, 700, 1/64); |
| assert_equals(currentSrcFileNameNoParams("src_and_w"), "image-set-4x.png"); |
| assert_approx_equals(document.getElementById("src_and_w2").clientWidth, 700, 1/64); |
| assert_equals(currentSrcFileNameNoParams("src_and_w2"), "image-set-1x.png"); |
| assert_approx_equals(document.getElementById("x_and_w").clientWidth, 700, 1/64); |
| assert_equals(currentSrcFileNameNoParams("x_and_w"), "image-set-4x.png"); |
| assert_equals(document.getElementById("x_and_w2").clientWidth, 400); |
| assert_equals(currentSrcFileNameNoParams("x_and_w2"), "image-set-2x.png"); |
| assert_equals(document.getElementById("x_and_w3").clientWidth, 400); |
| assert_equals(currentSrcFileNameNoParams("x_and_w3"), "image-set-2x.png"); |
| assert_equals(document.getElementById("half_size").clientWidth, (window.innerWidth/2)); |
| assert_equals(currentSrcFileNameNoParams("half_size"), "image-set-2x.png"); |
| assert_equals(document.getElementById("infitisimal_sizes").clientWidth, (window.innerWidth/100)); |
| assert_equals(currentSrcFileNameNoParams("infitisimal_sizes"), "image-set-2x.png"); |
| assert_equals(currentSrcFileNameNoParams("fraction"), "data:,a"); |
| assert_equals(document.getElementById("seen_lowest_before").clientWidth, 1600); |
| assert_equals(currentSrcFileNameNoParams("seen_lowest_before"), "image-set-4x.png"); |
| assert_equals(document.getElementById("seen_highest_before").clientWidth, 800); |
| assert_equals(currentSrcFileNameNoParams("seen_highest_before"), "image-set-4x.png"); |
| }, "Test srcset and sizes at a 1x screen"); |
| }, false); |
| </script> |
| <img id="simple" src="" sizes="(max-width: 300px) 400px, 800px" srcset="../../hidpi/resources/image-set-1x.png?1 400w, ../../hidpi/resources/image-set-2x.png?1 800w"> |
| <img id="small_sizes" src="" sizes="300px" srcset="../../hidpi/resources/image-set-1x.png?2 400w, ../../hidpi/resources/image-set-2x.png?2 800w"> |
| <!-- 'sizes' has no impact on 'x' or 'src' resources --> |
| <img id="sizes_x_descriptors" src="" sizes="50vw" srcset="../../hidpi/resources/image-set-1x.png?3 1x, ../../hidpi/resources/image-set-2x.png?3 2x"> |
| <img id="sizes_src" src="../../hidpi/resources/image-set-1x.png?4" sizes="50vw"> |
| <!-- Missing sizes or an invalid one, give a source size of 100vw --> |
| <img id="default_sizes" src="" srcset="../../hidpi/resources/image-set-1x.png?5 400w, ../../hidpi/resources/image-set-2x.png?5 800w, resources/image-set-4x.png?5 1600w"> |
| <img id="invalid_length" src="" sizes="(max-width: 300px) 400w, 800w" srcset="../../hidpi/resources/image-set-1x.png?6 400w, ../../hidpi/resources/image-set-2x.png?6 800w"> |
| <!-- Make sure that the img src is not picked when 'w' is present --> |
| <img id="src_and_w" src="../../hidpi/resources/image-set-1x.png?7" sizes="700px" srcset="resources/image-set-4x.png?7 1600w"> |
| <img id="src_and_w2" src="../../hidpi/resources/image-set-2x.png?8" sizes="700px" srcset="../../hidpi/resources/image-set-1x.png?8 400w"> |
| <img id="x_and_w" sizes="700px" srcset="../../hidpi/resources/image-set-1x.png?9 0.4x, resources/image-set-4x.png?9 1600w"> |
| <!-- The 'x' resource should be picked, and 'sizes' have no impact on its intrisic size --> |
| <img id="x_and_w2" sizes="700px" srcset="../../hidpi/resources/image-set-2x.png?10 2x, resources/image-set-4x.png?10 16000w"> |
| <img id="x_and_w3" sizes="700px" srcset="resources/image-set-4x.png?11 16000w, ../../hidpi/resources/image-set-2x.png?11 2x"> |
| <!-- The intrinsic size should be identical to the 'sizes' value --> |
| <img id="half_size" sizes="50vw" srcset="../../hidpi/resources/image-set-2x.png?12 800w, resources/image-set-4x.png?12 16000w"> |
| <img id="infitisimal_sizes" sizes="1vw" srcset="../../hidpi/resources/image-set-2x.png?13 800w, resources/image-set-4x.png?13 16000w"> |
| <img id="fraction" sizes="0.5px" srcset="data:,a 1w, data:,b 2x"> |
| <!-- Testing with cached resources. If a higher resolution cached resource is available, it should be picked --> |
| <img id="seen_lowest_before" sizes="1600px" srcset="../../hidpi/resources/image-set-2x.png?1 800w, resources/image-set-4x.png?1 1600w"> |
| <img id="seen_highest_before" sizes="800px" srcset="../../hidpi/resources/image-set-2x.png?7 800w, resources/image-set-4x.png?7 1600w"> |