Files
nezha-dash-v1/src/test/lib/format.test.ts
T
hamster1963 5720af9108 test: add unit tests for various components and utilities
- Created tests for formatBytes function to ensure correct formatting of byte values.
- Implemented tests for InjectContext to validate resource injection and cleanup.
- Added tests for logo-class helpers to verify platform alias mappings.
- Developed tests for nezha-api functions to check API response handling.
- Introduced tests for static geographic data to validate country coordinates and GeoJSON structure.
- Created comprehensive tests for utility functions including date formatting and public note parsing.
- Added tests for Server page to ensure correct rendering and functionality.
- Implemented tests for simple pages including error handling and navigation.
- Set up testing environment with Vitest and configured coverage reporting.
2026-06-15 11:29:48 +08:00

22 lines
648 B
TypeScript

import { describe, expect, it } from "vitest";
import { formatBytes } from "@/lib/format";
describe("formatBytes", () => {
it("formats empty byte values as zero KiB", () => {
expect(formatBytes(0)).toBe("0 KiB");
expect(formatBytes(Number.NaN)).toBe("0 KiB");
});
it("keeps byte values in binary units", () => {
expect(formatBytes(512)).toBe("0.50 KiB");
expect(formatBytes(1024)).toBe("1.00 KiB");
expect(formatBytes(1024 ** 2)).toBe("1.00 MiB");
expect(formatBytes(1024 ** 3 * 2.5, 1)).toBe("2.5 GiB");
});
it("clamps negative decimal precision to an integer", () => {
expect(formatBytes(1536, -1)).toBe("2 KiB");
});
});