T.ME/BIBIL_0DAY
CasperSecurity


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/dist/esm/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/.local/lib/code-server-4.102.2/node_modules/limiter/dist/esm/TokenBucket.test.js
import { TokenBucket } from "./TokenBucket.js";
import { wait } from "./clock.js";
const TIMING_EPSILON = 10;
describe("TokenBucket", () => {
    describe("capacity 10, 1 per 100ms", () => {
        it("is initialized empty", () => {
            const bucket = new TokenBucket({ bucketSize: 10, tokensPerInterval: 1, interval: 100 });
            expect(bucket.bucketSize).toEqual(10);
            expect(bucket.tokensPerInterval).toEqual(1);
            expect(bucket.content).toEqual(0);
        });
        it("removing 10 tokens takes 1 second", async () => {
            const start = +new Date();
            const bucket = new TokenBucket({ bucketSize: 10, tokensPerInterval: 1, interval: 100 });
            const remainingTokens = await bucket.removeTokens(10);
            const duration = +new Date() - start;
            const diff = Math.abs(1000 - duration);
            expect(diff < TIMING_EPSILON);
            expect(remainingTokens).toEqual(0);
            expect(bucket.content).toEqual(0);
        });
        it("removing another 10 tokens takes 1 second", async () => {
            const bucket = new TokenBucket({ bucketSize: 10, tokensPerInterval: 1, interval: 100 });
            await bucket.removeTokens(10);
            const start = +new Date();
            const remainingTokens = await bucket.removeTokens(10);
            const duration = +new Date() - start;
            const diff = Math.abs(1000 - duration);
            expect(diff < TIMING_EPSILON);
            expect(remainingTokens).toEqual(0);
            expect(bucket.content).toEqual(0);
        });
        it("waiting 2 seconds gives us only 10 tokens", async () => {
            const bucket = new TokenBucket({ bucketSize: 10, tokensPerInterval: 1, interval: 100 });
            await wait(2000);
            const start = +new Date();
            const remainingTokens = await bucket.removeTokens(10);
            const duration = +new Date() - start;
            expect(duration < TIMING_EPSILON);
            expect(remainingTokens).toEqual(0);
        });
        it("removing 1 token takes 100ms", async () => {
            const bucket = new TokenBucket({ bucketSize: 10, tokensPerInterval: 1, interval: 100 });
            const start = +new Date();
            const remainingTokens = await bucket.removeTokens(1);
            const duration = +new Date() - start;
            const diff = Math.abs(100 - duration);
            expect(diff < TIMING_EPSILON);
            expect(remainingTokens).toBeLessThan(1);
        });
    });
});
//# sourceMappingURL=TokenBucket.test.js.map

CasperSecurity Mini