Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/dceprojects.corals.io/node_modules/ext/test/promise/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/dceprojects.corals.io/node_modules/ext/test/promise/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); });
		});
	});
});

Spamworldpro Mini