From de9893d004f8005031b36fda843b84bfc2bd4e65 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Thu, 5 May 2016 17:24:53 -0700 Subject: [PATCH 1/2] Add tests and update baselines --- .../reference/decoratorOnClassConstructor3.js | 58 +++++++++++++++++++ .../decoratorOnClassConstructor3.symbols | 32 ++++++++++ .../decoratorOnClassConstructor3.types | 33 +++++++++++ .../decoratorOnClassConstructor3.ts | 18 ++++++ 4 files changed, 141 insertions(+) create mode 100644 tests/baselines/reference/decoratorOnClassConstructor3.js create mode 100644 tests/baselines/reference/decoratorOnClassConstructor3.symbols create mode 100644 tests/baselines/reference/decoratorOnClassConstructor3.types create mode 100644 tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.js b/tests/baselines/reference/decoratorOnClassConstructor3.js new file mode 100644 index 0000000000000..a05a2aeb87fe2 --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor3.js @@ -0,0 +1,58 @@ +//// [tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts] //// + +//// [0.ts] + +export class base { } +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } + +//// [2.ts] +import {base} from "./0.ts" +import {foo} from "./0.ts" + +/* Comment on the Class Declaration */ +export class C extends base{ + constructor(@foo prop: any) { + super(); + } +} + +//// [0.js] +"use strict"; +var base = (function () { + function base() { + } + return base; +}()); +exports.base = base; +function foo(target, propertyKey, parameterIndex) { } +exports.foo = foo; +//// [2.js] +"use strict"; +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _0_ts_1 = require("./0.ts"); +var _0_ts_2 = require("./0.ts"); +/* Comment on the Class Declaration */ +var C = (function (_super) { + __extends(C, _super); + function C(prop) { + _super.call(this); + } + return C; +}(_0_ts_1.base)); +C = __decorate([ + __param(0, _0_ts_2.foo) +], C); +exports.C = C; diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.symbols b/tests/baselines/reference/decoratorOnClassConstructor3.symbols new file mode 100644 index 0000000000000..f53116ba15785 --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor3.symbols @@ -0,0 +1,32 @@ +=== tests/cases/conformance/decorators/class/constructor/0.ts === + +export class base { } +>base : Symbol(base, Decl(0.ts, 0, 0)) + +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } +>foo : Symbol(foo, Decl(0.ts, 1, 21)) +>target : Symbol(target, Decl(0.ts, 2, 20)) +>Object : Symbol(Object, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>propertyKey : Symbol(propertyKey, Decl(0.ts, 2, 35)) +>parameterIndex : Symbol(parameterIndex, Decl(0.ts, 2, 65)) + +=== tests/cases/conformance/decorators/class/constructor/2.ts === +import {base} from "./0.ts" +>base : Symbol(base, Decl(2.ts, 0, 8)) + +import {foo} from "./0.ts" +>foo : Symbol(foo, Decl(2.ts, 1, 8)) + +/* Comment on the Class Declaration */ +export class C extends base{ +>C : Symbol(C, Decl(2.ts, 1, 26)) +>base : Symbol(base, Decl(2.ts, 0, 8)) + + constructor(@foo prop: any) { +>foo : Symbol(foo, Decl(2.ts, 1, 8)) +>prop : Symbol(prop, Decl(2.ts, 5, 16)) + + super(); +>super : Symbol(base, Decl(0.ts, 0, 0)) + } +} diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.types b/tests/baselines/reference/decoratorOnClassConstructor3.types new file mode 100644 index 0000000000000..12075267511d8 --- /dev/null +++ b/tests/baselines/reference/decoratorOnClassConstructor3.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/decorators/class/constructor/0.ts === + +export class base { } +>base : base + +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void +>target : Object +>Object : Object +>propertyKey : string | symbol +>parameterIndex : number + +=== tests/cases/conformance/decorators/class/constructor/2.ts === +import {base} from "./0.ts" +>base : typeof base + +import {foo} from "./0.ts" +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void + +/* Comment on the Class Declaration */ +export class C extends base{ +>C : C +>base : base + + constructor(@foo prop: any) { +>foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void +>prop : any + + super(); +>super() : void +>super : typeof base + } +} diff --git a/tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts b/tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts new file mode 100644 index 0000000000000..8e23b278386f5 --- /dev/null +++ b/tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts @@ -0,0 +1,18 @@ +// @target: es5 +// @module: commonjs +// @experimentaldecorators: true + +// @Filename: 0.ts +export class base { } +export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } + +// @Filename: 2.ts +import {base} from "./0.ts" +import {foo} from "./0.ts" + +/* Comment on the Class Declaration */ +export class C extends base{ + constructor(@foo prop: any) { + super(); + } +} \ No newline at end of file From 20d685cf86b24b34a3f61252d67686f81407de12 Mon Sep 17 00:00:00 2001 From: Yui T Date: Wed, 31 Aug 2016 13:47:18 -0700 Subject: [PATCH 2/2] Update baselines --- .../reference/decoratorOnClassConstructor3.js | 12 ++++++------ .../reference/decoratorOnClassConstructor3.symbols | 6 +++--- .../reference/decoratorOnClassConstructor3.types | 4 ++-- .../constructor/decoratorOnClassConstructor3.ts | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.js b/tests/baselines/reference/decoratorOnClassConstructor3.js index a05a2aeb87fe2..66946fab8bd6a 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor3.js +++ b/tests/baselines/reference/decoratorOnClassConstructor3.js @@ -6,8 +6,8 @@ export class base { } export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } //// [2.ts] -import {base} from "./0.ts" -import {foo} from "./0.ts" +import {base} from "./0" +import {foo} from "./0" /* Comment on the Class Declaration */ export class C extends base{ @@ -42,8 +42,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; -var _0_ts_1 = require("./0.ts"); -var _0_ts_2 = require("./0.ts"); +var _0_1 = require("./0"); +var _0_2 = require("./0"); /* Comment on the Class Declaration */ var C = (function (_super) { __extends(C, _super); @@ -51,8 +51,8 @@ var C = (function (_super) { _super.call(this); } return C; -}(_0_ts_1.base)); +}(_0_1.base)); C = __decorate([ - __param(0, _0_ts_2.foo) + __param(0, _0_2.foo) ], C); exports.C = C; diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.symbols b/tests/baselines/reference/decoratorOnClassConstructor3.symbols index f53116ba15785..12c20c9a8cca4 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor3.symbols +++ b/tests/baselines/reference/decoratorOnClassConstructor3.symbols @@ -11,15 +11,15 @@ export function foo(target: Object, propertyKey: string | symbol, parameterIndex >parameterIndex : Symbol(parameterIndex, Decl(0.ts, 2, 65)) === tests/cases/conformance/decorators/class/constructor/2.ts === -import {base} from "./0.ts" +import {base} from "./0" >base : Symbol(base, Decl(2.ts, 0, 8)) -import {foo} from "./0.ts" +import {foo} from "./0" >foo : Symbol(foo, Decl(2.ts, 1, 8)) /* Comment on the Class Declaration */ export class C extends base{ ->C : Symbol(C, Decl(2.ts, 1, 26)) +>C : Symbol(C, Decl(2.ts, 1, 23)) >base : Symbol(base, Decl(2.ts, 0, 8)) constructor(@foo prop: any) { diff --git a/tests/baselines/reference/decoratorOnClassConstructor3.types b/tests/baselines/reference/decoratorOnClassConstructor3.types index 12075267511d8..dc1e22c1688b4 100644 --- a/tests/baselines/reference/decoratorOnClassConstructor3.types +++ b/tests/baselines/reference/decoratorOnClassConstructor3.types @@ -11,10 +11,10 @@ export function foo(target: Object, propertyKey: string | symbol, parameterIndex >parameterIndex : number === tests/cases/conformance/decorators/class/constructor/2.ts === -import {base} from "./0.ts" +import {base} from "./0" >base : typeof base -import {foo} from "./0.ts" +import {foo} from "./0" >foo : (target: Object, propertyKey: string | symbol, parameterIndex: number) => void /* Comment on the Class Declaration */ diff --git a/tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts b/tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts index 8e23b278386f5..ca89b65a7ac02 100644 --- a/tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts +++ b/tests/cases/conformance/decorators/class/constructor/decoratorOnClassConstructor3.ts @@ -7,8 +7,8 @@ export class base { } export function foo(target: Object, propertyKey: string | symbol, parameterIndex: number) { } // @Filename: 2.ts -import {base} from "./0.ts" -import {foo} from "./0.ts" +import {base} from "./0" +import {foo} from "./0" /* Comment on the Class Declaration */ export class C extends base{