19fc825692f2e5eacec79ff009f8dd03ead12c7f
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / dom / script-tests / event-attribute-availability.js
1 description("This tests what event handler attributes are available on what objects.");
2
3 var elementAndDocumentProperties = [
4     "onabort", "onblur", "onchange", "onclick", "oncontextmenu", "ondblclick", "ondrag", "ondragend",
5     "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "onerror", "onfocus", "oninput",
6     "onkeydown", "onkeypress", "onkeyup", "onload", "onmousedown", "onmousemove", "onmouseout",
7     "onmouseover", "onmouseup", "onmousewheel", "onscroll", "onselect", "onsubmit",
8
9     // Not implemented yet
10     // "oncanplay", "oncanplaythrough", "ondurationchange", "onemptied", "onended", "onformchange",
11     // "onforminput", "oninvalid", "onloadeddata", "onloadedmetadata", "onloadstart", "onpause",
12     // "onplay", "onplaying", "onprogress", "onratechange", "onreadystatechange", "onseeked", "onseeking",
13     // "onshow", "onstalled", "onsuspend", "ontimeupdate", "onvolumechange", "onwaiting",
14
15     // WebKit extensions
16     "onbeforecut", "oncut", "onbeforecopy", "oncopy", "onbeforepaste", "onpaste", "onreset", "onsearch",
17     "onselectstart"
18 ];
19
20 var bodyAndFrameSetProperties = [
21     "onbeforeunload", "onmessage", "onoffline", "ononline", "onresize", "onstorage", "onunload", "onblur",
22     "onerror", "onfocus", "onload",
23
24     // Not implemented yet.
25     // "onafterprint", "onbeforeprint", "onhashchange", "onpopstate", "onredo", "onundo"
26 ];
27
28
29 debug("Test Element");
30 var element = document.createElement("div");
31 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
32     shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in element");
33 }
34
35 debug("\nTest Document");
36 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
37     shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in document");
38 }
39
40 debug("\nTest Window");
41 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
42     shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in window");
43 }
44
45 debug("\nTest Text Node");
46 var textNode = document.createTextNode("text");
47 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
48     shouldBeFalse("'" + elementAndDocumentProperties[i] + "' in textNode");
49 }
50
51 debug("\nTest Attribute");
52 var attribute = document.createAttribute("attr");
53 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
54     shouldBeFalse("'" + elementAndDocumentProperties[i] + "' in attribute");
55 }
56
57 debug("\nTest HTMLBodyElement");
58 var body = document.body;
59 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
60     shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in body");
61 }
62 for (var i = 0; i < bodyAndFrameSetProperties.length; ++i) {
63     shouldBeTrue("'" + bodyAndFrameSetProperties[i] + "' in body");
64 }
65
66 debug("\nTest HTMLFrameSetElement");
67 var frameSet = document.createElement("frameset");
68 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
69     shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in frameSet");
70 }
71 for (var i = 0; i < bodyAndFrameSetProperties.length; ++i) {
72     shouldBeTrue("'" + bodyAndFrameSetProperties[i] + "' in frameSet");
73 }
74
75 debug("\nTest SVGPathElement");
76 var pathelement = document.createElementNS("http://www.w3.org/2000/svg", "path");
77 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
78     shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in pathelement");
79 }
80
81 debug("\nTest SVGSVGElement");
82 var svgelement = document.implementation.createDocument("http://www.w3.org/2000/svg", "svg").documentElement;
83 for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
84     shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in svgelement");
85 }