Skip to content

Commit 4339c9a

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 4339c9a

File tree

4 files changed

+613
-0
lines changed

4 files changed

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

0 commit comments

Comments
 (0)