2019-06-19 22:38:30 +02:00
|
|
|
// Copyright (C) 2019 Alexey Shvayka. All rights reserved.
|
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
|
|
esid: prod-ClassExpression
|
|
|
|
description: >
|
|
|
|
ClassExpression should directly set [[Prototype]] internal slot.
|
|
|
|
info: |
|
|
|
|
ClassDefinitionEvaluation
|
|
|
|
|
|
|
|
[...]
|
|
|
|
7. Let proto be ObjectCreate(protoParent).
|
|
|
|
|
|
|
|
ObjectCreate ( proto [ , internalSlotsList ] )
|
|
|
|
|
|
|
|
[...]
|
|
|
|
4. Set obj.[[Prototype]] to proto.
|
2020-10-01 00:52:36 +02:00
|
|
|
features: [class, __proto__]
|
2019-06-19 22:38:30 +02:00
|
|
|
---*/
|
|
|
|
|
|
|
|
Object.defineProperty(Object.prototype, '__proto__', {
|
|
|
|
set: function() {
|
|
|
|
throw new Test262Error('should not be called');
|
|
|
|
},
|
|
|
|
});
|
|
|
|
|
|
|
|
var A = class extends Array {};
|
|
|
|
|
|
|
|
assert.sameValue(new A(1).length, 1);
|