<!DOCTYPE HTML>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description('width and height attributes of HTMLInputElement.');
</script>

<p id="description"></p>

<div id="div1">
    <input type="image" id="image1" src="resources/green.jpg" width="160" height="80px">
</div>
<br>

<div id="div2">
    <input type="image" id="image2" src="resources/green.jpg">
</div>
<br>

<div id="div3">
    <input type="image" id="image3" src="resources/green.jpg">
</div>
<br>

<div id="div4">
    <input type="image" id="image4" src="resources/green.jpg">
</div>
<br>

<div id="div5">
    <input type="text" id="text1">
</div>
<br>

<div id="div6">
    <input type="file" id="file1">
</div>
<br>

<div id="div7">
    <input type="date" id="date1">
</div>
<br>

<div id="div8">
    <input type="button" id="button1">
</div>
<br>

<script>
var div = document.getElementById("div1");
var image1 = document.getElementById("image1");
debug('Test case #1 : Image, HTML inline setting as \"160\", \"80\"');
shouldBeTrue("('width' in image1)");
shouldBeTrue("('height' in image1)");
shouldBe('image1.width,image1.height', '160,80');

div = document.getElementById("div2");
var image2 = document.getElementById("image2");
debug('Test case #2 : Image, Setting by JavaScript API as \"260\", \"130\"');
shouldBeTrue("('width' in image1)");
shouldBeTrue("('height' in image1)");
image2.width = 260;
image2.height = 130;
shouldBe('image2.width,image2.height', '260,130');

div = document.getElementById("div3");
var image3 = document.getElementById("image3");
debug('Test case #3 : Image, Setting by JavaScript API as \"120px\", \"60px\"');
shouldBeTrue("('width' in image1)");
shouldBeTrue("('height' in image1)");
image3.width = "120px";
image3.height = "60px";
shouldBe('image3.width,image3.height', '0,0');

div = document.getElementById("div4");
var image4 = document.getElementById("image4");
debug('Test case #4 : Image, Setting by JavaScript API as \"120.99\", \"60.55\"');
shouldBeTrue("('width' in image1)");
shouldBeTrue("('height' in image1)");
image4.width = 120.99;
image4.height = 60.99;
shouldBe('image4.width,image4.height', '120,60');

div = document.getElementById("div5");
var text1 = document.getElementById("text1");
debug('Test case #5 : Text, Setting by JavaScript API as \"100\", \"50\"');
shouldBeTrue("('width' in text1)");
shouldBeTrue("('height' in text1)");
text1.width = 100;
text1.height = 50;
shouldBe('text1.width,text1.height', '0,0');

text1.type = 'image';
text1.src = "resources/green.jpg";
shouldBe('text1.width,text1.height', '100,50');
text1.width = 60;
text1.height = 40;
shouldBe('text1.width,text1.height', '60,40');

div = document.getElementById("div6");
var file1 = document.getElementById("file1");
debug('Test case #6 : File, Setting by JavaScript API as \"100\", \"50\"');
shouldBeTrue("('width' in file1)");
shouldBeTrue("('height' in file1)");
file1.width = 100;
file1.height = 50;
shouldBe('file1.width,file1.height', '0,0');

file1.type = 'image';
file1.src = "resources/green.jpg";
shouldBe('file1.width,file1.height', '100,50');
file1.width = 60;
file1.height = 40;
shouldBe('file1.width,file1.height', '60,40');

div = document.getElementById("div7");
var date1 = document.getElementById("date1");
debug('Test case #7 : Date, Setting by JavaScript API as \"100\", \"50\"');
shouldBeTrue("('width' in date1)");
shouldBeTrue("('height' in date1)");
date1.width = 100;
date1.height = 50;
shouldBe('date1.width,date1.height', '0,0');

date1.type = 'image';
date1.src = "resources/green.jpg";
shouldBe('date1.width,date1.height', '100,50');
date1.width = 60;
date1.height = 40;
shouldBe('date1.width,date1.height', '60,40');

div = document.getElementById("div8");
var button1 = document.getElementById("button1");
debug('Test case #8 : Button, Setting by JavaScript API as \"100\", \"50\"');
shouldBeTrue("('width' in button1)");
shouldBeTrue("('height' in button1)");
button1.width = 100;
button1.height = 50;
shouldBe('button1.width,button1.height', '0,0');

button1.type = 'image';
button1.src = "resources/green.jpg";
shouldBe('button1.width,button1.height', '100,50');
button1.width = 60;
button1.height = 40;
shouldBe('button1.width,button1.height', '60,40');

var successfullyParsed = true;
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
