• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1namespace ts {
2    describe("comment parsing", () => {
3        const withShebang = `#! node
4/** comment */
5// another one
6;`;
7        const noShebang = `/** comment */
8// another one
9;`;
10        const withTrailing = `;/* comment */
11// another one
12`;
13        it("skips shebang", () => {
14            const result = getLeadingCommentRanges(withShebang, 0);
15            assert.isDefined(result);
16            assert.strictEqual(result!.length, 2);
17        });
18
19        it("treats all comments at start of file as leading comments", () => {
20            const result = getLeadingCommentRanges(noShebang, 0);
21            assert.isDefined(result);
22            assert.strictEqual(result!.length, 2);
23        });
24
25        it("returns leading comments if position is not 0", () => {
26            const result = getLeadingCommentRanges(withTrailing, 1);
27            assert.isDefined(result);
28            assert.strictEqual(result!.length, 1);
29            assert.strictEqual(result![0].kind, SyntaxKind.SingleLineCommentTrivia);
30        });
31    });
32}
33