![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/.local/lib/code-server-4.102.2/node_modules/limiter/src/ |
import { RateLimiter } from "./RateLimiter";
import { Interval } from "./TokenBucket";
describe("RateLimiter", () => {
describe("interval validation", () => {
it("invalid interval", () => {
const junkInterval = ("junk" as unknown) as Interval;
expect(() => new RateLimiter({ tokensPerInterval: 1, interval: junkInterval })).toThrow();
});
it("valid intervals", () => {
expect(() => new RateLimiter({ tokensPerInterval: 1, interval: "sec" })).not.toThrow();
expect(() => new RateLimiter({ tokensPerInterval: 1, interval: "second" })).not.toThrow();
expect(() => new RateLimiter({ tokensPerInterval: 1, interval: "min" })).not.toThrow();
expect(() => new RateLimiter({ tokensPerInterval: 1, interval: "minute" })).not.toThrow();
expect(() => new RateLimiter({ tokensPerInterval: 1, interval: "hr" })).not.toThrow();
expect(() => new RateLimiter({ tokensPerInterval: 1, interval: "hour" })).not.toThrow();
expect(() => new RateLimiter({ tokensPerInterval: 1, interval: "day" })).not.toThrow();
});
});
});