<!DOCTYPE HTML>
<html>
<head>
    <link rel="stylesheet" href="resources/svg_tests.css">
    <script src="resources/svg_canvas_helper.js"></script>
    <script>
        if (window.testRunner)
            testRunner.waitUntilDone();
    </script>
</head>
<body>
  <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(){
        document.body.offsetHeight;
        drawCanvas('svg10', 'canvas6', 100, 50);
        if (window.testRunner)
            testRunner.notifyDone();
    });
  </script>

</body>
</html>
