svelte-range-slider-pips
Version:
Multi-Thumb, Accessible, Beautiful Range Slider with Pips
29 lines (24 loc) • 913 B
text/typescript
import { describe, it, expect } from 'vitest';
import { isFiniteNumber } from './utils.js';
describe('isFiniteNumber', () => {
it('should return true for finite numbers', () => {
expect(isFiniteNumber(42)).toBe(true);
expect(isFiniteNumber(0)).toBe(true);
expect(isFiniteNumber(-42)).toBe(true);
expect(isFiniteNumber(3.14)).toBe(true);
});
it('should return false for non-numbers', () => {
// Test with type assertions to properly test the type guard
const testValues: unknown[] = ['42', null, undefined, {}, []];
testValues.forEach((value) => {
expect(isFiniteNumber(value as number)).toBe(false);
});
});
it('should return false for NaN', () => {
expect(isFiniteNumber(NaN)).toBe(false);
});
it('should return false for Infinity', () => {
expect(isFiniteNumber(Infinity)).toBe(false);
expect(isFiniteNumber(-Infinity)).toBe(false);
});
});