feat: 实现 Pandoc DOCX 转换服务
This commit is contained in:
@@ -6,7 +6,8 @@ import {
|
||||
} from "../src/index.js";
|
||||
|
||||
function createReferencePackage(
|
||||
overrides: Record<string, Uint8Array> = {}
|
||||
overrides: Record<string, Uint8Array> = {},
|
||||
mtime = new Date("2020-01-01T00:00:00.000Z")
|
||||
) {
|
||||
const entries = Object.fromEntries(
|
||||
requiredReferenceDocxParts.map((name) => [
|
||||
@@ -14,14 +15,25 @@ function createReferencePackage(
|
||||
new TextEncoder().encode(`<part name="${name}"/>`)
|
||||
])
|
||||
);
|
||||
return zipSync({ ...entries, ...overrides });
|
||||
return zipSync(
|
||||
Object.fromEntries(
|
||||
Object.entries({ ...entries, ...overrides }).map(
|
||||
([name, content]) => [name, [content, { mtime }]]
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
describe("reference.docx 包", () => {
|
||||
it("预检中央目录并返回稳定指纹", () => {
|
||||
const content = createReferencePackage();
|
||||
const first = readReferenceDocxPackage(content);
|
||||
const second = readReferenceDocxPackage(content);
|
||||
const second = readReferenceDocxPackage(
|
||||
createReferencePackage(
|
||||
{},
|
||||
new Date("2026-07-30T00:00:00.000Z")
|
||||
)
|
||||
);
|
||||
|
||||
expect(first.entries.size).toBe(requiredReferenceDocxParts.length);
|
||||
expect(first.entries.has("word/styles.xml")).toBe(true);
|
||||
|
||||
Reference in New Issue
Block a user