1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- test("normal methods named get and set", () => {
- let o = {
- get() {
- return 5;
- },
- set() {
- return 10;
- },
- };
- expect(o.get()).toBe(5);
- expect(o.set()).toBe(10);
- });
- test("basic get and set", () => {
- let o = {
- get x() {
- return 5;
- },
- set x(_) {},
- };
- expect(o.x).toBe(5);
- o.x = 10;
- expect(o.x).toBe(5);
- });
- test("get and set with 'this'", () => {
- let o = {
- get x() {
- return this._x + 1;
- },
- set x(value) {
- this._x = value + 1;
- },
- };
- expect(o.x).toBeNaN();
- o.x = 10;
- expect(o.x).toBe(12);
- o.x = 20;
- expect(o.x).toBe(22);
- });
- test("multiple getters", () => {
- let o = {
- get x() {
- return 5;
- },
- get x() {
- return 10;
- },
- };
- expect(o.x).toBe(10);
- });
- test("setter return value", () => {
- o = {
- set x(value) {
- return 10;
- },
- };
- expect((o.x = 20)).toBe(20);
- });
|