2016-10-24 19:43:17 +02:00
|
|
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
|
|
esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget
|
|
|
|
description: >
|
2018-02-12 00:04:22 +01:00
|
|
|
Error when derived constructor does not initialize the `this` binding
|
2016-10-24 19:43:17 +02:00
|
|
|
(honoring the Realm of the current execution context)
|
|
|
|
info: |
|
|
|
|
[...]
|
|
|
|
15. Return ? envRec.GetThisBinding().
|
|
|
|
|
|
|
|
8.1.1.3.4 GetThisBinding ()
|
|
|
|
|
|
|
|
[...]
|
|
|
|
3. If envRec.[[ThisBindingStatus]] is "uninitialized", throw a ReferenceError
|
|
|
|
exception.
|
2017-09-22 20:14:06 +02:00
|
|
|
features: [cross-realm, class]
|
2016-10-24 19:43:17 +02:00
|
|
|
---*/
|
|
|
|
|
2017-03-01 22:34:15 +01:00
|
|
|
var C = $262.createRealm().global.eval(
|
2017-02-07 17:10:56 +01:00
|
|
|
'(class C extends Object {' +
|
2016-10-24 19:43:17 +02:00
|
|
|
' constructor() {}' +
|
2017-02-07 17:10:56 +01:00
|
|
|
'});'
|
2016-10-24 19:43:17 +02:00
|
|
|
);
|
|
|
|
|
|
|
|
assert.throws(ReferenceError, function() {
|
|
|
|
new C();
|
|
|
|
});
|