|
|
|
@ -1,4 +1,3 @@ |
|
|
|
|
import { strict as assert } from 'assert'; |
|
|
|
|
import BN from 'bn.js'; |
|
|
|
|
import { toBuffer } from './buffer-utils'; |
|
|
|
|
|
|
|
|
@ -6,64 +5,64 @@ describe('buffer utils', function () { |
|
|
|
|
describe('toBuffer', function () { |
|
|
|
|
it('should work with prefixed hex strings', function () { |
|
|
|
|
const result = toBuffer('0xe'); |
|
|
|
|
assert.equal(result.length, 1); |
|
|
|
|
expect(result).toHaveLength(1); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with non prefixed hex strings', function () { |
|
|
|
|
const result = toBuffer('e'); |
|
|
|
|
assert.equal(result.length, 1); |
|
|
|
|
expect(result).toHaveLength(1); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with weirdly 0x prefixed non-hex strings', function () { |
|
|
|
|
const result = toBuffer('0xtest'); |
|
|
|
|
assert.equal(result.length, 6); |
|
|
|
|
expect(result).toHaveLength(6); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with regular strings', function () { |
|
|
|
|
const result = toBuffer('test'); |
|
|
|
|
assert.equal(result.length, 4); |
|
|
|
|
expect(result).toHaveLength(4); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with BN', function () { |
|
|
|
|
const result = toBuffer(new BN(100)); |
|
|
|
|
assert.equal(result.length, 1); |
|
|
|
|
expect(result).toHaveLength(1); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with Buffer', function () { |
|
|
|
|
const result = toBuffer(Buffer.from('test')); |
|
|
|
|
assert.equal(result.length, 4); |
|
|
|
|
expect(result).toHaveLength(4); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with a number', function () { |
|
|
|
|
const result = toBuffer(100); |
|
|
|
|
assert.equal(result.length, 1); |
|
|
|
|
expect(result).toHaveLength(1); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with null or undefined', function () { |
|
|
|
|
const result = toBuffer(null); |
|
|
|
|
const result2 = toBuffer(undefined); |
|
|
|
|
assert.equal(result.length, 0); |
|
|
|
|
assert.equal(result2.length, 0); |
|
|
|
|
expect(result).toHaveLength(0); |
|
|
|
|
expect(result2).toHaveLength(0); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with UInt8Array', function () { |
|
|
|
|
const uint8 = new Uint8Array(2); |
|
|
|
|
const result = toBuffer(uint8); |
|
|
|
|
assert.equal(result.length, 2); |
|
|
|
|
expect(result).toHaveLength(2); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with objects that have a toBuffer property', function () { |
|
|
|
|
const result = toBuffer({ |
|
|
|
|
toBuffer: () => Buffer.from('hi'), |
|
|
|
|
}); |
|
|
|
|
assert.equal(result.length, 2); |
|
|
|
|
expect(result).toHaveLength(2); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('should work with objects that have a toArray property', function () { |
|
|
|
|
const result = toBuffer({ |
|
|
|
|
toArray: () => ['hi'], |
|
|
|
|
}); |
|
|
|
|
assert.equal(result.length, 1); |
|
|
|
|
expect(result).toHaveLength(1); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|