Uname: Linux webm016.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 7.4.33 [ PHP INFO ] PHP os: Linux
Server Ip: 54.36.31.145
Your Ip: 216.73.216.182
User: homesquasz (91404) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : limit.js
"use strict";

var assert = require("chai").assert
  , wait   = require("timers-ext/promise/sleep")
  , limit  = require("../../promise/limit").bind(Promise);

describe("promise/limit", function () {
	it("Should limit executions", function () {
		var count = 0;
		var callCount = 0;
		var limited = limit(2, function (arg1) {
			var id = ++count;
			assert.equal(arg1, "foo");
			assert.equal(arguments[1], id);
			return wait(10).then(function () { return id; });
		});
		limited("foo", ++callCount);
		assert.equal(count, 1);
		limited("foo", ++callCount);
		assert.equal(count, 2);
		limited("foo", ++callCount);
		assert.equal(count, 2);
		limited("foo", ++callCount);
		assert.equal(count, 2);
		return wait(25).then(function () {
			assert.equal(count, 4);
			limited("foo", ++callCount);
			assert.equal(count, 5);
			limited("foo", ++callCount);
			assert.equal(count, 6);
			limited("foo", ++callCount);
			assert.equal(count, 6);
			return wait(25).then(function () { assert.equal(count, 7); });
		});
	});

	it("Should resolve with expected result", function () {
		var count = 0;
		var limited = limit(2, function () {
			var id = ++count;
			return wait(10).then(function () { return id; });
		});
		limited();
		assert.equal(count, 1);
		limited();
		assert.equal(count, 2);
		return limited().then(function (result) {
			assert.equal(result, 3);
			limited().then(function (result) { assert.equal(result, 4); });
		});
	});
});
© 2026 GrazzMean