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