imrishabh18/corne-keyboard
The code defines and renders two surface-mount chip components with SMT pads, silkscreen outlines, and 3D CAD models (OBJ and STEP) for PCB assembly.
- Version
- 2.0.21
- License
- unset
- Stars
- 1
scripts/normalize-via-transitions.test.ts
import { expect, test } from 'bun:test'
import { normalizeViaTransitions } from './normalize-via-transitions.mjs'
const makeRoute = (drift: number) => [{
route: [{x:6.283041185844342,y:-13.12593027765996,z:1},
{x:6.283041185844342,y:-13.12593027765996+drift,z:0}],
vias:[{x:6.283041185844342,y:-13.12593027765996}],
}]
test('normalizes the measured failure to its existing via without mutating input',()=>{
const input=makeRoute(-0.000037279622707);const before=structuredClone(input)
const output=normalizeViaTransitions(input)
expect(output[0].route[0].y).toBe(output[0].route[1].y)
expect(input).toEqual(before)
expect(output[0].vias).toEqual(input[0].vias)
})
test('preserves real layer-transition errors for the router to reject',()=>{
const input=makeRoute(0.01)
expect(normalizeViaTransitions(input)).toBe(input)
})
test('does not invent a via where none is recorded',()=>{
const input=makeRoute(0.00001);input[0].vias=[]
expect(normalizeViaTransitions(input)).toBe(input)
})