<!DOCTYPE HTML>
<link rel="stylesheet" href="resources/svg_tests.css">
<script src="resources/svg_canvas_helper.js"></script>
<script src="resources/print_img_failure.js"></script>
<script>
    if (window.testRunner)
        testRunner.waitUntilDone();
</script>
<h2><a href="http://www.w3.org/html/wg/drafts/srcset/w3c-srcset">srcset</a> testcases for SVG</h2>
<div class="test">
    <h3>Canvas relative SVG with explicit dimensions - 1x</h3>
    <div class="expected">expected<br/>
        <img id="svg10" src="resources/relativesrcset.svg" width="100" height="50">
    </div>
    <div class="actual">actual<br/>
        <canvas id="canvas6"></canvas>
    </div>
    This test should show an SVG image drawn into a canvas. The canvas and image should look the same and both should be 100x50.<br/>
    <br clear="all"/>
</div>
<script>
    window.addEventListener('load', function(){
        drawCanvas('svg10', 'canvas6', 100, 50);
        if (window.testRunner)
            testRunner.notifyDone();
    });
</script>
