v8/test/mjsunit/function-bind-name.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

17 lines
449 B
JavaScript
Raw Normal View History

Revert of Revert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium.org/1225793002/) Reason for revert: This will prevent rolls. Fixing the root issue instead. Original issue's description: > Revert of [es6] Bound function names (patchset #1 id:1 of https://codereview.chromium.org/1195983002/) > > Reason for revert: > Incorrect behavior > > Original issue's description: > > [es6] Bound function names > > > > https://people.mozilla.org/~jorendorff/es6-draft.html#sec-function.prototype.bind > > > > Bound functions should have a name based on the function that was > > bound. > > > > This reverts the revert f2747ed9b48d0e62c7a30da69825ff926aeedbd2. The original > > CL was reverted because the Blink layout test broke. I have a CL that disables > > these tests at: https://codereview.chromium.org/1196753003/ > > > > BUG=N > > LOG=N > > R=adamk > > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel > > > > Committed: https://crrev.com/b6d950c979f4348138de0ec54e40dcc48d833926 > > Cr-Commit-Position: refs/heads/master@{#29193} > > TBR=adamk@chromium.org,verwaest@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=N > > Committed: https://crrev.com/744e4d4fd9316674682bc6ca30ded5866494cc1c > Cr-Commit-Position: refs/heads/master@{#29495} TBR=adamk@chromium.org,verwaest@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=N Review URL: https://codereview.chromium.org/1222363002 Cr-Commit-Position: refs/heads/master@{#29497}
2015-07-06 16:20:35 +00:00
// Copyright 2015 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.
function f() {}
var fb = f.bind({});
assertEquals('bound f', fb.name);
Object.defineProperty(f, 'name', {value: 42});
var fb2 = f.bind({});
assertEquals('bound ', fb2.name);
function g() {}
var gb = g.bind({});
assertEquals('bound g', gb.name);
assertEquals('bound f', fb.name);