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 --harmony-reflect --harmony-arrays | 5 // Flags: --stack-size=100 --harmony --harmony-reflect --harmony-arrays |
6 // Flags: --harmony-regexps --strong-mode | 6 // Flags: --harmony-regexps --harmony-simd --strong-mode |
7 | 7 |
8 function test(f, expected, type) { | 8 function test(f, expected, type) { |
9 try { | 9 try { |
10 f(); | 10 f(); |
11 } catch (e) { | 11 } catch (e) { |
12 assertInstanceof(e, type); | 12 assertInstanceof(e, type); |
13 assertEquals(expected, e.message); | 13 assertEquals(expected, e.message); |
14 return; | 14 return; |
15 } | 15 } |
16 assertUnreachable("Exception expected"); | 16 assertUnreachable("Exception expected"); |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 // kSymbolToString | 316 // kSymbolToString |
317 test(function() { | 317 test(function() { |
318 "" + Symbol(); | 318 "" + Symbol(); |
319 }, "Cannot convert a Symbol value to a string", TypeError); | 319 }, "Cannot convert a Symbol value to a string", TypeError); |
320 | 320 |
321 // kSymbolToNumber | 321 // kSymbolToNumber |
322 test(function() { | 322 test(function() { |
323 1 + Symbol(); | 323 1 + Symbol(); |
324 }, "Cannot convert a Symbol value to a number", TypeError); | 324 }, "Cannot convert a Symbol value to a number", TypeError); |
325 | 325 |
| 326 // kSimdToNumber |
| 327 test(function() { |
| 328 1 + SIMD.float32x4(1, 2, 3, 4); |
| 329 }, "Cannot convert a SIMD value to a number", TypeError); |
| 330 |
326 // kUndefinedOrNullToObject | 331 // kUndefinedOrNullToObject |
327 test(function() { | 332 test(function() { |
328 Array.prototype.toString.call(null); | 333 Array.prototype.toString.call(null); |
329 }, "Cannot convert undefined or null to object", TypeError); | 334 }, "Cannot convert undefined or null to object", TypeError); |
330 | 335 |
331 // kValueAndAccessor | 336 // kValueAndAccessor |
332 test(function() { | 337 test(function() { |
333 Object.defineProperty({}, "x", { get: function(){}, value: 1}); | 338 Object.defineProperty({}, "x", { get: function(){}, value: 1}); |
334 }, "Invalid property. A property cannot both have accessors and be " + | 339 }, "Invalid property. A property cannot both have accessors and be " + |
335 "writable or have a value, #<Object>", TypeError); | 340 "writable or have a value, #<Object>", TypeError); |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 Number(1).toString(100); | 467 Number(1).toString(100); |
463 }, "toString() radix argument must be between 2 and 36", RangeError); | 468 }, "toString() radix argument must be between 2 and 36", RangeError); |
464 | 469 |
465 | 470 |
466 // === URIError === | 471 // === URIError === |
467 | 472 |
468 // kURIMalformed | 473 // kURIMalformed |
469 test(function() { | 474 test(function() { |
470 decodeURI("%%"); | 475 decodeURI("%%"); |
471 }, "URI malformed", URIError); | 476 }, "URI malformed", URIError); |
OLD | NEW |