From dd8d686c9eb9a68eb057aaf86206bc930e22d09a Mon Sep 17 00:00:00 2001 From: Joe Mou Date: Wed, 28 Jan 2026 13:05:02 -0500 Subject: Render Markdown blobs --- src/scraper.test.ts | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) (limited to 'src/scraper.test.ts') diff --git a/src/scraper.test.ts b/src/scraper.test.ts index e7e65ba..f3a472d 100644 --- a/src/scraper.test.ts +++ b/src/scraper.test.ts @@ -59,7 +59,7 @@ describe("GitHub scraper", () => { ]); }); - it("should fetch blob", async () => { + it("should fetch text blob", async () => { const data = await getGitHubBlob("actions", "deploy-pages", "main", "LICENSE"); assert.strictEqual(data.repo.owner, "actions"); @@ -67,10 +67,40 @@ describe("GitHub scraper", () => { assert.strictEqual(data.branch, "main"); assert.strictEqual(data.path, "LICENSE"); - assert.strictEqual(data.size, 1068); + assert.strictEqual(data.size, "1.04 KB / 21 lines / 17 loc"); assert.strictEqual(data.language, "Text"); - assert.match(data.rawContent, /^MIT License\n\n/); - assert.match(data.content, /^MIT License\n\n/); + assert.strictEqual(data.rawLines?.[0], "MIT License"); + assert.strictEqual(data.htmlContent, null); + }); + + it("should fetch Markdown blob", async () => { + const data = await getGitHubBlob("actions", "deploy-pages", "main", "README.md"); + + assert.strictEqual(data.repo.owner, "actions"); + assert.strictEqual(data.repo.name, "deploy-pages"); + assert.strictEqual(data.branch, "main"); + assert.strictEqual(data.path, "README.md"); + + assert.strictEqual(data.size, "8.95 KB / 133 lines / 94 loc"); + assert.strictEqual(data.language, "Markdown"); + assert.strictEqual(data.rawLines, null); + const firstLine = + /^

deploy-pages 🚀<\/h1>/; + assert.match(data.htmlContent ?? "", firstLine); + }); + + it("should fetch code blob", async () => { + const data = await getGitHubBlob("actions", "deploy-pages", "main", ".gitattributes"); + + assert.strictEqual(data.repo.owner, "actions"); + assert.strictEqual(data.repo.name, "deploy-pages"); + assert.strictEqual(data.branch, "main"); + assert.strictEqual(data.path, ".gitattributes"); + + assert.strictEqual(data.size, "39 Bytes / 1 lines / 1 loc"); + assert.strictEqual(data.language, "Git Attributes"); + assert.deepStrictEqual(data.rawLines, ["dist/** -diff linguist-generated=true "]); + assert.strictEqual(data.htmlContent, null); }); it("should fetch issues", async () => { -- cgit v1.3.1