blob: edde690556f94e03735d4d1c77bfa5f2f2534859 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
var BUGNUMBER = 883377;
var summary = "Anonymous class with name method shouldn't be affected by assignment";
print(BUGNUMBER + ": " + summary);
var classWithStaticNameMethod = class { static name() {} };
assertEq(typeof classWithStaticNameMethod.name, "function");
var classWithStaticNameGetter = class { static get name() { return "static name"; } };
assertEq(typeof Object.getOwnPropertyDescriptor(classWithStaticNameGetter, "name").get, "function");
assertEq(classWithStaticNameGetter.name, "static name");
var classWithStaticNameSetter = class { static set name(v) {} };
assertEq(typeof Object.getOwnPropertyDescriptor(classWithStaticNameSetter, "name").set, "function");
var n = "NAME".toLowerCase();
var classWithStaticNameMethodComputed = class { static [n]() {} };
assertEq(typeof classWithStaticNameMethodComputed.name, "function");
// It doesn't apply for non-static method.
var classWithNameMethod = class { name() {} };
assertEq(classWithNameMethod.name, "classWithNameMethod");
var classWithNameGetter = class { get name() { return "name"; } };
assertEq(classWithNameGetter.name, "classWithNameGetter");
var classWithNameSetter = class { set name(v) {} };
assertEq(classWithNameSetter.name, "classWithNameSetter");
if (typeof reportCompare === "function")
reportCompare(0, 0);
|