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 |