leb.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const tape = require('tape')
  2. const leb = require('../')
  3. const Pipe = require('buffer-pipe')
  4. tape('leb - round trips', t => {
  5. let stream = new Pipe()
  6. let buffer = leb.unsigned.encode(8)
  7. t.equals(buffer.toString('hex'), '08')
  8. t.equals(leb.unsigned.decode(buffer), '8')
  9. leb.unsigned.write(8, stream)
  10. t.equals(stream.buffer.toString('hex'), '08')
  11. t.equals(leb.unsigned.read(stream), '8')
  12. leb.signed.write('-9223372036854775808', stream)
  13. t.equals(stream.buffer.toString('hex'), '8080808080808080807f')
  14. t.equals(leb.signed.read(stream), '-9223372036854775808')
  15. leb.signed.write('-100', stream)
  16. t.equals(stream.buffer.toString('hex'), '9c7f')
  17. t.equals(leb.signed.read(stream), '-100')
  18. leb.signed.write('100', stream)
  19. t.equals(stream.buffer.toString('hex'), 'e400')
  20. t.equals(leb.signed.read(stream), '100')
  21. leb.signed.write('10', stream)
  22. t.equals(stream.buffer.toString('hex'), '0a')
  23. t.equals(leb.signed.read(stream), '10')
  24. buffer = leb.signed.encode('2141192192')
  25. t.equals(buffer.toString('hex'), '808080fd07')
  26. t.equals(leb.signed.decode(buffer), '2141192192')
  27. leb.signed.write('2141192192', stream)
  28. t.equals(stream.buffer.toString('hex'), '808080fd07')
  29. t.equals(leb.signed.read(stream), '2141192192')
  30. buffer = leb.unsigned.encode('2141192192')
  31. t.equals(buffer.toString('hex'), '808080fd07')
  32. t.equals(leb.unsigned.decode(buffer), '2141192192')
  33. t.end()
  34. })