blob: bf4689594185dd9e3703c24d32613e7a9b340155 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
<script src="resources/polyfill.js"></script>
</head>
<body>
<div id="container"></div>
<script>
if (window.testRunner)
testRunner.waitUntilDone();
function createShadowForm() {
var container = document.getElementById('container');
var shadowRoot = container.webkitCreateShadowRoot();
shadowRoot.innerHTML =
'<form>' +
' <input type="hidden" name="hidden" value="hidden">' +
' <input type="text" name="text" value="text">' +
' <input type="checkbox" name="checkbox1" checked>' +
' <input type="checkbox" name="checkbox2">' +
' <input type="range" name="range" min="0" max="100" value="50">' +
' <textarea name="textarea">textarea</textarea>' +
' <input id="submit" type="submit">' +
'</form>';
return shadowRoot.getElementById('submit');
}
function parseQuery(query) {
var result = {};
var nameValues = query.split('&');
for (var i = 0; i < nameValues.length; ++i) {
var idx = nameValues[i].indexOf('=');
var name = nameValues[i].substr(0, idx);
var value = nameValues[i].substr(idx + 1);
result[name] = value;
}
return result;
}
var obj;
function checkQuery(query) {
obj = parseQuery(query);
shouldBe("obj.hidden", "'hidden'");
shouldBe("obj.text", "'text'");
shouldBe("obj.checkbox1", "'on'");
shouldBeUndefined("obj.checkbox2");
shouldBe("obj.range", "'50'");
shouldBe("obj.textarea", "'textarea'");
}
var submitButton = createShadowForm();
if (location.href.indexOf('?') > 0) {
var query = location.href.substr(location.href.indexOf('?') + 1);
checkQuery(query);
if (window.testRunner)
testRunner.notifyDone();
} else {
submitButton.click();
}
var successfullyParsed = true;
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>