mirror of
https://github.com/RGBCube/serenity
synced 2025-07-05 08:47:36 +00:00
LibJS: Set name of anonymous functions during assignment
This commit is contained in:
parent
5e66f1900b
commit
25cf0da2fb
3 changed files with 56 additions and 6 deletions
|
@ -1,16 +1,44 @@
|
|||
load("test-common.js");
|
||||
|
||||
try {
|
||||
var f = function () { }
|
||||
assert(f.name === "");
|
||||
assert((f.name = "f") === "f");
|
||||
assert(f.name === "");
|
||||
assert((function () { }).name === "");
|
||||
|
||||
function foo() { }
|
||||
var foo = function () { }
|
||||
assert(foo.name === "foo");
|
||||
assert((foo.name = "bar") === "bar");
|
||||
assert(foo.name === "foo");
|
||||
|
||||
var a, b;
|
||||
a = b = function () { }
|
||||
assert(a.name === "b");
|
||||
assert(b.name === "b");
|
||||
|
||||
var arr = [
|
||||
function () { },
|
||||
function () { },
|
||||
function () { }
|
||||
];
|
||||
assert(arr[0].name === "arr");
|
||||
assert(arr[1].name === "arr");
|
||||
assert(arr[2].name === "arr");
|
||||
|
||||
var f;
|
||||
var o = { a: function () { } };
|
||||
assert(o.a.name === "a");
|
||||
f = o.a;
|
||||
assert(f.name === "a");
|
||||
assert(o.a.name === "a");
|
||||
o = { ...o, b: f };
|
||||
assert(o.a.name === "a");
|
||||
assert(o.b.name === "a");
|
||||
o.c = function () { };
|
||||
assert(o.c.name === "c");
|
||||
|
||||
function bar() { }
|
||||
assert(bar.name === "bar");
|
||||
assert((bar.name = "baz") === "baz");
|
||||
assert(bar.name === "bar");
|
||||
|
||||
assert(console.log.name === "log");
|
||||
assert((console.log.name = "warn") === "warn");
|
||||
assert(console.log.name === "log");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue