diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js')
-rw-r--r-- | js/src/tests/test262/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js b/js/src/tests/test262/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js new file mode 100644 index 0000000000..ff9e645151 --- /dev/null +++ b/js/src/tests/test262/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js @@ -0,0 +1,27 @@ +// 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-bound-function-exotic-objects-construct-argumentslist-newtarget +description: > + The NewTarget value is changed to the target function when the bound function + object is constructed using the `new` operator +info: | + [...] + 5. If SameValue(F, newTarget) is true, let newTarget be target. + 6. Return ? Construct(target, args, newTarget). +features: [new.target] +---*/ + +var newTarget; +function A() { + newTarget = new.target; +} +var B = A.bind(); +var C = B.bind(); + +var c = new C(); + +assert.sameValue(newTarget, A); +assert.sameValue(Object.getPrototypeOf(c), A.prototype); + +reportCompare(0, 0); |