Test cases for type query
This commit is contained in:
parent
e11fa3fcc7
commit
ab1558828a
120
tests/baselines/reference/declFileTypeAnnotationTypeQuery.js
Normal file
120
tests/baselines/reference/declFileTypeAnnotationTypeQuery.js
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
//// [declFileTypeAnnotationTypeQuery.ts]
|
||||||
|
|
||||||
|
class c {
|
||||||
|
}
|
||||||
|
module m {
|
||||||
|
export class c {
|
||||||
|
}
|
||||||
|
export class g<T> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class g<T> {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Just the name
|
||||||
|
function foo(): typeof c {
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
function foo2() {
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Qualified name
|
||||||
|
function foo3(): typeof m.c {
|
||||||
|
return m.c;
|
||||||
|
}
|
||||||
|
function foo4() {
|
||||||
|
return m.c;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Just the name with type arguments
|
||||||
|
function foo5(): typeof g {
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
function foo6() {
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Qualified name with type arguments
|
||||||
|
function foo7(): typeof m.g {
|
||||||
|
return m.g
|
||||||
|
}
|
||||||
|
function foo8() {
|
||||||
|
return m.g
|
||||||
|
}
|
||||||
|
|
||||||
|
//// [declFileTypeAnnotationTypeQuery.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 c;
|
||||||
|
}
|
||||||
|
function foo2() {
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
// Qualified name
|
||||||
|
function foo3() {
|
||||||
|
return m.c;
|
||||||
|
}
|
||||||
|
function foo4() {
|
||||||
|
return m.c;
|
||||||
|
}
|
||||||
|
// Just the name with type arguments
|
||||||
|
function foo5() {
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
function foo6() {
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
// Qualified name with type arguments
|
||||||
|
function foo7() {
|
||||||
|
return m.g;
|
||||||
|
}
|
||||||
|
function foo8() {
|
||||||
|
return m.g;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//// [declFileTypeAnnotationTypeQuery.d.ts]
|
||||||
|
declare class c {
|
||||||
|
}
|
||||||
|
declare module m {
|
||||||
|
class c {
|
||||||
|
}
|
||||||
|
class g<T> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
declare class g<T> {
|
||||||
|
}
|
||||||
|
declare function foo(): typeof c;
|
||||||
|
declare function foo2(): typeof c;
|
||||||
|
declare function foo3(): typeof m.c;
|
||||||
|
declare function foo4(): typeof m.c;
|
||||||
|
declare function foo5(): typeof g;
|
||||||
|
declare function foo6(): typeof g;
|
||||||
|
declare function foo7(): typeof m.g;
|
||||||
|
declare function foo8(): typeof m.g;
|
|
@ -0,0 +1,90 @@
|
||||||
|
=== tests/cases/compiler/declFileTypeAnnotationTypeQuery.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(): typeof c {
|
||||||
|
>foo : () => typeof c
|
||||||
|
>c : typeof c
|
||||||
|
|
||||||
|
return c;
|
||||||
|
>c : typeof c
|
||||||
|
}
|
||||||
|
function foo2() {
|
||||||
|
>foo2 : () => typeof c
|
||||||
|
|
||||||
|
return c;
|
||||||
|
>c : typeof c
|
||||||
|
}
|
||||||
|
|
||||||
|
// Qualified name
|
||||||
|
function foo3(): typeof m.c {
|
||||||
|
>foo3 : () => typeof m.c
|
||||||
|
>m : typeof m
|
||||||
|
>c : typeof m.c
|
||||||
|
|
||||||
|
return 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(): typeof g {
|
||||||
|
>foo5 : () => typeof g
|
||||||
|
>g : typeof g
|
||||||
|
|
||||||
|
return g;
|
||||||
|
>g : typeof g
|
||||||
|
}
|
||||||
|
function foo6() {
|
||||||
|
>foo6 : () => typeof g
|
||||||
|
|
||||||
|
return g;
|
||||||
|
>g : typeof g
|
||||||
|
}
|
||||||
|
|
||||||
|
// Qualified name with type arguments
|
||||||
|
function foo7(): typeof m.g {
|
||||||
|
>foo7 : () => typeof m.g
|
||||||
|
>m : typeof m
|
||||||
|
>g : typeof m.g
|
||||||
|
|
||||||
|
return m.g
|
||||||
|
>m.g : typeof m.g
|
||||||
|
>m : typeof m
|
||||||
|
>g : typeof m.g
|
||||||
|
}
|
||||||
|
function foo8() {
|
||||||
|
>foo8 : () => typeof m.g
|
||||||
|
|
||||||
|
return m.g
|
||||||
|
>m.g : typeof m.g
|
||||||
|
>m : typeof m
|
||||||
|
>g : typeof m.g
|
||||||
|
}
|
45
tests/cases/compiler/declFileTypeAnnotationTypeQuery.ts
Normal file
45
tests/cases/compiler/declFileTypeAnnotationTypeQuery.ts
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
// @target: ES5
|
||||||
|
// @declaration: true
|
||||||
|
|
||||||
|
class c {
|
||||||
|
}
|
||||||
|
module m {
|
||||||
|
export class c {
|
||||||
|
}
|
||||||
|
export class g<T> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class g<T> {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Just the name
|
||||||
|
function foo(): typeof c {
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
function foo2() {
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Qualified name
|
||||||
|
function foo3(): typeof m.c {
|
||||||
|
return m.c;
|
||||||
|
}
|
||||||
|
function foo4() {
|
||||||
|
return m.c;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Just the name with type arguments
|
||||||
|
function foo5(): typeof g {
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
function foo6() {
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Qualified name with type arguments
|
||||||
|
function foo7(): typeof m.g {
|
||||||
|
return m.g
|
||||||
|
}
|
||||||
|
function foo8() {
|
||||||
|
return m.g
|
||||||
|
}
|
Loading…
Reference in a new issue