buffer-to-arraybuffer.js 729 B

123456789101112131415161718192021222324252627282930313233
  1. var test = require('tape');
  2. var bufferToArrayBuffer = require('../buffer-to-arraybuffer');
  3. function bufferEqual(a, b) {
  4. for (var i = 0; i < a.length; i++) {
  5. if (a[i] !== b[i]) return false;
  6. }
  7. return true;
  8. }
  9. function arrayBufferToString(b) {
  10. return String.fromCharCode.apply(null, new Uint8Array(b));
  11. }
  12. test('bufferToArrayBuffer', function (t) {
  13. t.plan(2);
  14. var str = 'abc';
  15. var b = new Buffer(str.length);
  16. b.write(str, 0);
  17. var ab = new ArrayBuffer(str.length);
  18. var v = new DataView(ab);
  19. str.split('').forEach(function(s, i) {
  20. v.setUint8(i, s.charCodeAt(0));
  21. });
  22. var cab = bufferToArrayBuffer(b);
  23. t.strictEqual(bufferEqual(cab, b), true);
  24. t.equal(arrayBufferToString(cab), str);
  25. });