blob: bbd05cc355d4cfffcc3edc8d7b0adbb60d032bab [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// Copyright 2015 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00005
6(function Method() {
7 class C {
8 eval() {
9 return 1;
10 }
11 arguments() {
12 return 2;
13 }
14 static eval() {
15 return 3;
16 }
17 static arguments() {
18 return 4;
19 }
20 };
21
22 assertEquals(1, new C().eval());
23 assertEquals(2, new C().arguments());
24 assertEquals(3, C.eval());
25 assertEquals(4, C.arguments());
26})();
27
28
29(function Getters() {
30 class C {
31 get eval() {
32 return 1;
33 }
34 get arguments() {
35 return 2;
36 }
37 static get eval() {
38 return 3;
39 }
40 static get arguments() {
41 return 4;
42 }
43 };
44
45 assertEquals(1, new C().eval);
46 assertEquals(2, new C().arguments);
47 assertEquals(3, C.eval);
48 assertEquals(4, C.arguments);
49})();
50
51
52(function Setters() {
53 var x = 0;
54 class C {
55 set eval(v) {
56 x = v;
57 }
58 set arguments(v) {
59 x = v;
60 }
61 static set eval(v) {
62 x = v;
63 }
64 static set arguments(v) {
65 x = v;
66 }
67 };
68
69 new C().eval = 1;
70 assertEquals(1, x);
71 new C().arguments = 2;
72 assertEquals(2, x);
73 C.eval = 3;
74 assertEquals(3, x);
75 C.arguments = 4;
76 assertEquals(4, x);
77})();