Files
modeling-app/src/components/ModelingSidebar/ModelingPanes/MemoryPane.test.tsx
Nick Cameron e8feb0309b Automatic fixing of deprecations and use non-quoted default planes by default (#5902)
* Automatic fixing of deprecations and use non-quoted default planes by default

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-21 09:39:12 +00:00

78 lines
2.0 KiB
TypeScript

import { processMemory } from './MemoryPane'
import { enginelessExecutor } from '../../../lib/testHelpers'
import { assertParse, initPromise } from '../../../lang/wasm'
beforeAll(async () => {
await initPromise
})
describe('processMemory', () => {
it('should grab the values and remove and geo data', async () => {
// Enable rotations #152
const code = `
myVar = 5
fn myFn = (a) => {
return a - 2
}
otherVar = myFn(5)
theExtrude = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [-2.4, myVar])
|> line(endAbsolute = [-0.76, otherVar])
|> extrude(length = 4)
theSketch = startSketchOn(XY)
|> startProfileAt([0, 0], %)
|> line(endAbsolute = [-3.35, 0.17])
|> line(endAbsolute = [0.98, 5.16])
|> line(endAbsolute = [2.15, 4.32])
// |> rx(90, %)`
const ast = assertParse(code)
const execState = await enginelessExecutor(ast)
const output = processMemory(execState.variables)
expect(output.myVar).toEqual(5)
expect(output.otherVar).toEqual(3)
expect(output.myFn).toEqual('__function__')
expect(output.theExtrude).toEqual([
{
type: 'extrudePlane',
tag: null,
id: expect.any(String),
faceId: expect.any(String),
sourceRange: [expect.any(Number), expect.any(Number), 0],
},
{
type: 'extrudePlane',
tag: null,
id: expect.any(String),
faceId: expect.any(String),
sourceRange: [expect.any(Number), expect.any(Number), 0],
},
])
expect(output.theSketch).toEqual([
{
type: 'ToPoint',
to: [-3.35, 0.17],
from: [0, 0],
units: { type: 'Mm' },
tag: null,
},
{
type: 'ToPoint',
to: [0.98, 5.16],
from: [-3.35, 0.17],
units: { type: 'Mm' },
tag: null,
},
{
type: 'ToPoint',
to: [2.15, 4.32],
from: [0.98, 5.16],
units: { type: 'Mm' },
tag: null,
},
])
})
})