LoggerStreamTests.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. const { expect } = require('chai')
  2. const { LoggerStream } = require('../../index')
  3. describe('LoggerStream', function () {
  4. it('should log the size of the stream when it exceeds the limit', function (done) {
  5. const maxSize = 10
  6. const loggedSizes = []
  7. const loggerStream = new LoggerStream(maxSize, (size, isFlush) => {
  8. loggedSizes.push([size, isFlush])
  9. if (isFlush) {
  10. expect(loggedSizes).to.deep.equal([
  11. [11, undefined],
  12. [11, true],
  13. ])
  14. done()
  15. }
  16. })
  17. loggerStream.write(Buffer.alloc(maxSize))
  18. loggerStream.write(Buffer.alloc(1))
  19. loggerStream.end()
  20. })
  21. it('should not log the size of the stream if it does not exceed the limit', function (done) {
  22. const maxSize = 10
  23. const loggedSizes = []
  24. const loggerStream = new LoggerStream(maxSize, (size, isFlush) => {
  25. loggedSizes.push(size)
  26. })
  27. loggerStream.write(Buffer.alloc(maxSize))
  28. loggerStream.end()
  29. loggerStream.on('finish', () => {
  30. expect(loggedSizes).to.deep.equal([])
  31. done()
  32. })
  33. })
  34. })