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