| 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-regexps |
| 6 // Flags: --harmony-regexps --harmony-simd --strong-mode | 6 // Flags: --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 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 "use strict"; | 301 "use strict"; |
| 302 (1).a = 1; | 302 (1).a = 1; |
| 303 }, "Cannot assign to read only property 'a' of 1", TypeError); | 303 }, "Cannot assign to read only property 'a' of 1", TypeError); |
| 304 | 304 |
| 305 // kStrongImplicitCast | 305 // kStrongImplicitCast |
| 306 test(function() { | 306 test(function() { |
| 307 "use strong"; | 307 "use strong"; |
| 308 "a" + 1; | 308 "a" + 1; |
| 309 }, "In strong mode, implicit conversions are deprecated", TypeError); | 309 }, "In strong mode, implicit conversions are deprecated", TypeError); |
| 310 | 310 |
| 311 // kSymbolToPrimitive | |
| 312 test(function() { | |
| 313 1 + Object(Symbol()); | |
| 314 }, "Cannot convert a Symbol wrapper object to a primitive value", TypeError); | |
| 315 | |
| 316 // kSymbolToString | 311 // kSymbolToString |
| 317 test(function() { | 312 test(function() { |
| 318 "" + Symbol(); | 313 "" + Symbol(); |
| 319 }, "Cannot convert a Symbol value to a string", TypeError); | 314 }, "Cannot convert a Symbol value to a string", TypeError); |
| 320 | 315 |
| 321 // kSymbolToNumber | 316 // kSymbolToNumber |
| 322 test(function() { | 317 test(function() { |
| 323 1 + Symbol(); | 318 1 + Symbol(); |
| 324 }, "Cannot convert a Symbol value to a number", TypeError); | 319 }, "Cannot convert a Symbol value to a number", TypeError); |
| 325 | 320 |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 Number(1).toString(100); | 462 Number(1).toString(100); |
| 468 }, "toString() radix argument must be between 2 and 36", RangeError); | 463 }, "toString() radix argument must be between 2 and 36", RangeError); |
| 469 | 464 |
| 470 | 465 |
| 471 // === URIError === | 466 // === URIError === |
| 472 | 467 |
| 473 // kURIMalformed | 468 // kURIMalformed |
| 474 test(function() { | 469 test(function() { |
| 475 decodeURI("%%"); | 470 decodeURI("%%"); |
| 476 }, "URI malformed", URIError); | 471 }, "URI malformed", URIError); |
| OLD | NEW |