Guest User

Untitled

a guest
Jul 21st, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. var Sink = function(expected, timeout, callback) {
  2. var defaultTimeout = 1000;
  3. if(typeof timeout == 'function') {
  4. callback = timeout;
  5. timeout = defaultTimeout;
  6. }
  7. timeout = timeout || defaultTimeout;
  8. var internalCount = 0;
  9. var kill = function() {
  10. assert.ok(false, "Did not reach expected " + expected + " with an idle timeout of " + timeout);
  11. }
  12. var killTimeout = setTimeout(kill, timeout);
  13. return {
  14. add: function(count) {
  15. count = count || 1;
  16. internalCount += count;
  17. clearTimeout(killTimeout)
  18. if(internalCount < expected) {
  19. killTimeout = setTimeout(kill, timeout)
  20. }
  21. else {
  22. assert.equal(internalCount, expected);
  23. callback();
  24. }
  25. }
  26. }
  27. }
Add Comment
Please, Sign In to add comment