Warning, file /frameworks/kjs/tests/not-quite-reserved.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 <script> 0002 var pasteMode = false; 0003 0004 function openTag(name) { 0005 if (pasteMode) 0006 return "<" + name + ">"; 0007 else 0008 return "<" + name + ">"; 0009 } 0010 0011 function closeTag(name) { 0012 return openTag("/" + name) + (pasteMode ? "<br>" : ""); 0013 } 0014 0015 function isReserved(name) { 0016 0017 worksFor = ""; 0018 try { 0019 eval("var " + name + " = 42;"); 0020 worksFor += "var "; 0021 } 0022 catch (e) {} 0023 0024 try { 0025 eval("o = new Object; o." + name + " = 42;"); 0026 worksFor += "fld "; 0027 } 0028 catch (e) {} 0029 0030 try { 0031 eval("function " + name + "() {}"); 0032 worksFor += "fn "; 0033 } 0034 catch (e) {} 0035 0036 if (worksFor == "") 0037 worksFor = openTag("font color='red'") + "Nothing" + closeTag("font"); 0038 else 0039 worksFor = openTag("font color='blue'") + worksFor + closeTag("font"); 0040 0041 return worksFor; 0042 } 0043 0044 function doLog(msg) { 0045 document.getElementById("log").innerHTML += msg + "<br>"; 0046 } 0047 0048 function testKW(name) { 0049 doLog(name + " works for:" + isReserved(name)); 0050 } 0051 0052 function doIt() { 0053 testKW("sanityCheck"); 0054 testKW("function"); 0055 // 0056 testKW("abstract"); 0057 testKW("boolean"); 0058 testKW("byte"); 0059 testKW("char"); 0060 testKW("class"); 0061 testKW("const"); 0062 testKW("debugger"); 0063 testKW("double"); 0064 testKW("enum"); 0065 testKW("export"); 0066 testKW("extends"); 0067 testKW("final"); 0068 testKW("float"); 0069 testKW("goto"); 0070 testKW("implements"); 0071 testKW("import"); 0072 testKW("int"); 0073 testKW("interface"); 0074 testKW("long"); 0075 testKW("native"); 0076 testKW("package"); 0077 testKW("private"); 0078 testKW("protected"); 0079 testKW("public"); 0080 testKW("short"); 0081 testKW("static"); 0082 testKW("super"); 0083 testKW("synchronized"); 0084 testKW("throws"); 0085 testKW("transient"); 0086 testKW("volatile"); 0087 document.close(); 0088 } 0089 </script> 0090 <body onload="doIt()"> 0091 <table> 0092 <tr> 0093 <th>Current</th> 0094 <th>Mozilla</th> 0095 <th>IE</th> 0096 <tr> 0097 <td> 0098 <div id="log"> 0099 </td> 0100 <td> 0101 sanityCheck works for:<font color='blue'>var fld fn </font><br> 0102 function works for:<font color='red'>Nothing</font><br> 0103 abstract works for:<font color='blue'>var fld fn </font><br> 0104 boolean works for:<font color='blue'>var fld fn </font><br> 0105 byte works for:<font color='blue'>var fld fn </font><br> 0106 char works for:<font color='blue'>var fld fn </font><br> 0107 class works for:<font color='blue'>var fld fn </font><br> 0108 const works for:<font color='red'>Nothing</font><br> 0109 debugger works for:<font color='red'>Nothing</font><br> 0110 double works for:<font color='blue'>var fld fn </font><br> 0111 enum works for:<font color='blue'>var fld fn </font><br> 0112 export works for:<font color='red'>Nothing</font><br> 0113 extends works for:<font color='blue'>var fld fn </font><br> 0114 final works for:<font color='blue'>var fld fn </font><br> 0115 float works for:<font color='blue'>var fld fn </font><br> 0116 goto works for:<font color='blue'>var fld fn </font><br> 0117 implements works for:<font color='blue'>var fld fn </font><br> 0118 import works for:<font color='red'>Nothing</font><br> 0119 int works for:<font color='blue'>var fld fn </font><br> 0120 interface works for:<font color='blue'>var fld fn </font><br> 0121 long works for:<font color='blue'>var fld fn </font><br> 0122 native works for:<font color='blue'>var fld fn </font><br> 0123 package works for:<font color='blue'>var fld fn </font><br> 0124 private works for:<font color='blue'>var fld fn </font><br> 0125 protected works for:<font color='blue'>var fld fn </font><br> 0126 public works for:<font color='blue'>var fld fn </font><br> 0127 short works for:<font color='blue'>var fld fn </font><br> 0128 static works for:<font color='blue'>var fld fn </font><br> 0129 super works for:<font color='blue'>var fld fn </font><br> 0130 synchronized works for:<font color='blue'>var fld fn </font><br> 0131 throws works for:<font color='blue'>var fld fn </font><br> 0132 transient works for:<font color='blue'>var fld fn </font><br> 0133 volatile works for:<font color='blue'>var fld fn </font><br> 0134 </td> 0135 <td> 0136 sanityCheck works for:<font color='blue'>var fld fn </font><br> 0137 function works for:<font color='red'>Nothing</font><br> 0138 abstract works for:<font color='blue'>var fld fn </font><br> 0139 boolean works for:<font color='blue'>var fld fn </font><br> 0140 byte works for:<font color='blue'>var fld fn </font><br> 0141 char works for:<font color='blue'>var fld fn </font><br> 0142 class works for:<font color='red'>Nothing</font><br> 0143 const works for:<font color='red'>Nothing</font><br> 0144 debugger works for:<font color='red'>Nothing</font><br> 0145 double works for:<font color='blue'>var fld fn </font><br> 0146 enum works for:<font color='red'>Nothing</font><br> 0147 export works for:<font color='red'>Nothing</font><br> 0148 extends works for:<font color='red'>Nothing</font><br> 0149 final works for:<font color='blue'>var fld fn </font><br> 0150 float works for:<font color='blue'>var fld fn </font><br> 0151 goto works for:<font color='blue'>var fld fn </font><br> 0152 implements works for:<font color='blue'>var fld fn </font><br> 0153 import works for:<font color='red'>Nothing</font><br> 0154 int works for:<font color='blue'>var fld fn </font><br> 0155 interface works for:<font color='blue'>var fld fn </font><br> 0156 long works for:<font color='blue'>var fld fn </font><br> 0157 native works for:<font color='blue'>var fld fn </font><br> 0158 package works for:<font color='blue'>var fld fn </font><br> 0159 private works for:<font color='blue'>var fld fn </font><br> 0160 protected works for:<font color='blue'>var fld fn </font><br> 0161 public works for:<font color='blue'>var fld fn </font><br> 0162 short works for:<font color='blue'>var fld fn </font><br> 0163 static works for:<font color='blue'>var fld fn </font><br> 0164 super works for:<font color='red'>Nothing</font><br> 0165 synchronized works for:<font color='blue'>var fld fn </font><br> 0166 throws works for:<font color='blue'>var fld fn </font><br> 0167 transient works for:<font color='blue'>var fld fn </font><br> 0168 volatile works for:<font color='blue'>var fld fn </font><br> 0169 </td> 0170 <tr> 0171 0172