0a0ad98a5a
Implement WrappedFunction properties name/length. Bug: v8:11989 Change-Id: I050af5814537552ef6c2077802ffc726f2e08fa3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3507201 Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Chengzhong Wu <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#79628}
26 lines
752 B
JavaScript
26 lines
752 B
JavaScript
// Copyright 2022 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Flags: --harmony-shadow-realm
|
|
|
|
const shadowRealm = new ShadowRealm();
|
|
|
|
// bind
|
|
var wrapped = shadowRealm.evaluate('function foo(bar, quz) {}; foo');
|
|
assertEquals(wrapped.name, 'foo');
|
|
assertEquals(wrapped.length, 2);
|
|
|
|
var bound = wrapped.bind(undefined, 'bar');
|
|
assertEquals(bound.name, 'bound foo');
|
|
assertEquals(bound.length, 1);
|
|
|
|
// proxy
|
|
var wrapped = shadowRealm.evaluate('function foo(bar, quz) {}; foo');
|
|
assertEquals(wrapped.name, 'foo');
|
|
assertEquals(wrapped.length, 2);
|
|
|
|
var proxy = new Proxy(wrapped, {});
|
|
assertEquals(proxy.name, 'foo');
|
|
assertEquals(proxy.length, 2);
|