| 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-regexps | 5 // Flags: --stack-size=100 --harmony --harmony-reflect --harmony-regexps |
| 6 // Flags: --harmony-simd | 6 // Flags: --harmony-simd --harmony-instanceof |
| 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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 | 143 |
| 144 // kIncompatibleMethodReceiver | 144 // kIncompatibleMethodReceiver |
| 145 test(function() { | 145 test(function() { |
| 146 Set.prototype.add.call([]); | 146 Set.prototype.add.call([]); |
| 147 }, "Method Set.prototype.add called on incompatible receiver [object Array]", | 147 }, "Method Set.prototype.add called on incompatible receiver [object Array]", |
| 148 TypeError); | 148 TypeError); |
| 149 | 149 |
| 150 // kInstanceofFunctionExpected | 150 // kInstanceofFunctionExpected |
| 151 test(function() { | 151 test(function() { |
| 152 1 instanceof 1; | 152 1 instanceof 1; |
| 153 }, "Expecting an object in instanceof check", TypeError); | 153 }, "right-hand side is not an object", TypeError); |
| 154 | 154 |
| 155 // kInstanceofNonobjectProto | 155 // kInstanceofNonobjectProto |
| 156 test(function() { | 156 test(function() { |
| 157 function f() {} | 157 function f() {} |
| 158 var o = new f(); | 158 var o = new f(); |
| 159 f.prototype = 1; | 159 f.prototype = 1; |
| 160 o instanceof f; | 160 o instanceof f; |
| 161 }, "Function has non-object prototype '1' in instanceof check", TypeError); | 161 }, "Function has non-object prototype '1' in instanceof check", TypeError); |
| 162 | 162 |
| 163 // kInvalidInOperatorUse | 163 // kInvalidInOperatorUse |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 Number(1).toString(100); | 445 Number(1).toString(100); |
| 446 }, "toString() radix argument must be between 2 and 36", RangeError); | 446 }, "toString() radix argument must be between 2 and 36", RangeError); |
| 447 | 447 |
| 448 | 448 |
| 449 // === URIError === | 449 // === URIError === |
| 450 | 450 |
| 451 // kURIMalformed | 451 // kURIMalformed |
| 452 test(function() { | 452 test(function() { |
| 453 decodeURI("%%"); | 453 decodeURI("%%"); |
| 454 }, "URI malformed", URIError); | 454 }, "URI malformed", URIError); |
| OLD | NEW |