Added tests for declaration emit.

This commit is contained in:
Daniel Rosenwasser 2016-02-12 14:12:21 -08:00
parent 9e9f541e85
commit f235b85ca1
6 changed files with 68 additions and 0 deletions

View File

@ -0,0 +1,6 @@
// @declaration: true
// @module: commonjs
export function f(x: any): x is number {
return typeof x === "number";
}

View File

@ -0,0 +1,10 @@
// @declaration: true
// @module: commonjs
interface I {
a: number;
}
export function f(x: any): x is I {
return typeof x.a === "number";
}

View File

@ -0,0 +1,11 @@
// @declaration: true
// @module: commonjs
export class C {
m(): this is D {
return this instanceof D;
}
}
export class D extends C {
}

View File

@ -0,0 +1,15 @@
// @declaration: true
// @module: commonjs
export interface Foo {
a: string;
b: number;
c: boolean;
}
export const obj = {
m(): this is Foo {
let dis = this as Foo;
return dis.a != null && dis.b != null && dis.c != null;
}
}

View File

@ -0,0 +1,11 @@
// @declaration: true
// @module: commonjs
export class C {
m(): this is D {
return this instanceof D;
}
}
class D extends C {
}

View File

@ -0,0 +1,15 @@
// @declaration: true
// @module: commonjs
interface Foo {
a: string;
b: number;
c: boolean;
}
export const obj = {
m(): this is Foo {
let dis = this as Foo;
return dis.a != null && dis.b != null && dis.c != null;
}
}