Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/pend/ |
Upload File : |
var assert = require('assert'); var Pend = require('./'); var tests = [ { name: "basic", fn: testBasic, }, { name: "max", fn: testWithMax, }, { name: "callback twice", fn: testCallbackTwice, }, { name: "calling wait twice", fn: testCallingWaitTwice, }, { name: "hold()", fn: testHoldFn, }, ]; var testCount = tests.length; doOneTest(); function doOneTest() { var test = tests.shift(); if (!test) { console.log(testCount + " tests passed."); return; } process.stdout.write(test.name + "..."); test.fn(function() { process.stdout.write("OK\n"); doOneTest(); }); } function testBasic(cb) { var pend = new Pend(); var results = []; pend.go(function(cb) { results.push(1); setTimeout(function() { results.push(3); cb(); }, 500); }); pend.go(function(cb) { results.push(2); setTimeout(function() { results.push(4); cb(); }, 1000); }); pend.wait(function(err) { assert.deepEqual(results, [1,2,3,4]); cb(); }); assert.deepEqual(results, [1, 2]); } function testWithMax(cb) { var pend = new Pend(); var results = []; pend.max = 2; pend.go(function(cb) { results.push('a'); setTimeout(function() { results.push(1); cb(); }, 500); }); pend.go(function(cb) { results.push('b'); setTimeout(function() { results.push(1); cb(); }, 500); }); pend.go(function(cb) { results.push('c'); setTimeout(function() { results.push(2); cb(); }, 100); }); pend.wait(function(err) { assert.deepEqual(results, ['a', 'b', 1, 'c', 1, 2]); cb(); }); assert.deepEqual(results, ['a', 'b']); } function testCallbackTwice(cb) { var pend = new Pend(); pend.go(function(cb) { setTimeout(cb, 100); }); pend.go(function(cb) { cb(); assert.throws(cb, /callback called twice/); }); pend.wait(cb); } function testCallingWaitTwice(cb) { var pend = new Pend(); pend.go(function(cb) { setTimeout(cb, 100); }); pend.wait(function() { pend.go(function(cb) { setTimeout(cb, 50); }); pend.go(function(cb) { setTimeout(cb, 10); }); pend.go(function(cb) { setTimeout(cb, 20); }); pend.wait(cb); }); } function testHoldFn(cb) { var pend = new Pend(); setTimeout(pend.hold(), 100); pend.go(function(cb) { cb(); }); pend.wait(cb); }