76 lines
1.9 KiB
JavaScript
76 lines
1.9 KiB
JavaScript
import fs from 'fs'
|
|
import { join } from 'path'
|
|
import expect from 'expect'
|
|
|
|
import { parseString } from '../../src'
|
|
const dxfContents = fs.readFileSync(
|
|
join(__dirname, '/../resources/blocks2.dxf'),
|
|
'utf-8',
|
|
)
|
|
|
|
describe('BLOCK 2', () => {
|
|
it('can be parsed', () => {
|
|
const blocks = parseString(dxfContents).blocks
|
|
expect(blocks.length).toEqual(5)
|
|
expect(blocks[0]).toEqual({
|
|
name: '*Model_Space',
|
|
entities: [],
|
|
x: 0,
|
|
xref: '',
|
|
y: 0,
|
|
z: 0,
|
|
})
|
|
expect(blocks[1]).toEqual({
|
|
name: '*Paper_Space',
|
|
entities: [],
|
|
x: 0,
|
|
xref: '',
|
|
y: 0,
|
|
z: 0,
|
|
})
|
|
|
|
const entities2 = blocks[2].entities
|
|
delete blocks[2].entities
|
|
expect(blocks[2]).toEqual({
|
|
name: 'block_insert',
|
|
x: 0,
|
|
xref: '',
|
|
y: 0,
|
|
})
|
|
expect(entities2.length).toEqual(2)
|
|
expect(entities2[0].type).toEqual('INSERT')
|
|
expect(entities2[1].type).toEqual('INSERT')
|
|
|
|
const entities3 = blocks[3].entities
|
|
delete blocks[3].entities
|
|
expect(blocks[3]).toEqual({
|
|
name: 'block01',
|
|
x: 0,
|
|
xref: '',
|
|
y: 0,
|
|
})
|
|
expect(entities3.length).toEqual(6)
|
|
expect(entities3[0].type).toEqual('LINE')
|
|
expect(entities3[1].type).toEqual('LINE')
|
|
expect(entities3[2].type).toEqual('LINE')
|
|
expect(entities3[3].type).toEqual('LINE')
|
|
expect(entities3[4].type).toEqual('ARC')
|
|
expect(entities3[5].type).toEqual('MTEXT')
|
|
|
|
const entities4 = blocks[4].entities
|
|
delete blocks[4].entities
|
|
expect(blocks[4]).toEqual({
|
|
name: 'block02',
|
|
x: 0,
|
|
xref: '',
|
|
y: 0,
|
|
})
|
|
expect(entities4.length).toEqual(5)
|
|
expect(entities4[0].type).toEqual('LINE')
|
|
expect(entities4[1].type).toEqual('LINE')
|
|
expect(entities4[2].type).toEqual('LINE')
|
|
expect(entities4[3].type).toEqual('MTEXT')
|
|
expect(entities4[4].type).toEqual('ELLIPSE')
|
|
})
|
|
})
|