27 lines
1006 B
TypeScript
27 lines
1006 B
TypeScript
import { readFile } from 'node:fs/promises';
|
|
import { describe, expect, it } from 'vitest';
|
|
import { isCad2DFile, parseCad } from '@hmwebviewer/viewer2d';
|
|
|
|
describe('viewer2d package interface', () => {
|
|
it('parses the sample DXF through the public package interface', async () => {
|
|
const file = await readFile(new URL('../public/samples/simple.dxf', import.meta.url));
|
|
const result = await parseCad({
|
|
name: 'simple.dxf',
|
|
data: file.buffer.slice(file.byteOffset, file.byteOffset + file.byteLength),
|
|
});
|
|
const entities = result.entities as Array<{ layer?: string; type?: string }>;
|
|
|
|
expect(isCad2DFile('drawing.DWG')).toBe(true);
|
|
expect(isCad2DFile('drawing.dxf')).toBe(true);
|
|
expect(isCad2DFile('drawing.pdf')).toBe(false);
|
|
expect(entities.map(({ type, layer }) => [type, layer])).toEqual([
|
|
['LINE', 'OUTLINE'],
|
|
['LINE', 'OUTLINE'],
|
|
['LINE', 'OUTLINE'],
|
|
['LINE', 'OUTLINE'],
|
|
['CIRCLE', '0'],
|
|
['TEXT', '0'],
|
|
]);
|
|
});
|
|
});
|