2014-08-30 03:02:05 +02:00
|
|
|
/// <reference path='fourslash.ts' />
|
|
|
|
|
|
|
|
// @Filename: externalModuleWithExportAssignment_file0.ts
|
|
|
|
////module m2 {
|
|
|
|
//// export interface connectModule {
|
|
|
|
//// (res, req, next): void;
|
|
|
|
//// }
|
|
|
|
//// export interface connectExport {
|
|
|
|
//// use: (mod: connectModule) => connectExport;
|
|
|
|
//// listen: (port: number) => void;
|
|
|
|
//// }
|
|
|
|
////}
|
|
|
|
////var m2: {
|
|
|
|
//// (): m2.connectExport;
|
|
|
|
//// test1: m2.connectModule;
|
|
|
|
//// test2(): m2.connectModule;
|
|
|
|
////};
|
|
|
|
////export = m2;
|
|
|
|
|
|
|
|
// @Filename: externalModuleWithExportAssignment_file1.ts
|
2016-02-13 00:40:47 +01:00
|
|
|
////import /*1*/a1 = require("./externalModuleWithExportAssignment_file0");
|
2014-08-30 03:02:05 +02:00
|
|
|
////export var /*2*/a = a1;
|
|
|
|
////a./*3*/test1(/*4*/null, null, null);
|
|
|
|
////var /*6*/r1 = a.test2(/*5*/);
|
|
|
|
////var /*8*/r2 = a(/*7*/);
|
|
|
|
////a1./*9*/test1(/*10*/null, null, null);
|
|
|
|
////var /*12*/r3 = a1.test2(/*11*/);
|
|
|
|
////var /*14*/r4 = a1(/*13*/);
|
|
|
|
////var v1: a1./*15*/connectExport;
|
|
|
|
|
2014-10-07 20:30:27 +02:00
|
|
|
goTo.file("externalModuleWithExportAssignment_file1.ts");
|
2017-10-26 02:50:11 +02:00
|
|
|
verify.quickInfoAt("1", [
|
|
|
|
"(alias) namespace a1",
|
|
|
|
"(alias) var a1: {",
|
|
|
|
" (): connectExport;",
|
|
|
|
" test1: connectModule;",
|
|
|
|
" test2(): connectModule;",
|
|
|
|
"}",
|
|
|
|
'import a1 = require("./externalModuleWithExportAssignment_file0")'
|
|
|
|
].join("\n"));
|
|
|
|
verify.quickInfoAt("2", [
|
|
|
|
"var a: {",
|
|
|
|
" (): a1.connectExport;",
|
|
|
|
" test1: a1.connectModule;",
|
|
|
|
" test2(): a1.connectModule;",
|
|
|
|
"}"
|
|
|
|
].join("\n"), undefined);
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2014-10-07 20:30:27 +02:00
|
|
|
goTo.marker('3');
|
2017-11-08 18:56:50 +01:00
|
|
|
verify.quickInfoIs("(property) test1: a1.connectModule\n(res: any, req: any, next: any) => void", undefined);
|
2018-10-29 18:03:25 +01:00
|
|
|
verify.completions({
|
|
|
|
marker: ["3", "9"],
|
|
|
|
exact: [
|
|
|
|
{ name: "test1", text: "(property) test1: a1.connectModule\n(res: any, req: any, next: any) => void" },
|
|
|
|
{ name: "test2", text: "(method) test2(): a1.connectModule" },
|
|
|
|
...completion.functionMembersWithPrototype,
|
|
|
|
],
|
|
|
|
});
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2018-05-15 21:34:53 +02:00
|
|
|
verify.signatureHelp(
|
|
|
|
{ marker: "4", text: "test1(res: any, req: any, next: any): void" },
|
|
|
|
{ marker: "5", text: "test2(): a1.connectModule" },
|
|
|
|
);
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2016-09-09 18:02:55 +02:00
|
|
|
verify.quickInfoAt("6", "var r1: a1.connectModule", undefined);
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2018-05-15 21:34:53 +02:00
|
|
|
verify.signatureHelp({ marker: "7", text: "a(): a1.connectExport" });
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2016-09-09 18:02:55 +02:00
|
|
|
verify.quickInfoAt("8", "var r2: a1.connectExport", undefined);
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2014-10-07 20:30:27 +02:00
|
|
|
goTo.marker('9');
|
2017-11-08 18:56:50 +01:00
|
|
|
verify.quickInfoIs("(property) test1: a1.connectModule\n(res: any, req: any, next: any) => void", undefined);
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2018-05-15 21:34:53 +02:00
|
|
|
verify.signatureHelp(
|
|
|
|
{ marker: "10", text: "test1(res: any, req: any, next: any): void" },
|
|
|
|
{ marker: "11", text: "test2(): a1.connectModule" },
|
|
|
|
);
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2016-09-09 18:02:55 +02:00
|
|
|
verify.quickInfoAt("12", "var r3: a1.connectModule", undefined);
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2018-05-15 21:34:53 +02:00
|
|
|
verify.signatureHelp({ marker: "13", text: "a1(): a1.connectExport" });
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2016-09-09 18:02:55 +02:00
|
|
|
verify.quickInfoAt("14", "var r4: a1.connectExport", undefined);
|
2014-08-30 03:02:05 +02:00
|
|
|
|
2018-10-29 18:03:25 +01:00
|
|
|
verify.completions({
|
|
|
|
marker: "15",
|
|
|
|
exact: [
|
|
|
|
{ name: "connectModule", text: "interface a1.connectModule" },
|
|
|
|
{ name: "connectExport", text: "interface a1.connectExport" },
|
|
|
|
],
|
|
|
|
});
|