test-buffer-zero-fill-cli.js 801 B

123456789101112131415161718192021222324252627282930313233343536
  1. 'use strict';
  2. var Buffer = require('../../').Buffer;
  3. // Flags: --zero-fill-buffers
  4. // when using --zero-fill-buffers, every Buffer and SlowBuffer
  5. // instance must be zero filled upon creation
  6. var SlowBuffer = require('../../').SlowBuffer;
  7. var assert = require('assert');
  8. function isZeroFilled(buf) {
  9. for (var n = 0; n < buf.length; n++)
  10. if (buf[n] > 0) return false;
  11. return true;
  12. }
  13. // This can be somewhat unreliable because the
  14. // allocated memory might just already happen to
  15. // contain all zeroes. The test is run multiple
  16. // times to improve the reliability.
  17. for (var i = 0; i < 50; i++) {
  18. var bufs = [
  19. Buffer.alloc(20),
  20. Buffer.allocUnsafe(20),
  21. SlowBuffer(20),
  22. Buffer(20),
  23. new SlowBuffer(20)
  24. ];
  25. for (var buf of bufs) {
  26. assert(isZeroFilled(buf));
  27. }
  28. }