From 5780494ddbde0b4d825dc3bda6c08e79beaf736a Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Tue, 13 Jun 2017 11:50:46 -0700 Subject: [PATCH] Test:declaration emit of optional parameter props --- .../declarationEmitParameterProperty.js | 24 +++++++++++++++++++ .../declarationEmitParameterProperty.symbols | 9 +++++++ .../declarationEmitParameterProperty.types | 9 +++++++ tests/baselines/reference/optionalMethods.js | 4 ++-- .../declarationEmitParameterProperty.ts | 6 +++++ 5 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/declarationEmitParameterProperty.js create mode 100644 tests/baselines/reference/declarationEmitParameterProperty.symbols create mode 100644 tests/baselines/reference/declarationEmitParameterProperty.types create mode 100644 tests/cases/compiler/declarationEmitParameterProperty.ts diff --git a/tests/baselines/reference/declarationEmitParameterProperty.js b/tests/baselines/reference/declarationEmitParameterProperty.js new file mode 100644 index 00000000000..262222e3c68 --- /dev/null +++ b/tests/baselines/reference/declarationEmitParameterProperty.js @@ -0,0 +1,24 @@ +//// [declarationEmitParameterProperty.ts] +export class Foo { + constructor(public bar?: string) { + } +} + + +//// [declarationEmitParameterProperty.js] +"use strict"; +exports.__esModule = true; +var Foo = (function () { + function Foo(bar) { + this.bar = bar; + } + return Foo; +}()); +exports.Foo = Foo; + + +//// [declarationEmitParameterProperty.d.ts] +export declare class Foo { + bar: string | undefined; + constructor(bar?: string | undefined); +} diff --git a/tests/baselines/reference/declarationEmitParameterProperty.symbols b/tests/baselines/reference/declarationEmitParameterProperty.symbols new file mode 100644 index 00000000000..d9e88e52cb0 --- /dev/null +++ b/tests/baselines/reference/declarationEmitParameterProperty.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/declarationEmitParameterProperty.ts === +export class Foo { +>Foo : Symbol(Foo, Decl(declarationEmitParameterProperty.ts, 0, 0)) + + constructor(public bar?: string) { +>bar : Symbol(Foo.bar, Decl(declarationEmitParameterProperty.ts, 1, 14)) + } +} + diff --git a/tests/baselines/reference/declarationEmitParameterProperty.types b/tests/baselines/reference/declarationEmitParameterProperty.types new file mode 100644 index 00000000000..3adfecf0c75 --- /dev/null +++ b/tests/baselines/reference/declarationEmitParameterProperty.types @@ -0,0 +1,9 @@ +=== tests/cases/compiler/declarationEmitParameterProperty.ts === +export class Foo { +>Foo : Foo + + constructor(public bar?: string) { +>bar : string | undefined + } +} + diff --git a/tests/baselines/reference/optionalMethods.js b/tests/baselines/reference/optionalMethods.js index d219466c562..2abcd209277 100644 --- a/tests/baselines/reference/optionalMethods.js +++ b/tests/baselines/reference/optionalMethods.js @@ -131,12 +131,12 @@ interface Foo { } declare function test1(x: Foo): void; declare class Bar { - d: number; + d: number | undefined; e: number; a: number; b?: number; c?: number | undefined; - constructor(d?: number, e?: number); + constructor(d?: number | undefined, e?: number); f(): number; g?(): number; h?(): number; diff --git a/tests/cases/compiler/declarationEmitParameterProperty.ts b/tests/cases/compiler/declarationEmitParameterProperty.ts new file mode 100644 index 00000000000..107d192fe88 --- /dev/null +++ b/tests/cases/compiler/declarationEmitParameterProperty.ts @@ -0,0 +1,6 @@ +// @strictNullChecks: true +// @declaration: true +export class Foo { + constructor(public bar?: string) { + } +}