diff options
Diffstat (limited to 'js/src/tests/ecma_6/Class/methodName.js')
-rw-r--r-- | js/src/tests/ecma_6/Class/methodName.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Class/methodName.js b/js/src/tests/ecma_6/Class/methodName.js new file mode 100644 index 000000000..02a726c10 --- /dev/null +++ b/js/src/tests/ecma_6/Class/methodName.js @@ -0,0 +1,40 @@ +class TestClass { + get getter() { } + set setter(x) { } + method() { } + + static get staticGetter() { } + static set staticSetter(x) { } + static staticMethod() { } + + get 1() { } + set 2(v) { } + 3() { } + + static get 4() { } + static set 5(x) { } + static 6() { } +} + +function name(obj, property, get) { + let desc = Object.getOwnPropertyDescriptor(obj, property); + return (get ? desc.get : desc.set).name; +} + +assertEq(name(TestClass.prototype, "getter", true), "get getter"); +assertEq(name(TestClass.prototype, "setter", false), "set setter"); +assertEq(TestClass.prototype.method.name, "method"); + +assertEq(name(TestClass, "staticGetter", true), "get staticGetter"); +assertEq(name(TestClass, "staticSetter", false), "set staticSetter"); +assertEq(TestClass.staticMethod.name, "staticMethod"); + +assertEq(name(TestClass.prototype, "1", true), "get 1"); +assertEq(name(TestClass.prototype, "2", false), "set 2"); +assertEq(TestClass.prototype[3].name, "3"); + +assertEq(name(TestClass, "4", true), "get 4"); +assertEq(name(TestClass, "5", false), "set 5"); +assertEq(TestClass[6].name, "6"); + +reportCompare(true, true); |