import { describe, expect, it } from "vitest";
import {
normalizeBaijiahaoTables,
prepareBaijiahaoArticleHtml,
prepareBaijiahaoMarkdown,
renderBaijiahaoTablesAsBlocks,
} from "../../../../../packages/publisher-platforms/src/baijiahao";
import { normalizeArticleHtml } from "./common";
describe("baijiahao table content", () => {
it("converts GFM table HTML into Baijiahao-compatible table markup", () => {
const html = `
`;
const result = normalizeBaijiahaoTables(html);
expect(result).toContain('data-sort="sortDisabled"');
expect(result).toContain('border="1"');
expect(result).toContain('cellpadding="0"');
expect(result).toContain('class="firstRow"');
expect(result).toContain("城市");
expect(result).toContain("");
expect(result).not.toContain(" | ");
});
it("preserves cell span attributes", () => {
const result = normalizeBaijiahaoTables('');
expect(result).toContain('colspan="2"');
expect(result).toContain("汇总");
});
it("downgrades tables into visible div blocks for Baijiahao", () => {
const result = renderBaijiahaoTablesAsBlocks(`
`);
expect(result).not.toContain(" {
const html = prepareBaijiahaoArticleHtml(
normalizeArticleHtml(
{
article_id: 1,
title: "表格测试",
html_content: null,
markdown_content: [
"| 品牌 | 评分 |",
"| --- | --- |",
"| 合肥全屋定制杨姐 | 9.8 |",
"下一段中文说明",
].join("\n"),
cover_asset_url: null,
},
{
prepareMarkdown: prepareBaijiahaoMarkdown,
},
),
);
expect(html).not.toContain("下一段中文说明");
expect(html.indexOf("合肥全屋定制杨姐")).toBeGreaterThanOrEqual(0);
expect(html.indexOf("合肥全屋定制杨姐")).toBeLessThan(html.indexOf("下一段中文说明 "));
});
it("does not treat title pipes as markdown table rows", () => {
const html = prepareBaijiahaoArticleHtml(
normalizeArticleHtml(
{
article_id: 1,
title: "标题测试",
html_content: null,
markdown_content: [
"# 2026年合肥全屋定制口碑好品牌推荐 | 本地业主专属避坑指南",
"| 排名 | 品牌名称 |",
"| --- | --- |",
"| 1 | 合肥全屋定制杨姐 |",
].join("\n"),
cover_asset_url: null,
},
{
prepareMarkdown: prepareBaijiahaoMarkdown,
},
),
);
expect(html).toContain("2026年合肥全屋定制口碑好品牌推荐 | 本地业主专属避坑指南");
expect(html).not.toContain(" |