<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>Canvas test: size.attributes.parse.zero</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.parse.zero</h1>
<p class="desc">Parsing of non-negative integers</p>


<p class="output">Actual output:</p>
<canvas id="c" class="output" width="0" height="0"><p class="fallback">FAIL (fallback content)</p></canvas>

<ul id="d"></ul>
<script>
var t = async_test("Parsing of non-negative integers");
_addTest(function(canvas, ctx) {

_assertSame(canvas.width, 0, "canvas.width", "0");
_assertSame(canvas.height, 0, "canvas.height", "0");
_assertSame(window.getComputedStyle(canvas, null).getPropertyValue("width"), "0px", "window.getComputedStyle(canvas, null).getPropertyValue(\"width\")", "\"0px\"");
_assertSame(canvas.getAttribute('width'), '0', "canvas.getAttribute('width')", "'0'");
_assertSame(canvas.getAttribute('height'), '0', "canvas.getAttribute('height')", "'0'");


});
</script>

