/
eb
/
Surf
Обзор
Документация
Войти
/
eb
/
Surf
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/stream-throttle/test/throttle_test.js
49 строк
1 KB
EvgeniyBudaev
Initial commit
17 фев 2020, 09:02
17 фев 2020, 09:02
bb6f06f
Код
Авторство
О чём код?
var async = require('async'); var Throttle = require('../index.js').Throttle; var ThrottleGroup = require('../index.js').ThrottleGroup; var sendStr = (function() { var s = '0123456789xyzXYZ?!\0åéîõü$£€*<>'; // 30 characters for (var i = 0, str = ''; i < 1000; i++) str += s; return str; // 30K characters })(); var opts = {rate: 100000}; // 100 KiB/s var testSendRecv = function(t, cb) { var recvStr = ''; t.on('data', function(chunk) { recvStr += chunk; }); t.on('end', function() { cb(sendStr == recvStr); }); t.write(sendStr, function() { t.end(); }); }; exports.testThrottle = function(test) { var t = new Throttle(opts); test.expect(1); testSendRecv(t, function(ok) { test.ok(ok, "received string should equal sent string"); test.done(); }); }; exports.testGroupThrottle = function(test) { var tg = new ThrottleGroup(opts); test.expect(3); async.each([1, 2, 3], function(i, done) { testSendRecv(tg.throttle(), function(ok) { test.ok(ok, "received string should equal sent string"); done(); }); }, function() { test.done(); }); };