| 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: --allow-natives-syntax --harmony-reflect --harmony-regexp-subclass | 5 // Flags: --allow-natives-syntax --harmony-regexp-subclass |
| 6 // Flags: --expose-gc | 6 // Flags: --expose-gc |
| 7 | 7 |
| 8 "use strict"; | 8 "use strict"; |
| 9 | 9 |
| 10 | 10 |
| 11 function checkPrototypeChain(object, constructors) { | 11 function checkPrototypeChain(object, constructors) { |
| 12 var proto = object.__proto__; | 12 var proto = object.__proto__; |
| 13 for (var i = 0; i < constructors.length; i++) { | 13 for (var i = 0; i < constructors.length; i++) { |
| 14 assertEquals(constructors[i].prototype, proto); | 14 assertEquals(constructors[i].prototype, proto); |
| 15 assertEquals(constructors[i], proto.constructor); | 15 assertEquals(constructors[i], proto.constructor); |
| (...skipping 900 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 916 | 916 |
| 917 Object.defineProperty(pattern, Symbol.match, { | 917 Object.defineProperty(pattern, Symbol.match, { |
| 918 get() { log.push("match"); f.prototype = p2; return false; }}); | 918 get() { log.push("match"); f.prototype = p2; return false; }}); |
| 919 | 919 |
| 920 var o = Reflect.construct(RegExp, [pattern], f); | 920 var o = Reflect.construct(RegExp, [pattern], f); |
| 921 assertEquals(["match", "tostring"], log); | 921 assertEquals(["match", "tostring"], log); |
| 922 assertEquals(/biep/, o); | 922 assertEquals(/biep/, o); |
| 923 assertTrue(o.__proto__ === p2); | 923 assertTrue(o.__proto__ === p2); |
| 924 assertTrue(f.prototype === p3); | 924 assertTrue(f.prototype === p3); |
| 925 })(); | 925 })(); |
| OLD | NEW |