fix(desktop): guard manual window drag coordinates

This commit is contained in:
Mohamed Boudra
2026-03-21 14:58:57 +07:00
parent b15159caeb
commit 6731879931
6 changed files with 360 additions and 142 deletions
@@ -0,0 +1,28 @@
import { describe, expect, it } from 'vitest'
import { readFiniteScreenPoint } from './desktop-window-drag-coordinates'
describe('readFiniteScreenPoint', () => {
it('returns finite screen coordinates', () => {
expect(readFiniteScreenPoint({ screenX: 1280, screenY: 720 })).toEqual({
screenX: 1280,
screenY: 720,
})
})
it('rejects NaN screen coordinates', () => {
expect(readFiniteScreenPoint({ screenX: Number.NaN, screenY: 720 })).toBeNull()
expect(readFiniteScreenPoint({ screenX: 1280, screenY: Number.NaN })).toBeNull()
})
it('rejects infinite screen coordinates', () => {
expect(readFiniteScreenPoint({ screenX: Number.POSITIVE_INFINITY, screenY: 720 })).toBeNull()
expect(readFiniteScreenPoint({ screenX: 1280, screenY: Number.NEGATIVE_INFINITY })).toBeNull()
})
it('rejects missing screen coordinates', () => {
expect(readFiniteScreenPoint(undefined)).toBeNull()
expect(readFiniteScreenPoint({ screenX: 1280 })).toBeNull()
expect(readFiniteScreenPoint({ screenY: 720 })).toBeNull()
})
})