File: externalModuleWithExportAssignment.ts

package info (click to toggle)
node-typescript 4.8.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 523,068 kB
  • sloc: javascript: 1,735,777; makefile: 7; sh: 1
file content (90 lines) | stat: -rw-r--r-- 2,990 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/// <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
////import /*1*/a1 = require("./externalModuleWithExportAssignment_file0");
////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;

goTo.file("externalModuleWithExportAssignment_file1.ts");
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);

goTo.marker('3');
verify.quickInfoIs("(property) test1: a1.connectModule\n(res: any, req: any, next: any) => void", undefined);
verify.completions({
    marker: ["3", "9"],
    exact: completion.functionMembersWithPrototypePlus([
        { name: "test1", text: "(property) test1: a1.connectModule\n(res: any, req: any, next: any) => void" },
        { name: "test2", text: "(method) test2(): a1.connectModule" },
    ]),
});

verify.signatureHelp(
    { marker: "4", text: "test1(res: any, req: any, next: any): void" },
    { marker: "5", text: "test2(): a1.connectModule" },
);

verify.quickInfoAt("6", "var r1: a1.connectModule", undefined);

verify.signatureHelp({ marker: "7", text: "a(): a1.connectExport" });

verify.quickInfoAt("8", "var r2: a1.connectExport", undefined);

goTo.marker('9');
verify.quickInfoIs("(property) test1: a1.connectModule\n(res: any, req: any, next: any) => void", undefined);

verify.signatureHelp(
    { marker: "10", text: "test1(res: any, req: any, next: any): void" },
    { marker: "11", text: "test2(): a1.connectModule" },
);

verify.quickInfoAt("12", "var r3: a1.connectModule", undefined);

verify.signatureHelp({ marker: "13", text: "a1(): a1.connectExport" });

verify.quickInfoAt("14", "var r4: a1.connectExport", undefined);

verify.completions({
    marker: "15",
    exact: [
        { name: "connectExport", text: "interface a1.connectExport" },
        { name: "connectModule", text: "interface a1.connectModule" },
    ],
});