From f179a3f77c6617b4375e6149cc696ae5dab4d171 Mon Sep 17 00:00:00 2001 From: Joe Mou Date: Mon, 20 Apr 2026 17:14:11 -0400 Subject: Apply overlapping styling drectives instead of duplicating content --- src/scraper.test.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/scraper.test.ts') diff --git a/src/scraper.test.ts b/src/scraper.test.ts index a843561..4432231 100644 --- a/src/scraper.test.ts +++ b/src/scraper.test.ts @@ -95,7 +95,7 @@ describe("GitHub scraper", () => { assert.strictEqual(data.textLines?.[0], "# deploy-pages 🚀"); assert.strictEqual( data.htmlLines?.[0], - '# deploy-pages 🚀deploy-pages 🚀deploy-pages 🚀', + '# deploy-pages 🚀', ); const firstLine = /^

deploy-pages 🚀<\/h1>/; @@ -197,6 +197,28 @@ describe("GitHub scraper", () => { }); }); + describe("dustinlyons/nixos-config repository", () => { + it("should fetch nix blob with combined overlapping styling directives", async () => { + const data = await getGitHubBlob("dustinlyons", "nixos-config", "main", "flake.nix"); + + assert.strictEqual(data.repo.owner, "dustinlyons"); + assert.strictEqual(data.repo.name, "nixos-config"); + assert.strictEqual(data.path, "flake.nix"); + assert.strictEqual(data.image, false); + assert.strictEqual(data.htmlContent, null); + assert.ok(data.htmlLines !== null && data.htmlLines.length > 0); + + // Line 2 has directives [2,13,"pl-c1"] and [2,13,"pl-s1"] with identical ranges. + // They should be combined into one span, not duplicated. + const line2 = data.htmlLines[1]; + assert.ok(line2.includes('class="pl-c1 pl-s1"'), `expected combined classes in: ${line2}`); + assert.ok( + (line2.match(/description/g) ?? []).length === 1, + `expected "description" to appear once in: ${line2}`, + ); + }); + }); + describe("rich file types", () => { it("should support PNG", async () => { const data = await getGitHubBlob("github", "docs", "main", "assets/images/site/logo.png"); -- cgit v1.3.1