From bb7a0aa9d9123a10c0c181398cfdd45ff2859cf2 Mon Sep 17 00:00:00 2001 From: Yui T Date: Tue, 11 Nov 2014 11:31:45 -0800 Subject: [PATCH] Add conformance tests --- .../objectLiteralShorthandProperties.js | 39 ++++++++++ .../objectLiteralShorthandProperties.types | 50 ++++++++++++ ...jectLiteralShorthandProperties2.errors.txt | 72 +++++++++++++++++ .../objectLiteralShorthandProperties3.js | 30 ++++++++ .../objectLiteralShorthandProperties3.types | 31 ++++++++ ...jectLiteralShorthandProperties4.errors.txt | 11 +++ .../objectLiteralShorthandProperties4.js | 12 +++ ...ectLiteralShorthandPropertiesAssignment.js | 11 +++ ...LiteralShorthandPropertiesAssignment.types | 15 ++++ ...lShorthandPropertiesAssignment2.errors.txt | 13 ++++ ...ctLiteralShorthandPropertiesAssignment2.js | 11 +++ ...eralShorthandPropertiesFunctionArgument.js | 20 +++++ ...lShorthandPropertiesFunctionArgument.types | 33 ++++++++ ...handPropertiesFunctionArgument2.errors.txt | 14 ++++ ...ralShorthandPropertiesFunctionArgument2.js | 17 ++++ ...jectLiteralShorthandPropertiesTargetES6.js | 62 +++++++++++++++ ...tLiteralShorthandPropertiesTargetES6.types | 77 +++++++++++++++++++ .../objectLiteralShorthandProperties.ts | 20 +++++ .../objectLiteralShorthandProperties2.ts | 18 +++++ .../objectLiteralShorthandProperties3.ts | 13 ++++ .../objectLiteralShorthandProperties4.ts | 4 + ...ectLiteralShorthandPropertiesAssignment.ts | 4 + ...ctLiteralShorthandPropertiesAssignment2.ts | 4 + ...eralShorthandPropertiesFunctionArgument.ts | 10 +++ ...ralShorthandPropertiesFunctionArgument2.ts | 7 ++ ...jectLiteralShorthandPropertiesTargetES6.ts | 31 ++++++++ 26 files changed, 629 insertions(+) create mode 100644 tests/baselines/reference/objectLiteralShorthandProperties.js create mode 100644 tests/baselines/reference/objectLiteralShorthandProperties.types create mode 100644 tests/baselines/reference/objectLiteralShorthandProperties2.errors.txt create mode 100644 tests/baselines/reference/objectLiteralShorthandProperties3.js create mode 100644 tests/baselines/reference/objectLiteralShorthandProperties3.types create mode 100644 tests/baselines/reference/objectLiteralShorthandProperties4.errors.txt create mode 100644 tests/baselines/reference/objectLiteralShorthandProperties4.js create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.js create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesAssignment2.errors.txt create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesAssignment2.js create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.js create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.errors.txt create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.js create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesTargetES6.js create mode 100644 tests/baselines/reference/objectLiteralShorthandPropertiesTargetES6.types create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties.ts create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties2.ts create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties3.ts create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties4.ts create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment.ts create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment2.ts create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument.ts create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument2.ts create mode 100644 tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesTargetES6.ts diff --git a/tests/baselines/reference/objectLiteralShorthandProperties.js b/tests/baselines/reference/objectLiteralShorthandProperties.js new file mode 100644 index 0000000000..31e9eabb0a --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandProperties.js @@ -0,0 +1,39 @@ +//// [objectLiteralShorthandProperties.ts] +var a, b, c; + +var x1 = { + a +}; + +var x2 = { + a, +} + +var x3 = { + a: 0, + b, + c, + d() { }, + x3, + parent: x3 +}; + + + +//// [objectLiteralShorthandProperties.js] +var a, b, c; +var x1 = { + a: a +}; +var x2 = { + a: a +}; +var x3 = { + a: 0, + b: b, + c: c, + d: function () { + }, + x3: x3, + parent: x3 +}; diff --git a/tests/baselines/reference/objectLiteralShorthandProperties.types b/tests/baselines/reference/objectLiteralShorthandProperties.types new file mode 100644 index 0000000000..2f4e17be23 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandProperties.types @@ -0,0 +1,50 @@ +=== tests/cases/compiler/objectLiteralShorthandProperties.ts === +var a, b, c; +>a : any +>b : any +>c : any + +var x1 = { +>x1 : { a: any; } +>{ a} : { a: any; } + + a +>a : any + +}; + +var x2 = { +>x2 : { a: any; } +>{ a,} : { a: any; } + + a, +>a : any +} + +var x3 = { +>x3 : any +>{ a: 0, b, c, d() { }, x3, parent: x3} : { a: number; b: any; c: any; d: () => void; x3: any; parent: any; } + + a: 0, +>a : number + + b, +>b : any + + c, +>c : any + + d() { }, +>d : () => void +>d() { } : () => void + + x3, +>x3 : any + + parent: x3 +>parent : any +>x3 : any + +}; + + diff --git a/tests/baselines/reference/objectLiteralShorthandProperties2.errors.txt b/tests/baselines/reference/objectLiteralShorthandProperties2.errors.txt new file mode 100644 index 0000000000..814bbf1842 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandProperties2.errors.txt @@ -0,0 +1,72 @@ +tests/cases/compiler/objectLiteralShorthandProperties2.ts(3,20): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(4,7): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(5,10): error TS1005: '(' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(6,10): error TS1005: '(' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(7,9): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(8,10): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(9,8): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(10,10): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(12,1): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(15,6): error TS1005: ',' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(16,6): error TS1005: ',' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(17,6): error TS1005: '=' expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(18,1): error TS1128: Declaration or statement expected. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(5,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(15,5): error TS2300: Duplicate identifier 'a'. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(15,7): error TS2304: Cannot find name 'b'. +tests/cases/compiler/objectLiteralShorthandProperties2.ts(16,5): error TS2300: Duplicate identifier 'a'. + + +==== tests/cases/compiler/objectLiteralShorthandProperties2.ts (17 errors) ==== + // errors + var y = { + "stringLiteral", + ~ +!!! error TS1005: ':' expected. + 42, + ~ +!!! error TS1005: ':' expected. + get e, + ~ +!!! error TS1005: '(' expected. + ~ +!!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. + set f, + ~ +!!! error TS1005: '(' expected. + this, + ~ +!!! error TS1005: ':' expected. + super, + ~ +!!! error TS1005: ':' expected. + var, + ~ +!!! error TS1005: ':' expected. + class, + ~ +!!! error TS1005: ':' expected. + typeof + }; + ~ +!!! error TS1005: ':' expected. + + var x = { + a.b, + ~ +!!! error TS1005: ',' expected. + ~ +!!! error TS2300: Duplicate identifier 'a'. + ~ +!!! error TS2304: Cannot find name 'b'. + a["ss"], + ~ +!!! error TS1005: ',' expected. + ~ +!!! error TS2300: Duplicate identifier 'a'. + a[1], + ~ +!!! error TS1005: '=' expected. + }; + ~ +!!! error TS1128: Declaration or statement expected. \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralShorthandProperties3.js b/tests/baselines/reference/objectLiteralShorthandProperties3.js new file mode 100644 index 0000000000..b3e567bebc --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandProperties3.js @@ -0,0 +1,30 @@ +//// [objectLiteralShorthandProperties3.ts] +// module export + +module m { + export var x; +} + +module m { + var z = x; + var y = { + a: x, + x + }; +} + + +//// [objectLiteralShorthandProperties3.js] +// module export +var m; +(function (m) { + m.x; +})(m || (m = {})); +var m; +(function (m) { + var z = m.x; + var y = { + a: m.x, + m.x: m.x + }; +})(m || (m = {})); diff --git a/tests/baselines/reference/objectLiteralShorthandProperties3.types b/tests/baselines/reference/objectLiteralShorthandProperties3.types new file mode 100644 index 0000000000..0ca744aaf8 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandProperties3.types @@ -0,0 +1,31 @@ +=== tests/cases/compiler/objectLiteralShorthandProperties3.ts === +// module export + +module m { +>m : typeof m + + export var x; +>x : any +} + +module m { +>m : typeof m + + var z = x; +>z : any +>x : any + + var y = { +>y : { a: any; x: any; } +>{ a: x, x } : { a: any; x: any; } + + a: x, +>a : any +>x : any + + x +>x : any + + }; +} + diff --git a/tests/baselines/reference/objectLiteralShorthandProperties4.errors.txt b/tests/baselines/reference/objectLiteralShorthandProperties4.errors.txt new file mode 100644 index 0000000000..0928d8f2d9 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandProperties4.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/objectLiteralShorthandProperties4.ts(3,5): error TS2304: Cannot find name 'undefinedVariable'. + + +==== tests/cases/compiler/objectLiteralShorthandProperties4.ts (1 errors) ==== + var x = { + x, // OK + undefinedVariable // Error + ~~~~~~~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'undefinedVariable'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralShorthandProperties4.js b/tests/baselines/reference/objectLiteralShorthandProperties4.js new file mode 100644 index 0000000000..ed8ee494b1 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandProperties4.js @@ -0,0 +1,12 @@ +//// [objectLiteralShorthandProperties4.ts] +var x = { + x, // OK + undefinedVariable // Error +} + + +//// [objectLiteralShorthandProperties4.js] +var x = { + x: x, + undefinedVariable: undefinedVariable // Error +}; diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.js b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.js new file mode 100644 index 0000000000..6af0a69a30 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.js @@ -0,0 +1,11 @@ +//// [objectLiteralShorthandPropertiesAssignment.ts] +var id: number = 10000; +var name: string = "my name"; + +var person: { name: string; id: number } = { name, id }; + + +//// [objectLiteralShorthandPropertiesAssignment.js] +var id = 10000; +var name = "my name"; +var person = { name: name, id: id }; diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types new file mode 100644 index 0000000000..f7f18c8f0c --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.types @@ -0,0 +1,15 @@ +=== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment.ts === +var id: number = 10000; +>id : number + +var name: string = "my name"; +>name : string + +var person: { name: string; id: number } = { name, id }; +>person : { name: string; id: number; } +>name : string +>id : number +>{ name, id } : { name: string; id: number; } +>name : string +>id : number + diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment2.errors.txt b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment2.errors.txt new file mode 100644 index 0000000000..a3ae961f6e --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment2.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment2.ts(4,5): error TS2322: Type '{ name: string; id: number; }' is not assignable to type '{ b: string; id: number; }'. + Property 'b' is missing in type '{ name: string; id: number; }'. + + +==== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment2.ts (1 errors) ==== + var id: number = 10000; + var name: string = "my name"; + + var person: { b: string; id: number } = { name, id }; // error + ~~~~~~ +!!! error TS2322: Type '{ name: string; id: number; }' is not assignable to type '{ b: string; id: number; }'. +!!! error TS2322: Property 'b' is missing in type '{ name: string; id: number; }'. + \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment2.js b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment2.js new file mode 100644 index 0000000000..f37bb1cd52 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment2.js @@ -0,0 +1,11 @@ +//// [objectLiteralShorthandPropertiesAssignment2.ts] +var id: number = 10000; +var name: string = "my name"; + +var person: { b: string; id: number } = { name, id }; // error + + +//// [objectLiteralShorthandPropertiesAssignment2.js] +var id = 10000; +var name = "my name"; +var person = { name: name, id: id }; // error diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.js b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.js new file mode 100644 index 0000000000..f6e20b605b --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.js @@ -0,0 +1,20 @@ +//// [objectLiteralShorthandPropertiesFunctionArgument.ts] +var id: number = 10000; +var name: string = "my name"; + +var person = { name, id }; + +function foo(p: { name: string; id: number }) { } +foo(person); + + +var obj = { name: name, id: id }; + +//// [objectLiteralShorthandPropertiesFunctionArgument.js] +var id = 10000; +var name = "my name"; +var person = { name: name, id: id }; +function foo(p) { +} +foo(person); +var obj = { name: name, id: id }; diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types new file mode 100644 index 0000000000..9b4261a74b --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument.ts === +var id: number = 10000; +>id : number + +var name: string = "my name"; +>name : string + +var person = { name, id }; +>person : { name: string; id: number; } +>{ name, id } : { name: string; id: number; } +>name : string +>id : number + +function foo(p: { name: string; id: number }) { } +>foo : (p: { name: string; id: number; }) => void +>p : { name: string; id: number; } +>name : string +>id : number + +foo(person); +>foo(person) : void +>foo : (p: { name: string; id: number; }) => void +>person : { name: string; id: number; } + + +var obj = { name: name, id: id }; +>obj : { name: string; id: number; } +>{ name: name, id: id } : { name: string; id: number; } +>name : string +>name : string +>id : number +>id : number + diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.errors.txt b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.errors.txt new file mode 100644 index 0000000000..44426a8afb --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.errors.txt @@ -0,0 +1,14 @@ +tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument2.ts(7,5): error TS2345: Argument of type '{ name: string; id: number; }' is not assignable to parameter of type '{ a: string; id: number; }'. + + +==== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument2.ts (1 errors) ==== + var id: number = 10000; + var name: string = "my name"; + + var person = { name, id }; + + function foo(p: { a: string; id: number }) { } + foo(person); // error + ~~~~~~ +!!! error TS2345: Argument of type '{ name: string; id: number; }' is not assignable to parameter of type '{ a: string; id: number; }'. + \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.js b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.js new file mode 100644 index 0000000000..2f3535ef78 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.js @@ -0,0 +1,17 @@ +//// [objectLiteralShorthandPropertiesFunctionArgument2.ts] +var id: number = 10000; +var name: string = "my name"; + +var person = { name, id }; + +function foo(p: { a: string; id: number }) { } +foo(person); // error + + +//// [objectLiteralShorthandPropertiesFunctionArgument2.js] +var id = 10000; +var name = "my name"; +var person = { name: name, id: id }; +function foo(p) { +} +foo(person); // error diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesTargetES6.js b/tests/baselines/reference/objectLiteralShorthandPropertiesTargetES6.js new file mode 100644 index 0000000000..c02911c499 --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesTargetES6.js @@ -0,0 +1,62 @@ +//// [objectLiteralShorthandPropertiesTargetES6.ts] +var a, b, c; + +var x1 = { + a +}; + +var x2 = { + a, +} + +var x3 = { + a: 0, + b, + c, + d() { }, + x3, + parent: x3 +}; + +module m { + export var x; +} + +module m { + var z = x; + var y = { + a: x, + x + }; +} + + +//// [objectLiteralShorthandPropertiesTargetES6.js] +var a, b, c; +var x1 = { + a +}; +var x2 = { + a, +}; +var x3 = { + a: 0, + b, + c, + d: function () { + }, + x3, + parent: x3 +}; +var m; +(function (m) { + m.x; +})(m || (m = {})); +var m; +(function (m) { + var z = m.x; + var y = { + a: m.x, + m.x + }; +})(m || (m = {})); diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesTargetES6.types b/tests/baselines/reference/objectLiteralShorthandPropertiesTargetES6.types new file mode 100644 index 0000000000..560ae4af4c --- /dev/null +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesTargetES6.types @@ -0,0 +1,77 @@ +=== tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesTargetES6.ts === +var a, b, c; +>a : any +>b : any +>c : any + +var x1 = { +>x1 : { a: any; } +>{ a} : { a: any; } + + a +>a : any + +}; + +var x2 = { +>x2 : { a: any; } +>{ a,} : { a: any; } + + a, +>a : any +} + +var x3 = { +>x3 : any +>{ a: 0, b, c, d() { }, x3, parent: x3} : { a: number; b: any; c: any; d: () => void; x3: any; parent: any; } + + a: 0, +>a : number + + b, +>b : any + + c, +>c : any + + d() { }, +>d : () => void +>d() { } : () => void + + x3, +>x3 : any + + parent: x3 +>parent : any +>x3 : any + +}; + +module m { +>m : typeof m + + export var x; +>x : any +} + +module m { +>m : typeof m + + var z = x; +>z : any +>x : any + + var y = { +>y : { a: any; x: any; } +>{ a: x, x } : { a: any; x: any; } + + a: x, +>a : any +>x : any + + x +>x : any + + }; +} + diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties.ts new file mode 100644 index 0000000000..ffeab28958 --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties.ts @@ -0,0 +1,20 @@ +// @target: es5 +var a, b, c; + +var x1 = { + a +}; + +var x2 = { + a, +} + +var x3 = { + a: 0, + b, + c, + d() { }, + x3, + parent: x3 +}; + diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties2.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties2.ts new file mode 100644 index 0000000000..38081e7d69 --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties2.ts @@ -0,0 +1,18 @@ +// errors +var y = { + "stringLiteral", + 42, + get e, + set f, + this, + super, + var, + class, + typeof +}; + +var x = { + a.b, + a["ss"], + a[1], +}; \ No newline at end of file diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties3.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties3.ts new file mode 100644 index 0000000000..005885bb90 --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties3.ts @@ -0,0 +1,13 @@ +// module export + +module m { + export var x; +} + +module m { + var z = x; + var y = { + a: x, + x + }; +} diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties4.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties4.ts new file mode 100644 index 0000000000..1f44dc18ae --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandProperties4.ts @@ -0,0 +1,4 @@ +var x = { + x, // OK + undefinedVariable // Error +} diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment.ts new file mode 100644 index 0000000000..44448a26a9 --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment.ts @@ -0,0 +1,4 @@ +var id: number = 10000; +var name: string = "my name"; + +var person: { name: string; id: number } = { name, id }; diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment2.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment2.ts new file mode 100644 index 0000000000..a3f88036dd --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesAssignment2.ts @@ -0,0 +1,4 @@ +var id: number = 10000; +var name: string = "my name"; + +var person: { b: string; id: number } = { name, id }; // error diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument.ts new file mode 100644 index 0000000000..c50c4e3fbd --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument.ts @@ -0,0 +1,10 @@ +var id: number = 10000; +var name: string = "my name"; + +var person = { name, id }; + +function foo(p: { name: string; id: number }) { } +foo(person); + + +var obj = { name: name, id: id }; \ No newline at end of file diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument2.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument2.ts new file mode 100644 index 0000000000..45c248a591 --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesFunctionArgument2.ts @@ -0,0 +1,7 @@ +var id: number = 10000; +var name: string = "my name"; + +var person = { name, id }; + +function foo(p: { a: string; id: number }) { } +foo(person); // error diff --git a/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesTargetES6.ts b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesTargetES6.ts new file mode 100644 index 0000000000..21351372de --- /dev/null +++ b/tests/cases/conformance/es6/shorthandPropertyAssignment/objectLiteralShorthandPropertiesTargetES6.ts @@ -0,0 +1,31 @@ +// @target: es6 +var a, b, c; + +var x1 = { + a +}; + +var x2 = { + a, +} + +var x3 = { + a: 0, + b, + c, + d() { }, + x3, + parent: x3 +}; + +module m { + export var x; +} + +module m { + var z = x; + var y = { + a: x, + x + }; +}