Add tests

This commit is contained in:
Anders Hejlsberg 2017-06-11 14:54:46 -07:00
parent f81925992c
commit a74b790ed5
4 changed files with 111 additions and 0 deletions

View file

@ -0,0 +1,17 @@
//// [neverUnionIntersection.ts]
type T01 = string | never;
type T02 = string & never;
type T03 = string | number | never;
type T04 = string & number & never;
type T05 = any | never;
type T06 = any & never;
type T07 = undefined | never;
type T08 = undefined & never;
type T09 = null | never;
type T10 = null & never;
type T11 = { a: string } | never;
type T12 = { a: string } & never;
//// [neverUnionIntersection.js]
"use strict";

View file

@ -0,0 +1,39 @@
=== tests/cases/conformance/types/never/neverUnionIntersection.ts ===
type T01 = string | never;
>T01 : Symbol(T01, Decl(neverUnionIntersection.ts, 0, 0))
type T02 = string & never;
>T02 : Symbol(T02, Decl(neverUnionIntersection.ts, 0, 26))
type T03 = string | number | never;
>T03 : Symbol(T03, Decl(neverUnionIntersection.ts, 1, 26))
type T04 = string & number & never;
>T04 : Symbol(T04, Decl(neverUnionIntersection.ts, 2, 35))
type T05 = any | never;
>T05 : Symbol(T05, Decl(neverUnionIntersection.ts, 3, 35))
type T06 = any & never;
>T06 : Symbol(T06, Decl(neverUnionIntersection.ts, 4, 23))
type T07 = undefined | never;
>T07 : Symbol(T07, Decl(neverUnionIntersection.ts, 5, 23))
type T08 = undefined & never;
>T08 : Symbol(T08, Decl(neverUnionIntersection.ts, 6, 29))
type T09 = null | never;
>T09 : Symbol(T09, Decl(neverUnionIntersection.ts, 7, 29))
type T10 = null & never;
>T10 : Symbol(T10, Decl(neverUnionIntersection.ts, 8, 24))
type T11 = { a: string } | never;
>T11 : Symbol(T11, Decl(neverUnionIntersection.ts, 9, 24))
>a : Symbol(a, Decl(neverUnionIntersection.ts, 10, 12))
type T12 = { a: string } & never;
>T12 : Symbol(T12, Decl(neverUnionIntersection.ts, 10, 33))
>a : Symbol(a, Decl(neverUnionIntersection.ts, 11, 12))

View file

@ -0,0 +1,41 @@
=== tests/cases/conformance/types/never/neverUnionIntersection.ts ===
type T01 = string | never;
>T01 : string
type T02 = string & never;
>T02 : never
type T03 = string | number | never;
>T03 : T03
type T04 = string & number & never;
>T04 : never
type T05 = any | never;
>T05 : any
type T06 = any & never;
>T06 : never
type T07 = undefined | never;
>T07 : undefined
type T08 = undefined & never;
>T08 : never
type T09 = null | never;
>T09 : null
>null : null
type T10 = null & never;
>T10 : never
>null : null
type T11 = { a: string } | never;
>T11 : { a: string; }
>a : string
type T12 = { a: string } & never;
>T12 : never
>a : string

View file

@ -0,0 +1,14 @@
// @strict: true
type T01 = string | never;
type T02 = string & never;
type T03 = string | number | never;
type T04 = string & number & never;
type T05 = any | never;
type T06 = any & never;
type T07 = undefined | never;
type T08 = undefined & never;
type T09 = null | never;
type T10 = null & never;
type T11 = { a: string } | never;
type T12 = { a: string } & never;