1 # Copyright 2009 the V8 project authors. All rights reserved. 2 # Redistribution and use in source and binary forms, with or without 3 # modification, are permitted provided that the following conditions are 4 # met: 5 # 6 # * Redistributions of source code must retain the above copyright 7 # notice, this list of conditions and the following disclaimer. 8 # * Redistributions in binary form must reproduce the above 9 # copyright notice, this list of conditions and the following 10 # disclaimer in the documentation and/or other materials provided 11 # with the distribution. 12 # * Neither the name of Google Inc. nor the names of its 13 # contributors may be used to endorse or promote products derived 14 # from this software without specific prior written permission. 15 # 16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 28 prefix es5conform 29 def UNIMPLEMENTED = PASS || FAIL 30 def FAIL_OK = FAIL, OKAY 31 32 33 ############################################################################## 34 # Non UTF8 characters in test files. 35 chapter10/10.4/10.4.2/10.4.2-3-c-2-s: FAIL_OK 36 chapter10/10.4/10.4.2/10.4.2-3-c-1-s: FAIL_OK 37 chapter10/10.4/10.4.2/10.4.2-2-c-1: FAIL_OK 38 39 # We do not implement the error chekcs specified in the production rules 40 # of 11.1.5 (Object initializer). 41 # We are compatible with Safari and Firefox. 42 chapter11/11.1/11.1.5: UNIMPLEMENTED 43 44 # Our Function object has an "arguments" property which is used as a 45 # non-property in the test. 46 chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183: FAIL_OK 47 48 # Our Function object has a "caller" property which is used as a 49 # non-property in in the test. 50 chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184: FAIL_OK 51 52 # Our function object has a name property which is used as a 53 # non-property in the test. 54 chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188: FAIL_OK 55 56 # NOT IMPLEMENTED: RegExp.prototype.source 57 chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212: UNIMPLEMENTED 58 59 # NOT IMPLEMENTED: RegExp.prototype.global 60 chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213: UNIMPLEMENTED 61 62 # NOT IMPLEMENTED: RegExp.prototype.ignoreCase 63 chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214: UNIMPLEMENTED 64 65 # NOT IMPLEMENTED: RegExp.prototype.multiline 66 chapter15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215: UNIMPLEMENTED 67 68 # All of the tests below marked SUBSETFAIL (in 15.2.3.4) fail because 69 # the tests assumes that objects can not have more properties 70 # than those described in the spec - but according to spec they can 71 # have additional properties. 72 # All compareArray calls in these tests could be exchanged with a 73 # isSubsetOfArray call (I will upload a patch to the es5conform site). 74 75 # SUBSETFAIL 76 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1: FAIL_OK 77 78 # SUBSETFAIL + we do not implement all methods on Object. 79 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2: FAIL_OK 80 81 # SUBSETFAIL 82 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-3: FAIL_OK 83 84 # SUBSETFAIL 85 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-4: FAIL_OK 86 87 # SUBSETFAIL 88 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-5: FAIL_OK 89 90 # SUBSETFAIL 91 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-6: FAIL_OK 92 93 # SUBSETFAIL 94 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-7: FAIL_OK 95 96 # SUBSETFAIL 97 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-11: FAIL_OK 98 99 # SUBSETFAIL 100 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-14: FAIL_OK 101 102 # EvalError.prototype does not have message property. 103 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-15: FAIL 104 105 # Rangeerror.prototype does not have message property. 106 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-16: FAIL 107 108 # ReferenceError.prototype does not have message property. 109 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-17: FAIL 110 111 # SyntaxError.prototype does not have message property. 112 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-18: FAIL 113 114 # TypeError.prototype does not have message property. 115 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-19: FAIL 116 117 # URIError.prototype does not have message property. 118 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-20: FAIL 119 120 # SUBSETFAIL 121 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-22: FAIL_OK 122 123 # SUBSETFAIL 124 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-23: FAIL_OK 125 126 # SUBSETFAIL 127 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-24: FAIL_OK 128 129 # SUBSETFAIL 130 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-25: FAIL_OK 131 132 # SUBSETFAIL 133 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-26: FAIL_OK 134 135 # SUBSETFAIL 136 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-27: FAIL_OK 137 138 # SUBSETFAIL 139 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-28: FAIL_OK 140 141 # SUBSETFAIL 142 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-29: FAIL_OK 143 144 # SUBSETFAIL 145 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-30: FAIL_OK 146 147 # SUBSETFAIL 148 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-31: FAIL_OK 149 150 # SUBSETFAIL 151 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-32: FAIL_OK 152 153 # SUBSETFAIL 154 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-33: FAIL_OK 155 156 # SUBSETFAIL 157 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-34: FAIL_OK 158 159 # SUBSETFAIL 160 chapter15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-35: FAIL_OK 161 162 # Bad test - the test at the end should be "i === true". 163 chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10: FAIL_OK 164 165 # Bad test - according to spec some returns a Boolean, not a number. 166 chapter15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9: FAIL_OK 167 168 # Bad test - uses unitialized variable a in precondition check. 169 chapter15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-3: FAIL_OK 170 171 # We do not implement Array mapping functions correctly if array 172 # entries are added for nonexistent entries smaller than length by 173 # the callback function. We are compatible with JSC. 174 # See http://code.google.com/p/v8/issues/detail?id=755 175 chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-1: FAIL_OK 176 177 # Bad tests, path in test file is wrong. This will crash the test 178 # script so we mark it SKIP. 179 chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4: SKIP 180 chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4-s: SKIP 181 182 # Bad test - deleting the property on o in callbackfn will 183 # have no effect on the actual array on which reduceRight is called. 184 chapter15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-7: FAIL_OK 185 186 ############################################################################## 187 # Unimplemented parts of strict mode 188 # Setting expectations to fail only so that the tests trigger as soon as 189 # the strict mode feature gets implemented 190 191 # A directive preceeding an 'use strict' directive may not contain 192 # an OctalEscapeSequence 193 # Incorrect test - need double escape in eval. 194 chapter07/7.8/7.8.4/7.8.4-1-s: FAIL 195 196 # arguments.caller is non-configurable in strict mode 197 # Invalid test case. Checks for "writable == true" and presence of "put".. 198 chapter10/10.6/10.6-13-b-3-s: FAIL 199 # arguments.callee is non-configurable in strict mode 200 # Invalid test case. Checks for "put" property accessor. 201 chapter10/10.6/10.6-13-c-3-s: FAIL 202 203 # simple assignment throws TypeError if LeftHandSide is a property reference 204 # with a primitive base value (this is undefined) 205 chapter11/11.13/11.13.1/11.13.1-1-7-s: FAIL 206 207 # simple assignment throws TypeError if LeftHandSide is a readonly property 208 # in strict mode (Global.NaN) 209 chapter11/11.13/11.13.1/11.13.1-4-2-s: FAIL 210 # simple assignment throws TypeError if LeftHandSide is a readonly property 211 # in strict mode (Global.Infinity) 212 chapter11/11.13/11.13.1/11.13.1-4-3-s: FAIL 213 # simple assignment throws TypeError if LeftHandSide is a readonly property 214 # in strict mode (Global.length) 215 chapter11/11.13/11.13.1/11.13.1-4-4-s: FAIL 216 # simple assignment throws TypeError if LeftHandSide is a readonly property 217 # in strict mode (Global.undefined) 218 chapter11/11.13/11.13.1/11.13.1-4-27-s: FAIL 219 220 # delete operator throws TypeError when when deleting a non-configurable 221 # data property in strict mode (Global.NaN) 222 # Invalid test case - "this" is not a global object within the test case. 223 # (http://es5conform.codeplex.com/workitem/29151) 224 chapter11/11.4/11.4.1/11.4.1-4.a-4-s: FAIL_OK 225 226 # delete operator throws ReferenceError when deleting a direct reference 227 # to a var in strict mode 228 # Invalid test case. Test expects ReferenceError instead of SyntaxError. 229 # http://es5conform.codeplex.com/workitem/29084 230 chapter11/11.4/11.4.1/11.4.1-5-1-s: FAIL 231 # delete operator throws ReferenceError when deleting a direct reference 232 # to a function argument in strict mode 233 # Invalid test case. Test expects ReferenceError instead of SyntaxError. 234 # http://es5conform.codeplex.com/workitem/29084 235 chapter11/11.4/11.4.1/11.4.1-5-2-s: FAIL 236 # delete operator throws ReferenceError when deleting a direct reference 237 # to a function name in strict mode 238 # Invalid test case. Test expects ReferenceError instead of SyntaxError. 239 # http://es5conform.codeplex.com/workitem/29084 240 chapter11/11.4/11.4.1/11.4.1-5-3-s: FAIL 241 242 # eval - a function declaring a var named 'eval' throws EvalError in strict mode 243 # Invalid test case. SyntaxError should be expected instead of EvalError. 244 chapter12/12.2/12.2.1/12.2.1-1-s: FAIL 245 # eval - a function assigning into 'eval' throws EvalError in strict mode 246 # Invalid test case. SyntaxError should be expected instead of EvalError. 247 chapter12/12.2/12.2.1/12.2.1-2-s: FAIL 248 # eval - a function expr declaring a var named 'eval' throws EvalError 249 # in strict mode 250 # Invalid test case. SyntaxError should be expected instead of EvalError. 251 chapter12/12.2/12.2.1/12.2.1-3-s: FAIL 252 # eval - a function expr assigning into 'eval' throws a EvalError in strict mode 253 # Invalid test case. SyntaxError should be expected instead of EvalError. 254 chapter12/12.2/12.2.1/12.2.1-4-s: FAIL 255 # eval - a Function declaring var named 'eval' throws EvalError in strict mode 256 # Invalid test case. SyntaxError should be expected instead of EvalError. 257 chapter12/12.2/12.2.1/12.2.1-5-s: FAIL 258 # eval - a Function assigning into 'eval' throws EvalError in strict mode 259 # Invalid test case. SyntaxError should be expected instead of EvalError. 260 chapter12/12.2/12.2.1/12.2.1-6-s: FAIL 261 # eval - a direct eval declaring a var named 'eval' throws EvalError 262 # in strict mode 263 # Invalid test case. SyntaxError should be expected instead of EvalError. 264 chapter12/12.2/12.2.1/12.2.1-7-s: FAIL 265 # eval - a direct eval assigning into 'eval' throws EvalError in strict mode 266 # Invalid test case. SyntaxError should be expected instead of EvalError. 267 chapter12/12.2/12.2.1/12.2.1-8-s: FAIL 268 # eval - an indirect eval declaring a var named 'eval' throws EvalError 269 # in strict mode 270 # Invalid test case. SyntaxError should be expected instead of EvalError. 271 chapter12/12.2/12.2.1/12.2.1-9-s: FAIL 272 # eval - an indirect eval assigning into 'eval' throws EvalError in strict mode 273 # Invalid test case. SyntaxError should be expected instead of EvalError. 274 chapter12/12.2/12.2.1/12.2.1-10-s: FAIL 275 276 # SyntaxError if eval used as function identifier in function declaration 277 # with strict body 278 # Test fails to return true on success (invalid test case). 279 chapter13/13.1/13.1-3-3-s: FAIL 280 # SyntaxError if eval used as function identifier in function expression 281 # with strict body 282 # Test fails to return true on success (invalid test case). 283 chapter13/13.1/13.1-3-4-s: FAIL 284 # SyntaxError if eval used as function identifier in function declaration 285 # in strict code 286 # Test fails to return true on success (invalid test case). 287 chapter13/13.1/13.1-3-5-s: FAIL 288 # SyntaxError if eval used as function identifier in function expression 289 # in strict code 290 # Test fails to return true on success (invalid test case). 291 chapter13/13.1/13.1-3-6-s: FAIL 292 # SyntaxError if arguments used as function identifier in function declaration 293 # with strict body 294 # Test fails to return true on success (invalid test case). 295 chapter13/13.1/13.1-3-9-s: FAIL 296 # SyntaxError if arguments used as function identifier in function expression 297 # with strict body 298 # Test fails to return true on success (invalid test case). 299 chapter13/13.1/13.1-3-10-s: FAIL 300 # SyntaxError if arguments used as function identifier in function declaration 301 # in strict code 302 # Test fails to return true on success (invalid test case). 303 chapter13/13.1/13.1-3-11-s: FAIL 304 # SyntaxError if arguments used as function identifier in function expression 305 # in strict code 306 # Test fails to return true on success (invalid test case). 307 chapter13/13.1/13.1-3-12-s: FAIL 308 309 # Duplicate combined parameter name allowed in Function constructor called 310 # in strict mode if body not strict 311 # Test fails to return true on success (invalid test case). 312 chapter15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s: FAIL 313 314 # Array.prototype.reduce - null passed as thisValue to strict callbackfn 315 # Invalid test case: http://es5conform.codeplex.com/workitem/29085 316 chapter15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s: FAIL 317