| ... | ... | @@ -43,6 +43,32 @@ describe("extractTerminalLinks", () => { |
| 43 | 43 | }, |
| 44 | 44 | ]); |
| 45 | 45 | }); |
| 46 | |
| 47 | it("finds Windows absolute paths with forward slashes", () => { |
| 48 | const line = "see C:/Users/someone/project/src/file.ts:42 for details"; |
| 49 | const path = "C:/Users/someone/project/src/file.ts:42"; |
| 50 | const start = line.indexOf(path); |
| 51 | expect(extractTerminalLinks(line)).toEqual([ |
| 52 | { |
| 53 | kind: "path", |
| 54 | text: path, |
| 55 | start, |
| 56 | end: start + path.length, |
| 57 | }, |
| 58 | ]); |
| 59 | }); |
| 60 | |
| 61 | it("trims trailing punctuation from Windows forward-slash paths", () => { |
| 62 | const line = "(C:/tmp/x.ts)."; |
| 63 | expect(extractTerminalLinks(line)).toEqual([ |
| 64 | { |
| 65 | kind: "path", |
| 66 | text: "C:/tmp/x.ts", |
| 67 | start: 1, |
| 68 | end: 12, |
| 69 | }, |
| 70 | ]); |
| 71 | }); |
| 46 | 72 | }); |
| 47 | 73 | |
| 48 | 74 | describe("resolvePathLinkTarget", () => { |
| ... | ... | @@ -60,6 +86,12 @@ describe("resolvePathLinkTarget", () => { |
| 60 | 86 | resolvePathLinkTarget("/Users/julius/project/src/main.ts:12", "/Users/julius/project"), |
| 61 | 87 | ).toBe("/Users/julius/project/src/main.ts:12"); |
| 62 | 88 | }); |
| 89 | |
| 90 | it("keeps Windows absolute paths with forward slashes unchanged", () => { |
| 91 | expect( |
| 92 | resolvePathLinkTarget("C:/Users/julius/project/src/main.ts:12", "C:\\Users\\julius\\project"), |
| 93 | ).toBe("C:/Users/julius/project/src/main.ts:12"); |
| 94 | }); |
| 63 | 95 | }); |
| 64 | 96 | |
| 65 | 97 | describe("isTerminalLinkActivation", () => { |