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 |