| 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 |