UNPKG

@applicaster/zapp-react-native-ui-components

Version:

Applicaster Zapp React Native ui components for the Quick Brick App

82 lines (54 loc) 1.88 kB
import { normalizeProgressValue } from "../utils"; describe("normalizeProgressValue", () => { const DEFAULT_VALUE = 0; describe("valid numbers", () => { it("convert it to numbers", () => { const inputs = [0, 0.5, 1]; inputs.forEach((input) => { const output = normalizeProgressValue(DEFAULT_VALUE, input); expect(output).toBe(input); }); expect.assertions(inputs.length); }); it("convert string 0.5 to 0.5", () => { const input = "0.5"; const output = normalizeProgressValue(DEFAULT_VALUE, input); expect(output).toBe(0.5); }); it("convert 0.99 to 0.99", () => { const input = 0.99; const output = normalizeProgressValue(DEFAULT_VALUE, input); expect(output).toBe(0.99); }); it("convert 0.999999999 to 1", () => { const input = 0.999999999; const output = normalizeProgressValue(DEFAULT_VALUE, input); expect(output).toBe(1); }); it("convert 0.06175109281767956 to 0.06", () => { const input = 0.06175109281767956; const output = normalizeProgressValue(DEFAULT_VALUE, input); expect(output).toBe(0.06); }); it("convert -1 to 0", () => { const input = -1; const output = normalizeProgressValue(DEFAULT_VALUE, input); expect(output).toBe(0); }); it("convert 2 to 1", () => { const input = 2; const output = normalizeProgressValue(DEFAULT_VALUE, input); expect(output).toBe(1); }); }); describe("invalid numbers", () => { it("convert it to zero", () => { const inputs = [NaN, "vfdnkvnfjk", null, undefined, {}, [], [0]]; inputs.forEach((input) => { const output = normalizeProgressValue(DEFAULT_VALUE, input); expect(output).toBe(DEFAULT_VALUE); }); expect.assertions(inputs.length); }); }); });