Compare commits
2 Commits
a56594b1df
...
8c2a83ecee
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8c2a83ecee | ||
|
|
765bec03c0 |
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "multi-hoster-uploader",
|
"name": "multi-hoster-uploader",
|
||||||
"version": "2.3.5",
|
"version": "2.3.6",
|
||||||
"description": "Upload files to doodstream, voe, vidmoly, byse simultaneously",
|
"description": "Upload files to doodstream, voe, vidmoly, byse simultaneously",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -162,4 +162,13 @@ describe('Semaphore', () => {
|
|||||||
await new Promise(r => setTimeout(r, 5));
|
await new Promise(r => setTimeout(r, 5));
|
||||||
assert.equal(sem.pending, 1);
|
assert.equal(sem.pending, 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('release without acquire clamps active to 0', () => {
|
||||||
|
const sem = new Semaphore(2);
|
||||||
|
assert.equal(sem.active, 0);
|
||||||
|
sem.release();
|
||||||
|
assert.equal(sem.active, 0, 'should not go negative');
|
||||||
|
sem.release();
|
||||||
|
assert.equal(sem.active, 0, 'should still be 0');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -83,4 +83,19 @@ describe('Throttle', () => {
|
|||||||
const elapsed = Date.now() - start2;
|
const elapsed = Date.now() - start2;
|
||||||
assert.ok(elapsed >= 150, `third consume should wait for refill, took ${elapsed}ms`);
|
assert.ok(elapsed >= 150, `third consume should wait for refill, took ${elapsed}ms`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('consume(0) resolves immediately', async () => {
|
||||||
|
const t = new Throttle(100);
|
||||||
|
const start = Date.now();
|
||||||
|
await t.consume(0);
|
||||||
|
assert.ok(Date.now() - start < 50);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('updateRate to unlimited (0) makes consume instant', async () => {
|
||||||
|
const t = new Throttle(100); // very slow
|
||||||
|
t.updateRate(0); // unlimited
|
||||||
|
const start = Date.now();
|
||||||
|
await t.consume(1_000_000);
|
||||||
|
assert.ok(Date.now() - start < 50, 'unlimited rate should be instant');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user