aboutsummaryrefslogtreecommitdiff
path: root/test/deep-research/readability-test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/deep-research/readability-test.ts')
-rw-r--r--test/deep-research/readability-test.ts60
1 files changed, 0 insertions, 60 deletions
diff --git a/test/deep-research/readability-test.ts b/test/deep-research/readability-test.ts
deleted file mode 100644
index 211229d..0000000
--- a/test/deep-research/readability-test.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { test, describe } from "node:test";
-import assert from "node:assert/strict";
-import { readFileSync } from "node:fs";
-import { join } from "node:path";
-import { extractReadable, type PageCapture } from "../../src/domains/readpage/readability";
-
-const fixture = (name: string): PageCapture =>
- JSON.parse(readFileSync(join(import.meta.dirname, "fixtures", name), "utf8")) as PageCapture;
-
-describe("pure readability extractor", () => {
- test("S10: article body text is present", () => {
- const page = extractReadable(fixture("article-capture.json"));
- assert.ok(page.text.includes("Chrome DevTools Protocol lets tools instrument"));
- });
-
- test("S10: article headings are preserved", () => {
- const page = extractReadable(fixture("article-capture.json"));
- assert.ok(page.text.includes("Sessions and Targets"));
- });
-
- test("S10: nav boilerplate is dropped", () => {
- const page = extractReadable(fixture("article-capture.json"));
- assert.ok(!page.text.includes("Home Products Blog"));
- });
-
- test("S10: footer boilerplate is dropped", () => {
- const page = extractReadable(fixture("article-capture.json"));
- assert.ok(!page.text.includes("Copyright 2026"));
- });
-
- test("S10: high-link-density promo block is dropped", () => {
- const page = extractReadable(fixture("article-capture.json"));
- assert.ok(!page.text.includes("Subscribe here for our newsletter"));
- });
-
- test("S10: paragraph/heading structure preserved as markdown", () => {
- const page = extractReadable(fixture("article-capture.json"));
- assert.ok(page.text.includes("## Sessions and Targets"));
- });
-
- test("S10: title and url passed through", () => {
- const page = extractReadable(fixture("article-capture.json"));
- assert.ok(page.title === "How the Chrome DevTools Protocol Works" && page.url.startsWith("https://"));
- });
-
- test("S10: word count reflects the article body", () => {
- const page = extractReadable(fixture("article-capture.json"));
- assert.ok(page.wordCount > 40);
- });
-
- test("S11: structure-less page falls back to non-empty body text", () => {
- const page = extractReadable(fixture("no-article-capture.json"));
- assert.ok(page.text.length > 0);
- });
-
- test("S11: fallback body text carries the real content", () => {
- const page = extractReadable(fixture("no-article-capture.json"));
- assert.ok(page.text.includes("Your account is active"));
- });
-});