OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --stack-size=100 --harmony | 5 // Flags: --stack-size=100 --harmony |
6 // Flags: --harmony-simd | |
7 | 6 |
8 function test(f, expected, type) { | 7 function test(f, expected, type) { |
9 try { | 8 try { |
10 f(); | 9 f(); |
11 } catch (e) { | 10 } catch (e) { |
12 assertInstanceof(e, type); | 11 assertInstanceof(e, type); |
13 assertEquals(expected, e.message); | 12 assertEquals(expected, e.message); |
14 return; | 13 return; |
15 } | 14 } |
16 assertUnreachable("Exception expected"); | 15 assertUnreachable("Exception expected"); |
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 // kSymbolToString | 312 // kSymbolToString |
314 test(function() { | 313 test(function() { |
315 "" + Symbol(); | 314 "" + Symbol(); |
316 }, "Cannot convert a Symbol value to a string", TypeError); | 315 }, "Cannot convert a Symbol value to a string", TypeError); |
317 | 316 |
318 // kSymbolToNumber | 317 // kSymbolToNumber |
319 test(function() { | 318 test(function() { |
320 1 + Symbol(); | 319 1 + Symbol(); |
321 }, "Cannot convert a Symbol value to a number", TypeError); | 320 }, "Cannot convert a Symbol value to a number", TypeError); |
322 | 321 |
323 // kSimdToNumber | |
324 test(function() { | |
325 1 + SIMD.Float32x4(1, 2, 3, 4); | |
326 }, "Cannot convert a SIMD value to a number", TypeError); | |
327 | |
328 // kUndefinedOrNullToObject | 322 // kUndefinedOrNullToObject |
329 test(function() { | 323 test(function() { |
330 Array.prototype.toString.call(null); | 324 Array.prototype.toString.call(null); |
331 }, "Cannot convert undefined or null to object", TypeError); | 325 }, "Cannot convert undefined or null to object", TypeError); |
332 | 326 |
333 // kValueAndAccessor | 327 // kValueAndAccessor |
334 test(function() { | 328 test(function() { |
335 Object.defineProperty({}, "x", { get: function(){}, value: 1}); | 329 Object.defineProperty({}, "x", { get: function(){}, value: 1}); |
336 }, "Invalid property descriptor. Cannot both specify accessors " + | 330 }, "Invalid property descriptor. Cannot both specify accessors " + |
337 "and a value or writable attribute, #<Object>", TypeError); | 331 "and a value or writable attribute, #<Object>", TypeError); |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 Number(1).toString(100); | 444 Number(1).toString(100); |
451 }, "toString() radix argument must be between 2 and 36", RangeError); | 445 }, "toString() radix argument must be between 2 and 36", RangeError); |
452 | 446 |
453 | 447 |
454 // === URIError === | 448 // === URIError === |
455 | 449 |
456 // kURIMalformed | 450 // kURIMalformed |
457 test(function() { | 451 test(function() { |
458 decodeURI("%%"); | 452 decodeURI("%%"); |
459 }, "URI malformed", URIError); | 453 }, "URI malformed", URIError); |
OLD | NEW |