| ... | @@ -43,6 +43,32 @@ describe("extractTerminalLinks", () => { | ... | @@ -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 | describe("resolvePathLinkTarget", () => { | 74 | describe("resolvePathLinkTarget", () => { |
| ... | @@ -60,6 +86,12 @@ describe("resolvePathLinkTarget", () => { | ... | @@ -60,6 +86,12 @@ describe("resolvePathLinkTarget", () => { |
| 60 | resolvePathLinkTarget("/Users/julius/project/src/main.ts:12", "/Users/julius/project"), | 86 | resolvePathLinkTarget("/Users/julius/project/src/main.ts:12", "/Users/julius/project"), |
| 61 | ).toBe("/Users/julius/project/src/main.ts:12"); | 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 | describe("isTerminalLinkActivation", () => { | 97 | describe("isTerminalLinkActivation", () => { |