function processTaskQueue(start) {
    if (taskQueue.length && !config.blocking) {
      var elapsedTime = now() - start;

      if (!setTimeout$1 || config.updateRate <= 0 || elapsedTime < config.updateRate) {
        var task = taskQueue.shift();
        _Promise.resolve(task()).then(function () {
          if (!taskQueue.length) {
            advance();
          } else {
            processTaskQueue(start);
          }
        });
      } else {
        setTimeout$1(advance);
      }
    }
  }
Process the first task on the taskQueue as a promise.
Each task is a function added by Test#queue() in /src/test.js