address.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. var ref = require('../')
  2. var assert = require('assert')
  3. var inspect = require('util').inspect
  4. describe('address', function () {
  5. var buf = new Buffer('hello')
  6. it('should return 0 for the NULL pointer', function () {
  7. assert.strictEqual(0, ref.address(ref.NULL))
  8. })
  9. it('should give a positive value for any other Buffer', function () {
  10. var address = ref.address(buf)
  11. assert.equal(typeof address, 'number')
  12. assert(isFinite(address))
  13. assert(address > 0)
  14. })
  15. it('should accept an offset value for the 2nd argument', function () {
  16. var address = ref.address(buf)
  17. assert.equal(address + 0, ref.address(buf, 0))
  18. assert.equal(address + 1, ref.address(buf, 1))
  19. assert.equal(address + 2, ref.address(buf, 2))
  20. assert.equal(address + 3, ref.address(buf, 3))
  21. assert.equal(address + 4, ref.address(buf, 4))
  22. assert.equal(address + 5, ref.address(buf, 5))
  23. })
  24. it('should accept a negative offset value for the 2nd argument', function () {
  25. var address = ref.address(buf)
  26. assert.equal(address - 0, ref.address(buf, -0))
  27. assert.equal(address - 1, ref.address(buf, -1))
  28. assert.equal(address - 2, ref.address(buf, -2))
  29. assert.equal(address - 3, ref.address(buf, -3))
  30. assert.equal(address - 4, ref.address(buf, -4))
  31. assert.equal(address - 5, ref.address(buf, -5))
  32. })
  33. it('should have an offset of zero when none is given', function () {
  34. assert.equal(ref.address(buf), ref.address(buf, 0))
  35. })
  36. describe('inspect()', function () {
  37. it('should overwrite the default Buffer#inspect() to print the memory address', function () {
  38. assert(inspect(buf).indexOf(buf.hexAddress()) !== -1)
  39. })
  40. })
  41. })