Skip to content

Commit c42a029

Browse files
committed
test: add tests for this type in native-this-assignable methods
here just test part of modified methods. Testing them all isn't necessary.
1 parent 2a5a46f commit c42a029

4 files changed

+597
-0
lines changed
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
//// [thisTypeInNativeThisAssignableMethods.ts]
2+
class A {
3+
options: string[];
4+
5+
addOptions(options: string[]) {
6+
if (!this.options) {
7+
this.options = [];
8+
}
9+
options.forEach(function (item) {
10+
this.options.push(item);
11+
}, this);
12+
return this;
13+
}
14+
15+
test(options: string[]) {
16+
options.some(function (val, index) {
17+
return val === this.options[index];
18+
}, this);
19+
20+
options.filter(function (val, index) {
21+
return val === this.options[index];
22+
}, this);
23+
24+
options.every(function (val, index) {
25+
return val === this.options[index];
26+
}, this);
27+
}
28+
29+
test2(options: Int8Array) {
30+
options.some(function (val, index) {
31+
return val === this.options[index];
32+
}, this);
33+
34+
options.filter(function (val, index) {
35+
return val === this.options[index];
36+
}, this);
37+
38+
options.every(function (val, index) {
39+
return val === this.options[index];
40+
}, this);
41+
}
42+
43+
test3(options: Float32Array) {
44+
options.some(function (val, index) {
45+
return val === this.options[index];
46+
}, this);
47+
48+
options.filter(function (val, index) {
49+
return val === this.options[index];
50+
}, this);
51+
52+
options.every(function (val, index) {
53+
return val === this.options[index];
54+
}, this);
55+
}
56+
}
57+
58+
59+
//// [thisTypeInNativeThisAssignableMethods.js]
60+
var A = (function () {
61+
function A() {
62+
}
63+
A.prototype.addOptions = function (options) {
64+
if (!this.options) {
65+
this.options = [];
66+
}
67+
options.forEach(function (item) {
68+
this.options.push(item);
69+
}, this);
70+
return this;
71+
};
72+
A.prototype.test = function (options) {
73+
options.some(function (val, index) {
74+
return val === this.options[index];
75+
}, this);
76+
options.filter(function (val, index) {
77+
return val === this.options[index];
78+
}, this);
79+
options.every(function (val, index) {
80+
return val === this.options[index];
81+
}, this);
82+
};
83+
A.prototype.test2 = function (options) {
84+
options.some(function (val, index) {
85+
return val === this.options[index];
86+
}, this);
87+
options.filter(function (val, index) {
88+
return val === this.options[index];
89+
}, this);
90+
options.every(function (val, index) {
91+
return val === this.options[index];
92+
}, this);
93+
};
94+
A.prototype.test3 = function (options) {
95+
options.some(function (val, index) {
96+
return val === this.options[index];
97+
}, this);
98+
options.filter(function (val, index) {
99+
return val === this.options[index];
100+
}, this);
101+
options.every(function (val, index) {
102+
return val === this.options[index];
103+
}, this);
104+
};
105+
return A;
106+
}());
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
=== tests/cases/compiler/thisTypeInNativeThisAssignableMethods.ts ===
2+
class A {
3+
>A : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
4+
5+
options: string[];
6+
>options : Symbol(A.options, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 9))
7+
8+
addOptions(options: string[]) {
9+
>addOptions : Symbol(A.addOptions, Decl(thisTypeInNativeThisAssignableMethods.ts, 1, 22))
10+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 3, 15))
11+
12+
if (!this.options) {
13+
>this.options : Symbol(A.options, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 9))
14+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
15+
>options : Symbol(A.options, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 9))
16+
17+
this.options = [];
18+
>this.options : Symbol(A.options, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 9))
19+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
20+
>options : Symbol(A.options, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 9))
21+
}
22+
options.forEach(function (item) {
23+
>options.forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --))
24+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 3, 15))
25+
>forEach : Symbol(Array.forEach, Decl(lib.d.ts, --, --))
26+
>item : Symbol(item, Decl(thisTypeInNativeThisAssignableMethods.ts, 7, 34))
27+
28+
this.options.push(item);
29+
>item : Symbol(item, Decl(thisTypeInNativeThisAssignableMethods.ts, 7, 34))
30+
31+
}, this);
32+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
33+
34+
return this;
35+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
36+
}
37+
38+
test(options: string[]) {
39+
>test : Symbol(A.test, Decl(thisTypeInNativeThisAssignableMethods.ts, 11, 5))
40+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 13, 9))
41+
42+
options.some(function (val, index) {
43+
>options.some : Symbol(Array.some, Decl(lib.d.ts, --, --))
44+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 13, 9))
45+
>some : Symbol(Array.some, Decl(lib.d.ts, --, --))
46+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 14, 31))
47+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 14, 35))
48+
49+
return val === this.options[index];
50+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 14, 31))
51+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 14, 35))
52+
53+
}, this);
54+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
55+
56+
options.filter(function (val, index) {
57+
>options.filter : Symbol(Array.filter, Decl(lib.d.ts, --, --))
58+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 13, 9))
59+
>filter : Symbol(Array.filter, Decl(lib.d.ts, --, --))
60+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 18, 33))
61+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 18, 37))
62+
63+
return val === this.options[index];
64+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 18, 33))
65+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 18, 37))
66+
67+
}, this);
68+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
69+
70+
options.every(function (val, index) {
71+
>options.every : Symbol(Array.every, Decl(lib.d.ts, --, --))
72+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 13, 9))
73+
>every : Symbol(Array.every, Decl(lib.d.ts, --, --))
74+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 22, 32))
75+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 22, 36))
76+
77+
return val === this.options[index];
78+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 22, 32))
79+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 22, 36))
80+
81+
}, this);
82+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
83+
}
84+
85+
test2(options: Int8Array) {
86+
>test2 : Symbol(A.test2, Decl(thisTypeInNativeThisAssignableMethods.ts, 25, 5))
87+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 27, 10))
88+
>Int8Array : Symbol(Int8Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
89+
90+
options.some(function (val, index) {
91+
>options.some : Symbol(Int8Array.some, Decl(lib.d.ts, --, --))
92+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 27, 10))
93+
>some : Symbol(Int8Array.some, Decl(lib.d.ts, --, --))
94+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 28, 31))
95+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 28, 35))
96+
97+
return val === this.options[index];
98+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 28, 31))
99+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 28, 35))
100+
101+
}, this);
102+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
103+
104+
options.filter(function (val, index) {
105+
>options.filter : Symbol(Int8Array.filter, Decl(lib.d.ts, --, --))
106+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 27, 10))
107+
>filter : Symbol(Int8Array.filter, Decl(lib.d.ts, --, --))
108+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 32, 33))
109+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 32, 37))
110+
111+
return val === this.options[index];
112+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 32, 33))
113+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 32, 37))
114+
115+
}, this);
116+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
117+
118+
options.every(function (val, index) {
119+
>options.every : Symbol(Int8Array.every, Decl(lib.d.ts, --, --))
120+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 27, 10))
121+
>every : Symbol(Int8Array.every, Decl(lib.d.ts, --, --))
122+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 36, 32))
123+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 36, 36))
124+
125+
return val === this.options[index];
126+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 36, 32))
127+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 36, 36))
128+
129+
}, this);
130+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
131+
}
132+
133+
test3(options: Float32Array) {
134+
>test3 : Symbol(A.test3, Decl(thisTypeInNativeThisAssignableMethods.ts, 39, 5))
135+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 41, 10))
136+
>Float32Array : Symbol(Float32Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
137+
138+
options.some(function (val, index) {
139+
>options.some : Symbol(Float32Array.some, Decl(lib.d.ts, --, --))
140+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 41, 10))
141+
>some : Symbol(Float32Array.some, Decl(lib.d.ts, --, --))
142+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 42, 31))
143+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 42, 35))
144+
145+
return val === this.options[index];
146+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 42, 31))
147+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 42, 35))
148+
149+
}, this);
150+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
151+
152+
options.filter(function (val, index) {
153+
>options.filter : Symbol(Float32Array.filter, Decl(lib.d.ts, --, --))
154+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 41, 10))
155+
>filter : Symbol(Float32Array.filter, Decl(lib.d.ts, --, --))
156+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 46, 33))
157+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 46, 37))
158+
159+
return val === this.options[index];
160+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 46, 33))
161+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 46, 37))
162+
163+
}, this);
164+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
165+
166+
options.every(function (val, index) {
167+
>options.every : Symbol(Float32Array.every, Decl(lib.d.ts, --, --))
168+
>options : Symbol(options, Decl(thisTypeInNativeThisAssignableMethods.ts, 41, 10))
169+
>every : Symbol(Float32Array.every, Decl(lib.d.ts, --, --))
170+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 50, 32))
171+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 50, 36))
172+
173+
return val === this.options[index];
174+
>val : Symbol(val, Decl(thisTypeInNativeThisAssignableMethods.ts, 50, 32))
175+
>index : Symbol(index, Decl(thisTypeInNativeThisAssignableMethods.ts, 50, 36))
176+
177+
}, this);
178+
>this : Symbol(A, Decl(thisTypeInNativeThisAssignableMethods.ts, 0, 0))
179+
}
180+
}
181+

0 commit comments

Comments
 (0)