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.
This commit is contained in:
hamster1963
2026-06-15 11:29:48 +08:00
parent 5670811991
commit 5720af9108
38 changed files with 5686 additions and 23 deletions
+21
View File
@@ -0,0 +1,21 @@
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");
});
});