amis2/packages/ooxml-viewer/__tests__/snapShotTest.ts
吴多益 6b749b8b53
feat: Word 支持分页渲染 (#6606)
* 优化分页渲染的支持

* 补充一些注释

* 补充单元测试

* 优化单元测试,减少样式冗余
2023-04-13 21:11:02 +08:00

30 lines
914 B
TypeScript

import fs from 'fs';
import path from 'path';
import XMLPackageParser from '../src/package/XMLPackageParser';
import Word from '../src/Word';
export function createWord(fileName: string, data: any) {
const xmlContent = new Uint8Array(
fs.readFileSync(path.join(__dirname, fileName), null).buffer
);
if (fileName.endsWith('.xml')) {
return new Word(xmlContent, {}, new XMLPackageParser());
}
return new Word(xmlContent, {});
}
export async function snapShotTest(filePath: string) {
// jsdom 不支持这个函数
global.URL.createObjectURL = jest.fn(x => 'blob:http://localhost/mock');
document.body.innerHTML = `
<div id="root"></div>
`;
const root = document.getElementById('root')!;
const word = createWord(filePath, {});
await word.render(root);
// 样式后续单独测试,不然太多冗余了
expect(root.getElementsByTagName('article')[0]).toMatchSnapshot();
}