| Index: LayoutTests/fast/forms/form-associated-element.html
|
| diff --git a/LayoutTests/fast/forms/form-associated-element.html b/LayoutTests/fast/forms/form-associated-element.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d6e62b3dc2faffd691c9a4f186d508f76968d400
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/forms/form-associated-element.html
|
| @@ -0,0 +1,68 @@
|
| +<!doctype html>
|
| +<html>
|
| +<head>
|
| +<script src="../../resources/js-test.js"></script>
|
| +<script type="text/javascript">
|
| +var formOwner;
|
| +function hasFormOwner(shouldHaveOwner, haveIt, event)
|
| +{
|
| + formOwner = haveIt || "not defined";
|
| + debug("Testing " + event.target.tagName);
|
| + if (shouldHaveOwner)
|
| + shouldBeEqualToString("formOwner", "defined");
|
| + else
|
| + shouldBeEqualToString("formOwner", "not defined");
|
| +}
|
| +</script>
|
| +</head>
|
| +<body>
|
| +<div style="display: none;">
|
| +<form id=topForm>
|
| +<label form=topForm onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"><input type=button/></label>
|
| +<!-- Form-associated elements per http://whatwg.org/specs/web-apps/current-work/#form-associated-element -->
|
| +<button onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></button>
|
| +<fieldset onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></fieldset>
|
| +<input type='radio' onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"/>
|
| +<input type='number' onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"/>
|
| +<keygen keytype=rsa onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></keygen>
|
| +<label onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"><input type=button/></label>
|
| +<object onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></object>
|
| +<select onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></select>
|
| +<textarea onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></textarea>
|
| +<img onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></img>
|
| +
|
| +<!-- Elements that aren't associated. -->
|
| +<option onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event);"></option>
|
| +<div onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event);"></div>
|
| +<a onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event);"></a>
|
| +<p onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event);"></p>
|
| +</form>
|
| +
|
| +<!-- Elements that associated by 'form' reference rather than ancestor. -->
|
| +<input form=topForm type="number" onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"/>
|
| +<keygen form=topForm keytype=rsa onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></keygen>
|
| +<object form=topForm onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></object>
|
| +<select form=topForm onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event);"></select>
|
| +<pre form=topForm onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event);"></pre>
|
| +<span form=topForm onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event);"></span>
|
| +</div>
|
| +<script>
|
| +description("Verify that only elements that are 'form associatable' get a form owner.");
|
| +
|
| +var elements;
|
| +function testFormAssociation()
|
| +{
|
| + document.forms[0].canary = "defined";
|
| + elements = document.querySelectorAll("*[onclick]");
|
| + shouldBeTrue("elements.length > 0");
|
| + for (var i = 0; i < elements.length; ++i) {
|
| + var event = new Event("click"); // {bubbles: true, cancelable: true});
|
| + elements[i].dispatchEvent(event);
|
| + }
|
| +}
|
| +if (window.testRunner)
|
| + testRunner.dumpAsText();
|
| +testFormAssociation();
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|