mirror of https://github.com/openclaw/openclaw.git
26 lines
786 B
TypeScript
26 lines
786 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { parseByteSize } from "./parse-bytes.js";
|
|
|
|
describe("parseByteSize", () => {
|
|
it("parses bytes with units", () => {
|
|
expect(parseByteSize("10kb")).toBe(10 * 1024);
|
|
expect(parseByteSize("1mb")).toBe(1024 * 1024);
|
|
expect(parseByteSize("2gb")).toBe(2 * 1024 * 1024 * 1024);
|
|
});
|
|
|
|
it("parses shorthand units", () => {
|
|
expect(parseByteSize("5k")).toBe(5 * 1024);
|
|
expect(parseByteSize("1m")).toBe(1024 * 1024);
|
|
});
|
|
|
|
it("uses default unit when omitted", () => {
|
|
expect(parseByteSize("123")).toBe(123);
|
|
});
|
|
|
|
it("rejects invalid values", () => {
|
|
expect(() => parseByteSize("")).toThrow();
|
|
expect(() => parseByteSize("nope")).toThrow();
|
|
expect(() => parseByteSize("-5kb")).toThrow();
|
|
});
|
|
});
|