blob: 65bab2ec666c3c159abed03ad06dff18f24a924e [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.js"></script>
<script src="resources/common.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<form action="javascript: failTest(this)" method="get">
<input id="button1" type="submit" formaction="javascript: passTest1(this)" />
<button id="button2" type="submit" formaction="javascript: passTest2(this)" />
<button type="submit" formaction="javascript: passTest3(this)">
<span id="span" formaction="javascript: failTest2(this)">submit</span>
</button>
</form>
<script>
description("Test for formaction attributes in input and button tags.");
var doneAction = false;
jsTestIsAsync = true;
function failTest(ul)
{
doneAction = true;
testFailed('The formaction attribute in the input or button tag was ignored.');
}
function failTest2(ul)
{
doneAction = true;
testFailed('The formaction attribute in the span tag was used.');
}
function passTest1(ul)
{
doneAction = true;
testPassed('The formaction attribute in the input tag was used.');
}
function passTest2(ul)
{
doneAction = true;
testPassed('The formaction attribute in the button tag was used.');
}
function passTest3(ul)
{
doneAction = true;
testPassed('The formaction attribute in the button tag was used.');
}
function test1() {
doneAction = false;
var input = document.getElementById('button1');
input.click();
setTimeout(function() {
if (!doneAction)
testFailed('Both of the action and the formaction attributes were ignored.');
test2();
}, 0);
}
function test2() {
doneAction = false;
var input = document.getElementById('button1');
clickElement(input);
setTimeout(function() {
if (!doneAction)
testFailed('Both of the action and the formaction attributes were ignored.');
test3();
}, 0);
}
function test3() {
doneAction = false;
var button = document.getElementById('button2');
button.click();
setTimeout(function() {
if (!doneAction)
testFailed('Both of the action and the formaction attributes were ignored.');
test4();
}, 0);
}
function test4() {
doneAction = false;
var span = document.getElementById('span');
span.click();
setTimeout(function() {
if (!doneAction)
testFailed('Both of the action and the formaction attributes were ignored.');
finishJSTest();
}, 0);
}
test1();
</script>
</body>
</html>