ladybird/Libraries/LibJS/Tests/functions/function-name.js
2020-07-06 23:40:35 +02:00

45 lines
1 KiB
JavaScript

load("test-common.js");
try {
assert(function () {}.name === "");
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");
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e);
}