diff options
| author | Joe Mou <dev@mou.fo> | 2026-08-12 01:38:24 -0400 |
|---|---|---|
| committer | Joe Mou <dev@mou.fo> | 2026-08-12 01:42:59 -0400 |
| commit | ca23e43e0e95014ddd5f8d5e02e1118f5e2978f5 (patch) | |
| tree | 49a269b88f7f0d11e8102a60468f53252f033c4e /src/app.test.ts | |
| parent | f491b436e4506a9a56a6a6c4313f4d41a0f3b890 (diff) | |
Handle blobs GitHub cannot preview
Binary files with no preview (a .ttf, say) have no rawLines, no
colorizedLines and no richText, so the blob view's final branch threw on
a null textLines and the page 500ed. Offer the raw file instead.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/app.test.ts')
| -rw-r--r-- | src/app.test.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/app.test.ts b/src/app.test.ts index 59ed352..94bf205 100644 --- a/src/app.test.ts +++ b/src/app.test.ts @@ -92,6 +92,28 @@ describe("sidebar fragment", () => { }); }); +describe("blob view", () => { + const blob = { + repo: { owner: "justrajdeep", name: "fonts" }, + branch: "master", + path: "Times New Roman.ttf", + language: null, + size: "815 KB", + image: false, + textLines: null, + htmlLines: null, + htmlContent: null, + }; + + // GitHub previews neither the text nor the bytes of most binary files. + it("should offer the raw file when there is nothing to display", () => { + const html = eta.render("blob.eta", blob); + + assert.match(html, /This file cannot be displayed\./); + assert.match(html, /href="\/justrajdeep\/fonts\/raw\/master\/Times New Roman.ttf">View raw/); + }); +}); + describe("redirects to GitHub", () => { // An HTTP redirect would be caught by the extension's declarativeNetRequest // rules and bounced straight back here. |
