<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>Canvas test: size.attributes.setAttribute.onlyspace</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/html/canvas/resources/canvas-tests.js"></script>
<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
<body class="show_output">

<h1>size.attributes.setAttribute.onlyspace</h1>
<p class="desc">Parsing of non-negative integers in setAttribute</p>


<p class="output">Actual output:</p>
<canvas id="c" class="output" width="50" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
<p class="output expectedtext">Expected output:<p><img src="size.attributes.setAttribute.onlyspace.png" class="output expected" id="expected" alt="">
<ul id="d"></ul>
<script>
var t = async_test("Parsing of non-negative integers in setAttribute");
_addTest(function(canvas, ctx) {

canvas.setAttribute('width', '  ');
canvas.setAttribute('height', '  ');
_assertSame(canvas.width, 300, "canvas.width", "300");
_assertSame(canvas.height, 150, "canvas.height", "150");
_assertSame(canvas.getAttribute('width'), '  ', "canvas.getAttribute('width')", "'  '");
_assertSame(canvas.getAttribute('height'), '  ', "canvas.getAttribute('height')", "'  '");


});
</script>

