File: docCommentTemplateClassDeclMethods01.ts

package info (click to toggle)
node-typescript 2.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 203,952 kB
  • ctags: 52,987
  • sloc: sh: 11; makefile: 5
file content (79 lines) | stat: -rw-r--r-- 1,569 bytes parent folder | download | duplicates (2)
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
/// <reference path='fourslash.ts' />

const CRLF = "\r\n";
/**
 * @returns the given value with '\n' normalized to '\r\n' and with no leading newline
 */
function useCRLFAndStripLeadingNewline(str: string): string {
    str = str.replace(/\r?\n/g, CRLF);
    if (str.indexOf(CRLF) === 0) {
        str = str.slice(CRLF.length);
    }
    return str;
}

function confirmNormalizedJsDoc(markerName: string, indentation: number, template: string): void {
    goTo.marker(markerName);
    const normalized = useCRLFAndStripLeadingNewline(template);
    verify.DocCommentTemplate(normalized, indentation);
}

const enum Indentation {
    Standard = 8,
    Indented = 12,
}


////class C {
/////*0*/    /*1*/
////    foo();
////    /*2*/foo(a);
////    /*3*/foo(a, b);
////    /*4*/ foo(a, {x: string}, [c]);
////    /*5*/foo(a?, b?, ...args) {
////    }
////}

confirmNormalizedJsDoc("0", Indentation.Standard, `
/**
 * 
 */`);


confirmNormalizedJsDoc("1", Indentation.Indented,
   `/**
     * 
     */`);


confirmNormalizedJsDoc("2", Indentation.Indented,
   `/**
     * 
     * @param a
     */
    `);

confirmNormalizedJsDoc("3", Indentation.Indented,
   `/**
     * 
     * @param a
     * @param b
     */
    `);

confirmNormalizedJsDoc("4", Indentation.Indented,
   `/**
     * 
     * @param a
     * @param param1
     * @param param2
     */`);

confirmNormalizedJsDoc("5", Indentation.Indented, 
    `/**
     * 
     * @param a
     * @param b
     * @param args
     */
    `);