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

<h1>size.attributes.idl</h1>
<p class="desc">Getting/setting width/height IDL attributes</p>


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

<ul id="d"></ul>
<script>
var t = async_test("Getting/setting width/height IDL attributes");
_addTest(function(canvas, ctx) {

canvas.width = "100";
canvas.height = "100";
_assertSame(canvas.width, 100, "canvas.width", "100");
_assertSame(canvas.height, 100, "canvas.height", "100");

canvas.width = "+1.5e2";
canvas.height = "0x96";
_assertSame(canvas.width, 150, "canvas.width", "150");
_assertSame(canvas.height, 150, "canvas.height", "150");

canvas.width = 200 - Math.pow(2, 32);
canvas.height = 200 - Math.pow(2, 32);
_assertSame(canvas.width, 200, "canvas.width", "200");
_assertSame(canvas.height, 200, "canvas.height", "200");

canvas.width = 301.999;
canvas.height = 301.001;
_assertSame(canvas.width, 301, "canvas.width", "301");
_assertSame(canvas.height, 301, "canvas.height", "301");

canvas.width = "400x";
canvas.height = "foo";
_assertSame(canvas.width, 0, "canvas.width", "0");
_assertSame(canvas.height, 0, "canvas.height", "0");


});
</script>

