mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 16:38:05 -06:00
Test cases for array type annotation
This commit is contained in:
parent
ab1558828a
commit
737b72d73d
137
tests/baselines/reference/declFileTypeAnnotationArrayType.js
Normal file
137
tests/baselines/reference/declFileTypeAnnotationArrayType.js
Normal file
@ -0,0 +1,137 @@
|
||||
//// [declFileTypeAnnotationArrayType.ts]
|
||||
|
||||
class c {
|
||||
}
|
||||
module m {
|
||||
export class c {
|
||||
}
|
||||
export class g<T> {
|
||||
}
|
||||
}
|
||||
class g<T> {
|
||||
}
|
||||
|
||||
// Just the name
|
||||
function foo(): c[] {
|
||||
return [new c()];
|
||||
}
|
||||
function foo2() {
|
||||
return [new c()];
|
||||
}
|
||||
|
||||
// Qualified name
|
||||
function foo3(): m.c[] {
|
||||
return [new m.c()];
|
||||
}
|
||||
function foo4() {
|
||||
return m.c;
|
||||
}
|
||||
|
||||
// Just the name with type arguments
|
||||
function foo5(): g<string>[] {
|
||||
return [new g<string>()];
|
||||
}
|
||||
function foo6() {
|
||||
return [new g<string>()];
|
||||
}
|
||||
|
||||
// Qualified name with type arguments
|
||||
function foo7(): m.g<number>[] {
|
||||
return [new m.g<number>()];
|
||||
}
|
||||
function foo8() {
|
||||
return [new m.g<number>()];
|
||||
}
|
||||
|
||||
// Array of function types
|
||||
function foo9(): (()=>c)[] {
|
||||
return [() => new c()];
|
||||
}
|
||||
function foo10() {
|
||||
return [() => new c()];
|
||||
}
|
||||
|
||||
//// [declFileTypeAnnotationArrayType.js]
|
||||
var c = (function () {
|
||||
function c() {
|
||||
}
|
||||
return c;
|
||||
})();
|
||||
var m;
|
||||
(function (m) {
|
||||
var c = (function () {
|
||||
function c() {
|
||||
}
|
||||
return c;
|
||||
})();
|
||||
m.c = c;
|
||||
var g = (function () {
|
||||
function g() {
|
||||
}
|
||||
return g;
|
||||
})();
|
||||
m.g = g;
|
||||
})(m || (m = {}));
|
||||
var g = (function () {
|
||||
function g() {
|
||||
}
|
||||
return g;
|
||||
})();
|
||||
// Just the name
|
||||
function foo() {
|
||||
return [new c()];
|
||||
}
|
||||
function foo2() {
|
||||
return [new c()];
|
||||
}
|
||||
// Qualified name
|
||||
function foo3() {
|
||||
return [new m.c()];
|
||||
}
|
||||
function foo4() {
|
||||
return m.c;
|
||||
}
|
||||
// Just the name with type arguments
|
||||
function foo5() {
|
||||
return [new g()];
|
||||
}
|
||||
function foo6() {
|
||||
return [new g()];
|
||||
}
|
||||
// Qualified name with type arguments
|
||||
function foo7() {
|
||||
return [new m.g()];
|
||||
}
|
||||
function foo8() {
|
||||
return [new m.g()];
|
||||
}
|
||||
// Array of function types
|
||||
function foo9() {
|
||||
return [function () { return new c(); }];
|
||||
}
|
||||
function foo10() {
|
||||
return [function () { return new c(); }];
|
||||
}
|
||||
|
||||
|
||||
//// [declFileTypeAnnotationArrayType.d.ts]
|
||||
declare class c {
|
||||
}
|
||||
declare module m {
|
||||
class c {
|
||||
}
|
||||
class g<T> {
|
||||
}
|
||||
}
|
||||
declare class g<T> {
|
||||
}
|
||||
declare function foo(): c[];
|
||||
declare function foo2(): c[];
|
||||
declare function foo3(): m.c[];
|
||||
declare function foo4(): typeof m.c;
|
||||
declare function foo5(): g<string>[];
|
||||
declare function foo6(): g<string>[];
|
||||
declare function foo7(): m.g<number>[];
|
||||
declare function foo8(): m.g<number>[];
|
||||
declare function foo9(): (() => c)[];
|
||||
declare function foo10(): (() => c)[];
|
||||
125
tests/baselines/reference/declFileTypeAnnotationArrayType.types
Normal file
125
tests/baselines/reference/declFileTypeAnnotationArrayType.types
Normal file
@ -0,0 +1,125 @@
|
||||
=== tests/cases/compiler/declFileTypeAnnotationArrayType.ts ===
|
||||
|
||||
class c {
|
||||
>c : c
|
||||
}
|
||||
module m {
|
||||
>m : typeof m
|
||||
|
||||
export class c {
|
||||
>c : c
|
||||
}
|
||||
export class g<T> {
|
||||
>g : g<T>
|
||||
>T : T
|
||||
}
|
||||
}
|
||||
class g<T> {
|
||||
>g : g<T>
|
||||
>T : T
|
||||
}
|
||||
|
||||
// Just the name
|
||||
function foo(): c[] {
|
||||
>foo : () => c[]
|
||||
>c : c
|
||||
|
||||
return [new c()];
|
||||
>[new c()] : c[]
|
||||
>new c() : c
|
||||
>c : typeof c
|
||||
}
|
||||
function foo2() {
|
||||
>foo2 : () => c[]
|
||||
|
||||
return [new c()];
|
||||
>[new c()] : c[]
|
||||
>new c() : c
|
||||
>c : typeof c
|
||||
}
|
||||
|
||||
// Qualified name
|
||||
function foo3(): m.c[] {
|
||||
>foo3 : () => m.c[]
|
||||
>m : unknown
|
||||
>c : m.c
|
||||
|
||||
return [new m.c()];
|
||||
>[new m.c()] : m.c[]
|
||||
>new m.c() : m.c
|
||||
>m.c : typeof m.c
|
||||
>m : typeof m
|
||||
>c : typeof m.c
|
||||
}
|
||||
function foo4() {
|
||||
>foo4 : () => typeof m.c
|
||||
|
||||
return m.c;
|
||||
>m.c : typeof m.c
|
||||
>m : typeof m
|
||||
>c : typeof m.c
|
||||
}
|
||||
|
||||
// Just the name with type arguments
|
||||
function foo5(): g<string>[] {
|
||||
>foo5 : () => g<string>[]
|
||||
>g : g<T>
|
||||
|
||||
return [new g<string>()];
|
||||
>[new g<string>()] : g<string>[]
|
||||
>new g<string>() : g<string>
|
||||
>g : typeof g
|
||||
}
|
||||
function foo6() {
|
||||
>foo6 : () => g<string>[]
|
||||
|
||||
return [new g<string>()];
|
||||
>[new g<string>()] : g<string>[]
|
||||
>new g<string>() : g<string>
|
||||
>g : typeof g
|
||||
}
|
||||
|
||||
// Qualified name with type arguments
|
||||
function foo7(): m.g<number>[] {
|
||||
>foo7 : () => m.g<number>[]
|
||||
>m : unknown
|
||||
>g : m.g<T>
|
||||
|
||||
return [new m.g<number>()];
|
||||
>[new m.g<number>()] : m.g<number>[]
|
||||
>new m.g<number>() : m.g<number>
|
||||
>m.g : typeof m.g
|
||||
>m : typeof m
|
||||
>g : typeof m.g
|
||||
}
|
||||
function foo8() {
|
||||
>foo8 : () => m.g<number>[]
|
||||
|
||||
return [new m.g<number>()];
|
||||
>[new m.g<number>()] : m.g<number>[]
|
||||
>new m.g<number>() : m.g<number>
|
||||
>m.g : typeof m.g
|
||||
>m : typeof m
|
||||
>g : typeof m.g
|
||||
}
|
||||
|
||||
// Array of function types
|
||||
function foo9(): (()=>c)[] {
|
||||
>foo9 : () => (() => c)[]
|
||||
>c : c
|
||||
|
||||
return [() => new c()];
|
||||
>[() => new c()] : (() => c)[]
|
||||
>() => new c() : () => c
|
||||
>new c() : c
|
||||
>c : typeof c
|
||||
}
|
||||
function foo10() {
|
||||
>foo10 : () => (() => c)[]
|
||||
|
||||
return [() => new c()];
|
||||
>[() => new c()] : (() => c)[]
|
||||
>() => new c() : () => c
|
||||
>new c() : c
|
||||
>c : typeof c
|
||||
}
|
||||
53
tests/cases/compiler/declFileTypeAnnotationArrayType.ts
Normal file
53
tests/cases/compiler/declFileTypeAnnotationArrayType.ts
Normal file
@ -0,0 +1,53 @@
|
||||
// @target: ES5
|
||||
// @declaration: true
|
||||
|
||||
class c {
|
||||
}
|
||||
module m {
|
||||
export class c {
|
||||
}
|
||||
export class g<T> {
|
||||
}
|
||||
}
|
||||
class g<T> {
|
||||
}
|
||||
|
||||
// Just the name
|
||||
function foo(): c[] {
|
||||
return [new c()];
|
||||
}
|
||||
function foo2() {
|
||||
return [new c()];
|
||||
}
|
||||
|
||||
// Qualified name
|
||||
function foo3(): m.c[] {
|
||||
return [new m.c()];
|
||||
}
|
||||
function foo4() {
|
||||
return m.c;
|
||||
}
|
||||
|
||||
// Just the name with type arguments
|
||||
function foo5(): g<string>[] {
|
||||
return [new g<string>()];
|
||||
}
|
||||
function foo6() {
|
||||
return [new g<string>()];
|
||||
}
|
||||
|
||||
// Qualified name with type arguments
|
||||
function foo7(): m.g<number>[] {
|
||||
return [new m.g<number>()];
|
||||
}
|
||||
function foo8() {
|
||||
return [new m.g<number>()];
|
||||
}
|
||||
|
||||
// Array of function types
|
||||
function foo9(): (()=>c)[] {
|
||||
return [() => new c()];
|
||||
}
|
||||
function foo10() {
|
||||
return [() => new c()];
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user