feat: advance FreeCAD parity and native OCCT history
This commit is contained in:
22
native/occt-history/smoke-test.mjs
Normal file
22
native/occt-history/smoke-test.mjs
Normal file
@@ -0,0 +1,22 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import createOcctHistory from './dist/bitbybit-occt-history.js'
|
||||
|
||||
const occt = await createOcctHistory()
|
||||
assert.match(occt.occtVersion(), /^8\./)
|
||||
const object = occt.makeBox(10, 10, 10)
|
||||
const tool = occt.makeBox(5, 5, 5)
|
||||
const response = occt.booleanHistory(object, tool, 'cut')
|
||||
const objectStep = occt.shapeToStep(object)
|
||||
const toolStep = occt.shapeToStep(tool)
|
||||
assert.match(objectStep, /^ISO-10303-21;/)
|
||||
assert.match(toolStep, /^ISO-10303-21;/)
|
||||
const serializedResponse = occt.booleanHistoryFromStep(objectStep, toolStep, 'cut')
|
||||
assert.equal(response.provider, 'occt-native')
|
||||
assert.equal(response.records.every((record) => ['generated', 'modified', 'deleted'].includes(record.relation)), true)
|
||||
assert.equal(typeof response.hasModified, 'boolean')
|
||||
assert.equal(typeof response.hasGenerated, 'boolean')
|
||||
assert.equal(typeof response.hasDeleted, 'boolean')
|
||||
assert.equal(serializedResponse.provider, 'occt-native')
|
||||
assert.equal(serializedResponse.records.length > 0, true)
|
||||
assert.match(serializedResponse.resultStep, /^ISO-10303-21;/)
|
||||
console.log(JSON.stringify({ occtVersion: response.occtVersion, recordCount: response.records.length, hasModified: response.hasModified, hasGenerated: response.hasGenerated, hasDeleted: response.hasDeleted }, null, 2))
|
||||
Reference in New Issue
Block a user