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