OLD | NEW |
(Empty) | |
| 1 <!doctype html> |
| 2 <html> |
| 3 <head> |
| 4 <script src="../../resources/js-test.js"></script> |
| 5 <script type="text/javascript"> |
| 6 var formOwner; |
| 7 function hasFormOwner(shouldHaveOwner, haveIt, event) |
| 8 { |
| 9 formOwner = haveIt || "not defined"; |
| 10 debug("Testing " + event.target.tagName); |
| 11 if (shouldHaveOwner) |
| 12 shouldBeEqualToString("formOwner", "defined"); |
| 13 else |
| 14 shouldBeEqualToString("formOwner", "not defined"); |
| 15 } |
| 16 </script> |
| 17 </head> |
| 18 <body> |
| 19 <div style="display: none;"> |
| 20 <form id=topForm> |
| 21 <label form=topForm onclick="hasFormOwner(true, typeof canary !== 'undefined' &&
canary, event);"><input type=button/></label> |
| 22 <!-- Form-associated elements per http://whatwg.org/specs/web-apps/current-work/
#form-associated-element --> |
| 23 <button onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, eve
nt);"></button> |
| 24 <fieldset onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, e
vent);"></fieldset> |
| 25 <input type='radio' onclick="hasFormOwner(true, typeof canary !== 'undefined' &&
canary, event);"/> |
| 26 <input type='number' onclick="hasFormOwner(true, typeof canary !== 'undefined' &
& canary, event);"/> |
| 27 <keygen keytype=rsa onclick="hasFormOwner(true, typeof canary !== 'undefined' &&
canary, event);"></keygen> |
| 28 <label onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, even
t);"><input type=button/></label> |
| 29 <object onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, eve
nt);"></object> |
| 30 <select onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, eve
nt);"></select> |
| 31 <textarea onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, e
vent);"></textarea> |
| 32 <img onclick="hasFormOwner(true, typeof canary !== 'undefined' && canary, event)
;"></img> |
| 33 |
| 34 <!-- Elements that aren't associated. --> |
| 35 <option onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, ev
ent);"></option> |
| 36 <div onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event
);"></div> |
| 37 <a onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event);
"></a> |
| 38 <p onclick="hasFormOwner(false, typeof canary !== 'undefined' && canary, event);
"></p> |
| 39 </form> |
| 40 |
| 41 <!-- Elements that associated by 'form' reference rather than ancestor. --> |
| 42 <input form=topForm type="number" onclick="hasFormOwner(true, typeof canary !==
'undefined' && canary, event);"/> |
| 43 <keygen form=topForm keytype=rsa onclick="hasFormOwner(true, typeof canary !== '
undefined' && canary, event);"></keygen> |
| 44 <object form=topForm onclick="hasFormOwner(true, typeof canary !== 'undefined' &
& canary, event);"></object> |
| 45 <select form=topForm onclick="hasFormOwner(true, typeof canary !== 'undefined' &
& canary, event);"></select> |
| 46 <pre form=topForm onclick="hasFormOwner(false, typeof canary !== 'undefined' &&
canary, event);"></pre> |
| 47 <span form=topForm onclick="hasFormOwner(false, typeof canary !== 'undefined' &&
canary, event);"></span> |
| 48 </div> |
| 49 <script> |
| 50 description("Verify that only elements that are 'form associatable' get a form o
wner."); |
| 51 |
| 52 var elements; |
| 53 function testFormAssociation() |
| 54 { |
| 55 document.forms[0].canary = "defined"; |
| 56 elements = document.querySelectorAll("*[onclick]"); |
| 57 shouldBeTrue("elements.length > 0"); |
| 58 for (var i = 0; i < elements.length; ++i) { |
| 59 var event = new Event("click"); // {bubbles: true, cancelable: true}); |
| 60 elements[i].dispatchEvent(event); |
| 61 } |
| 62 } |
| 63 if (window.testRunner) |
| 64 testRunner.dumpAsText(); |
| 65 testFormAssociation(); |
| 66 </script> |
| 67 </body> |
| 68 </html> |
OLD | NEW |