<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<form id=f action="interactive-validation-formnovalidate-child.html">
<input type=hidden name=submitted value="true">
<input name=i0 required id="i0">
<button type="submit" formnovalidate><span id=s>Submit</span></button>
</form>
<script>
description('Test if formnovalidate attribute works for a submit button with child elements.');

function startOrVerify() {
    var query = window.location.search;
    if (query.indexOf('submitted=true') != -1) {
        shouldBeTrue('location.search.indexOf("i0=") != -1');
        debug('TEST COMPLETE');
        if (window.testRunner)
            testRunner.notifyDone();
    } else {
        document.getElementById('s').click();
        testFailed('The form was not submitted.');
    }
}

if (window.testRunner)
    testRunner.waitUntilDone();
window.onload = startOrVerify;
</script>
</body>
</html>
