mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-07-10 01:29:41 +00:00
* feat: add devin provider * feat: add devin to gnome extension and improve dev scripts * fix: fix local installer * chore: cleanup unecessary changes and address pr comments
53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
|
|
import { isPositiveNumber, safeNumber } from '../src/parser.js'
|
|
|
|
describe('safeNumber', () => {
|
|
it('returns positive finite numbers unchanged', () => {
|
|
expect(safeNumber(1)).toBe(1)
|
|
expect(safeNumber(0.25)).toBe(0.25)
|
|
})
|
|
|
|
it('normalizes non-positive numbers to zero', () => {
|
|
expect(safeNumber(0)).toBe(0)
|
|
expect(safeNumber(-1)).toBe(0)
|
|
})
|
|
|
|
it('normalizes non-finite numbers to zero', () => {
|
|
expect(safeNumber(Number.NaN)).toBe(0)
|
|
expect(safeNumber(Number.POSITIVE_INFINITY)).toBe(0)
|
|
expect(safeNumber(Number.NEGATIVE_INFINITY)).toBe(0)
|
|
})
|
|
|
|
it('normalizes non-number values to zero', () => {
|
|
expect(safeNumber('12')).toBe(0)
|
|
expect(safeNumber(null)).toBe(0)
|
|
expect(safeNumber(undefined)).toBe(0)
|
|
expect(safeNumber({ value: 12 })).toBe(0)
|
|
})
|
|
})
|
|
|
|
describe('isPositiveNumber', () => {
|
|
it('returns true for positive finite numbers', () => {
|
|
expect(isPositiveNumber(1)).toBe(true)
|
|
expect(isPositiveNumber(0.25)).toBe(true)
|
|
})
|
|
|
|
it('returns false for zero and negative numbers', () => {
|
|
expect(isPositiveNumber(0)).toBe(false)
|
|
expect(isPositiveNumber(-1)).toBe(false)
|
|
})
|
|
|
|
it('returns false for non-finite numbers', () => {
|
|
expect(isPositiveNumber(Number.NaN)).toBe(false)
|
|
expect(isPositiveNumber(Number.POSITIVE_INFINITY)).toBe(false)
|
|
expect(isPositiveNumber(Number.NEGATIVE_INFINITY)).toBe(false)
|
|
})
|
|
|
|
it('returns false for non-number values', () => {
|
|
expect(isPositiveNumber('12')).toBe(false)
|
|
expect(isPositiveNumber(null)).toBe(false)
|
|
expect(isPositiveNumber(undefined)).toBe(false)
|
|
expect(isPositiveNumber({ value: 12 })).toBe(false)
|
|
})
|
|
})
|