* start Signed-off-by: Jess Frazelle <github@jessfraz.com> working for whitespace Signed-off-by: Jess Frazelle <github@jessfraz.com> pull thru Signed-off-by: Jess Frazelle <github@jessfraz.com> fix wasm Signed-off-by: Jess Frazelle <github@jessfraz.com> pull thru to js start Signed-off-by: Jess Frazelle <github@jessfraz.com> actually use the cache in ts Signed-off-by: Jess Frazelle <github@jessfraz.com> rust owns clearing the scene Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> empty stupid log Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> fix tests Signed-off-by: Jess Frazelle <github@jessfraz.com> updatez Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> save the state Signed-off-by: Jess Frazelle <github@jessfraz.com> save the state Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> use the old memory Signed-off-by: Jess Frazelle <github@jessfraz.com> cleanup to use the old exec state Signed-off-by: Jess Frazelle <github@jessfraz.com> fices Signed-off-by: Jess Frazelle <github@jessfraz.com> updates; Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> updates Signed-off-by: Jess Frazelle <github@jessfraz.com> cleanup Signed-off-by: Jess Frazelle <github@jessfraz.com> fixes Signed-off-by: Jess Frazelle <github@jessfraz.com> * rebase and compile Signed-off-by: Jess Frazelle <github@jessfraz.com> * Look at this (photo)Graph *in the voice of Nickelback* * fix the lsp to use the cache Signed-off-by: Jess Frazelle <github@jessfraz.com> * add comment Signed-off-by: Jess Frazelle <github@jessfraz.com> * use a global static instead; Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix rust test Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup more Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanups Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup the api even more Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * Look at this (photo)Graph *in the voice of Nickelback* * bust the cache on unit changes Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * Look at this (photo)Graph *in the voice of Nickelback* * stupid codespell Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
68 lines
1.9 KiB
TypeScript
68 lines
1.9 KiB
TypeScript
import { processMemory } from './MemoryPane'
|
|
import { enginelessExecutor } from '../../../lib/testHelpers'
|
|
import { assertParse, initPromise, ProgramMemory } 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 = `
|
|
const myVar = 5
|
|
fn myFn = (a) => {
|
|
return a - 2
|
|
}
|
|
const otherVar = myFn(5)
|
|
|
|
const theExtrude = startSketchOn('XY')
|
|
|> startProfileAt([0, 0], %)
|
|
|> lineTo([-2.4, myVar], %)
|
|
|> lineTo([-0.76, otherVar], %)
|
|
|> extrude(4, %)
|
|
|
|
const theSketch = startSketchOn('XY')
|
|
|> startProfileAt([0, 0], %)
|
|
|> lineTo([-3.35, 0.17], %)
|
|
|> lineTo([0.98, 5.16], %)
|
|
|> lineTo([2.15, 4.32], %)
|
|
// |> rx(90, %)`
|
|
const ast = assertParse(code)
|
|
const execState = await enginelessExecutor(ast, ProgramMemory.empty())
|
|
const output = processMemory(execState.memory)
|
|
expect(output.myVar).toEqual(5)
|
|
expect(output.otherVar).toEqual(3)
|
|
expect(output).toEqual({
|
|
HALF_TURN: 180,
|
|
QUARTER_TURN: 90,
|
|
THREE_QUARTER_TURN: 270,
|
|
ZERO: 0,
|
|
myVar: 5,
|
|
myFn: '__function(a)__',
|
|
otherVar: 3,
|
|
theExtrude: [
|
|
{
|
|
type: 'extrudePlane',
|
|
tag: null,
|
|
id: expect.any(String),
|
|
faceId: expect.any(String),
|
|
sourceRange: [170, 194, 0],
|
|
},
|
|
{
|
|
type: 'extrudePlane',
|
|
tag: null,
|
|
id: expect.any(String),
|
|
faceId: expect.any(String),
|
|
sourceRange: [202, 230, 0],
|
|
},
|
|
],
|
|
theSketch: [
|
|
{ type: 'ToPoint', to: [-3.35, 0.17], from: [0, 0], tag: null },
|
|
{ type: 'ToPoint', to: [0.98, 5.16], from: [-3.35, 0.17], tag: null },
|
|
{ type: 'ToPoint', to: [2.15, 4.32], from: [0.98, 5.16], tag: null },
|
|
],
|
|
})
|
|
})
|
|
})
|