Skip to content

Commit d5be437

Browse files
committed
Update tests
1 parent bb75552 commit d5be437

8 files changed

+157
-1
lines changed

tests/baselines/reference/issue35004.js renamed to tests/baselines/reference/assertionFunctionWildcardImport1.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//// [tests/cases/compiler/issue35004.ts] ////
1+
//// [tests/cases/compiler/assertionFunctionWildcardImport1.ts] ////
22

33
//// [ts.ts]
44
import * as Debug from "../debug";
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
//// [tests/cases/compiler/assertionFunctionWildcardImport2.ts] ////
2+
3+
//// [asserts.ts]
4+
function isNonNullable<T>(obj: T): asserts obj is NonNullable<T> {
5+
if (obj === undefined || obj === null) {
6+
throw new Error("Must not be a nullable value");
7+
}
8+
}
9+
10+
export {
11+
isNonNullable
12+
};
13+
14+
//// [test.ts]
15+
import * as asserts from "./asserts";
16+
17+
function test(obj: string | null): void {
18+
asserts.isNonNullable(obj);
19+
obj.trim();
20+
}
21+
22+
23+
//// [asserts.js]
24+
"use strict";
25+
exports.__esModule = true;
26+
exports.isNonNullable = void 0;
27+
function isNonNullable(obj) {
28+
if (obj === undefined || obj === null) {
29+
throw new Error("Must not be a nullable value");
30+
}
31+
}
32+
exports.isNonNullable = isNonNullable;
33+
//// [test.js]
34+
"use strict";
35+
exports.__esModule = true;
36+
var asserts = require("./asserts");
37+
function test(obj) {
38+
asserts.isNonNullable(obj);
39+
obj.trim();
40+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
=== tests/cases/compiler/asserts.ts ===
2+
function isNonNullable<T>(obj: T): asserts obj is NonNullable<T> {
3+
>isNonNullable : Symbol(isNonNullable, Decl(asserts.ts, 0, 0))
4+
>T : Symbol(T, Decl(asserts.ts, 0, 23))
5+
>obj : Symbol(obj, Decl(asserts.ts, 0, 26))
6+
>T : Symbol(T, Decl(asserts.ts, 0, 23))
7+
>obj : Symbol(obj, Decl(asserts.ts, 0, 26))
8+
>NonNullable : Symbol(NonNullable, Decl(lib.es5.d.ts, --, --))
9+
>T : Symbol(T, Decl(asserts.ts, 0, 23))
10+
11+
if (obj === undefined || obj === null) {
12+
>obj : Symbol(obj, Decl(asserts.ts, 0, 26))
13+
>undefined : Symbol(undefined)
14+
>obj : Symbol(obj, Decl(asserts.ts, 0, 26))
15+
16+
throw new Error("Must not be a nullable value");
17+
>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
18+
}
19+
}
20+
21+
export {
22+
isNonNullable
23+
>isNonNullable : Symbol(isNonNullable, Decl(asserts.ts, 6, 8))
24+
25+
};
26+
27+
=== tests/cases/compiler/test.ts ===
28+
import * as asserts from "./asserts";
29+
>asserts : Symbol(asserts, Decl(test.ts, 0, 6))
30+
31+
function test(obj: string | null): void {
32+
>test : Symbol(test, Decl(test.ts, 0, 37))
33+
>obj : Symbol(obj, Decl(test.ts, 2, 14))
34+
35+
asserts.isNonNullable(obj);
36+
>asserts.isNonNullable : Symbol(asserts.isNonNullable, Decl(asserts.ts, 6, 8))
37+
>asserts : Symbol(asserts, Decl(test.ts, 0, 6))
38+
>isNonNullable : Symbol(asserts.isNonNullable, Decl(asserts.ts, 6, 8))
39+
>obj : Symbol(obj, Decl(test.ts, 2, 14))
40+
41+
obj.trim();
42+
>obj.trim : Symbol(String.trim, Decl(lib.es5.d.ts, --, --))
43+
>obj : Symbol(obj, Decl(test.ts, 2, 14))
44+
>trim : Symbol(String.trim, Decl(lib.es5.d.ts, --, --))
45+
}
46+
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
=== tests/cases/compiler/asserts.ts ===
2+
function isNonNullable<T>(obj: T): asserts obj is NonNullable<T> {
3+
>isNonNullable : <T>(obj: T) => asserts obj is NonNullable<T>
4+
>obj : T
5+
6+
if (obj === undefined || obj === null) {
7+
>obj === undefined || obj === null : boolean
8+
>obj === undefined : boolean
9+
>obj : T
10+
>undefined : undefined
11+
>obj === null : boolean
12+
>obj : T & ({} | null)
13+
>null : null
14+
15+
throw new Error("Must not be a nullable value");
16+
>new Error("Must not be a nullable value") : Error
17+
>Error : ErrorConstructor
18+
>"Must not be a nullable value" : "Must not be a nullable value"
19+
}
20+
}
21+
22+
export {
23+
isNonNullable
24+
>isNonNullable : <T>(obj: T) => asserts obj is NonNullable<T>
25+
26+
};
27+
28+
=== tests/cases/compiler/test.ts ===
29+
import * as asserts from "./asserts";
30+
>asserts : typeof asserts
31+
32+
function test(obj: string | null): void {
33+
>test : (obj: string | null) => void
34+
>obj : string | null
35+
>null : null
36+
37+
asserts.isNonNullable(obj);
38+
>asserts.isNonNullable(obj) : void
39+
>asserts.isNonNullable : <T>(obj: T) => asserts obj is NonNullable<T>
40+
>asserts : typeof asserts
41+
>isNonNullable : <T>(obj: T) => asserts obj is NonNullable<T>
42+
>obj : string | null
43+
44+
obj.trim();
45+
>obj.trim() : string
46+
>obj.trim : () => string
47+
>obj : string
48+
>trim : () => string
49+
}
50+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// @strict: true
2+
3+
// @filename: asserts.ts
4+
function isNonNullable<T>(obj: T): asserts obj is NonNullable<T> {
5+
if (obj === undefined || obj === null) {
6+
throw new Error("Must not be a nullable value");
7+
}
8+
}
9+
10+
export {
11+
isNonNullable
12+
};
13+
14+
// @filename: test.ts
15+
import * as asserts from "./asserts";
16+
17+
function test(obj: string | null): void {
18+
asserts.isNonNullable(obj);
19+
obj.trim();
20+
}

0 commit comments

Comments
 (0)