<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>
description('Tests the behavior of .formaction, .formenctype, .formmethod and .formtarget of HTMLInputElement and HTMLButtonElement.');

var input = document.createElement('input');

debug('Ordinary values for input:');
input.type = "submit";
shouldBe('input.formAction', 'location.href');
shouldBeEqualToString('input.formEnctype', '');
shouldBeEqualToString('input.formMethod', '');
shouldBeEqualToString('input.formTarget', '');

input.setAttribute('formAction', 'http://localhost');
shouldBeEqualToString('input.formAction', 'http://localhost/');
input.setAttribute('formAction', 'http://localhost/');
shouldBeEqualToString('input.formAction', 'http://localhost/');
input.setAttribute('formEnctype', 'text/plain');
shouldBeEqualToString('input.formEnctype', 'text/plain');
input.setAttribute('formEnctype', 'na');
shouldBeEqualToString('input.formEnctype', 'application/x-www-form-urlencoded');
input.setAttribute('formMethod', 'GET');
shouldBeEqualToString('input.formMethod', 'get');
input.setAttribute('formMethod', 'ni');
shouldBeEqualToString('input.formMethod', 'get');
input.setAttribute('formTarget', '_blank');
shouldBeEqualToString('input.formTarget', '_blank');
input.setAttribute('formTarget', 'nu');
shouldBeEqualToString('input.formTarget', 'nu');

input.formAction = 'http://example.com';
shouldBeEqualToString('input.formAction', 'http://example.com/');
input.formAction = 'http://example.com/';
shouldBeEqualToString('input.formAction', 'http://example.com/');
input.formEnctype = 'text/plain';
shouldBeEqualToString('input.formEnctype', 'text/plain');
input.formEnctype = 'nota';
shouldBeEqualToString('input.formEnctype', 'application/x-www-form-urlencoded');
input.formMethod = 'POST';
shouldBeEqualToString('input.formMethod', 'post');
input.formMethod = 'neta';
shouldBeEqualToString('input.formMethod', 'get');
input.formTarget = 'http://example.com';
shouldBeEqualToString('input.formTarget', 'http://example.com');
input.formTarget = 'nta';
shouldBeEqualToString('input.formTarget', 'nta');

debug('');
debug('Setting null for input:');
input.formEnctype = null;
shouldBeEqualToString('input.formEnctype', 'application/x-www-form-urlencoded');
shouldBeEqualToString('input.getAttribute("formEnctype")', 'null');
input.setAttribute('formEnctype', null);
shouldBeEqualToString('input.formEnctype', 'application/x-www-form-urlencoded');
input.formMethod = null;
shouldBeEqualToString('input.formMethod', 'get');
shouldBeEqualToString('input.getAttribute("formMethod")', 'null');
input.setAttribute('formMethod', null);
shouldBeEqualToString('input.formMethod', 'get');
input.formTarget = null;
shouldBeEqualToString('input.formTarget', 'null');
shouldBeEqualToString('input.getAttribute("formTarget")', 'null');
input.setAttribute('formTarget', null);
shouldBeEqualToString('input.formTarget', 'null');

debug('');
debug('Setting undefined for input:');
input.formEnctype = undefined;
shouldBeEqualToString('input.formEnctype', 'application/x-www-form-urlencoded');
shouldBeEqualToString('input.getAttribute("formEnctype")', 'undefined');
input.setAttribute('formEnctype', undefined);
shouldBeEqualToString('input.formEnctype', 'application/x-www-form-urlencoded');
input.formMethod = undefined;
shouldBeEqualToString('input.formMethod', 'get');
shouldBeEqualToString('input.getAttribute("formMethod")', 'undefined');
input.setAttribute('formMethod', undefined);
shouldBeEqualToString('input.formMethod', 'get');
input.formTarget = undefined;
shouldBeEqualToString('input.formTarget', 'undefined');
shouldBeEqualToString('input.getAttribute("formTarget")', 'undefined');
input.setAttribute('formTarget', undefined);
shouldBeEqualToString('input.formTarget', 'undefined');

debug('');
debug('Setting non-string for input:');
input.formEnctype = 256;
shouldBeEqualToString('input.formEnctype', 'application/x-www-form-urlencoded');
shouldBeEqualToString('input.getAttribute("formEnctype")', '256');
input.setAttribute('formEnctype', 256);
shouldBeEqualToString('input.formEnctype', 'application/x-www-form-urlencoded');
input.formMethod = 256;
shouldBeEqualToString('input.formMethod', 'get');
shouldBeEqualToString('input.getAttribute("formMethod")', '256');
input.setAttribute('formMethod', 256);
shouldBeEqualToString('input.formMethod', 'get');
input.formTarget = 256;
shouldBeEqualToString('input.formTarget', '256');
shouldBeEqualToString('input.getAttribute("formTarget")', '256');
input.setAttribute('formTarget', 256);
shouldBeEqualToString('input.formTarget', '256');

var button = document.createElement('button');
debug('');
debug('Ordinary values for button:');
button.type = "submit";
shouldBe('button.formAction', 'location.href');
shouldBeEqualToString('button.formEnctype', '');
shouldBeEqualToString('button.formMethod', '');
shouldBeEqualToString('button.formTarget', '');

button.setAttribute('formAction', 'http://localhost');
shouldBeEqualToString('button.formAction', 'http://localhost/');
button.setAttribute('formAction', 'http://localhost/');
shouldBeEqualToString('button.formAction', 'http://localhost/');
button.setAttribute('formEnctype', 'text/plain');
shouldBeEqualToString('button.formEnctype', 'text/plain');
button.setAttribute('formEnctype', 'na');
shouldBeEqualToString('button.formEnctype', 'application/x-www-form-urlencoded');
button.setAttribute('formMethod', 'GET');
shouldBeEqualToString('button.formMethod', 'get');
button.setAttribute('formMethod', 'na');
shouldBeEqualToString('button.formMethod', 'get');
button.setAttribute('formTarget', '_blank');
shouldBeEqualToString('button.formTarget', '_blank');
button.setAttribute('formTarget', 'na');
shouldBeEqualToString('button.formTarget', 'na');

button.formAction = 'http://example.com';
shouldBeEqualToString('button.formAction', 'http://example.com/');
button.formAction = 'http://example.com/';
shouldBeEqualToString('button.formAction', 'http://example.com/');
button.formEnctype = 'text/plain';
shouldBeEqualToString('button.formEnctype', 'text/plain');
button.formEnctype = 'nota';
shouldBeEqualToString('button.formEnctype', 'application/x-www-form-urlencoded');
button.formMethod = 'POST';
shouldBeEqualToString('button.formMethod', 'post');
button.formMethod = 'nota';
shouldBeEqualToString('button.formMethod', 'get');
button.formTarget = 'http://example.com';
shouldBeEqualToString('button.formTarget', 'http://example.com');
button.formTarget = 'nota';
shouldBeEqualToString('button.formTarget', 'nota');

debug('');
debug('Setting null for button:');
button.formEnctype = null;
shouldBeEqualToString('button.formEnctype', 'application/x-www-form-urlencoded');
shouldBeEqualToString('button.getAttribute("formEnctype")', 'null');
button.setAttribute('formEnctype', null);
shouldBeEqualToString('button.formEnctype', 'application/x-www-form-urlencoded');
button.formMethod = null;
shouldBeEqualToString('button.formMethod', 'get');
shouldBeEqualToString('button.getAttribute("formMethod")', 'null');
button.setAttribute('formMethod', null);
shouldBeEqualToString('button.formMethod', 'get');
button.formTarget = null;
shouldBeEqualToString('button.formTarget', 'null');
shouldBeEqualToString('button.getAttribute("formTarget")', 'null');
button.setAttribute('formTarget', null);
shouldBeEqualToString('button.formTarget', 'null');

debug('');
debug('Setting undefined for button:');
button.formEnctype = undefined;
shouldBeEqualToString('button.formEnctype', 'application/x-www-form-urlencoded');
shouldBeEqualToString('button.getAttribute("formEnctype")', 'undefined');
button.setAttribute('formEnctype', undefined);
shouldBeEqualToString('button.formEnctype', 'application/x-www-form-urlencoded');
button.formMethod = undefined;
shouldBeEqualToString('button.formMethod', 'get');
shouldBeEqualToString('button.getAttribute("formMethod")', 'undefined');
button.setAttribute('formMethod', undefined);
shouldBeEqualToString('button.formMethod', 'get');
button.formTarget = undefined;
shouldBeEqualToString('button.formTarget', 'undefined');
shouldBeEqualToString('button.getAttribute("formTarget")', 'undefined');
button.setAttribute('formTarget', undefined);
shouldBeEqualToString('button.formTarget', 'undefined');

debug('');
debug('Setting non-string for button:');
button.formEnctype = 256;
shouldBeEqualToString('button.formEnctype', 'application/x-www-form-urlencoded');
shouldBeEqualToString('button.getAttribute("formEnctype")', '256');
button.setAttribute('formEnctype', 512);
shouldBeEqualToString('button.formEnctype', 'application/x-www-form-urlencoded');
button.formMethod = 128;
shouldBeEqualToString('button.formMethod', 'get');
shouldBeEqualToString('button.getAttribute("formMethod")', '128');
button.setAttribute('formMethod', 17);
shouldBeEqualToString('button.formMethod', 'get');
button.formTarget = 100;
shouldBeEqualToString('button.formTarget', '100');
shouldBeEqualToString('button.getAttribute("formTarget")', '100');
button.setAttribute('formTarget', 281);
shouldBeEqualToString('button.formTarget', '281');
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
