mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 12:15:51 +00:00
57 lines
2.0 KiB
JavaScript
57 lines
2.0 KiB
JavaScript
const { coreTypes } = require('../dist/types')
|
|
const { Hash160, Hash256, AccountID, Currency } = coreTypes
|
|
|
|
describe('Hash160', function () {
|
|
test('has a static width member', function () {
|
|
expect(Hash160.width).toBe(20)
|
|
})
|
|
test('inherited by subclasses', function () {
|
|
expect(AccountID.width).toBe(20)
|
|
expect(Currency.width).toBe(20)
|
|
})
|
|
test('can be compared against another', function () {
|
|
const h1 = Hash160.from('1000000000000000000000000000000000000000')
|
|
const h2 = Hash160.from('2000000000000000000000000000000000000000')
|
|
const h3 = Hash160.from('0000000000000000000000000000000000000003')
|
|
expect(h1.lt(h2)).toBe(true)
|
|
expect(h3.lt(h2)).toBe(true)
|
|
})
|
|
})
|
|
|
|
describe('Hash256', function () {
|
|
test('has a static width membmer', function () {
|
|
expect(Hash256.width).toBe(32)
|
|
})
|
|
test('has a ZERO_256 member', function () {
|
|
expect(Hash256.ZERO_256.toJSON()).toBe('0000000000000000000000000000000000000000000000000000000000000000')
|
|
})
|
|
test('supports getting the nibblet values at given positions', function () {
|
|
const h = Hash256.from(
|
|
'1359BD0000000000000000000000000000000000000000000000000000000000')
|
|
expect(h.nibblet(0)).toBe(0x1)
|
|
expect(h.nibblet(1)).toBe(0x3)
|
|
expect(h.nibblet(2)).toBe(0x5)
|
|
expect(h.nibblet(3)).toBe(0x9)
|
|
expect(h.nibblet(4)).toBe(0x0b)
|
|
expect(h.nibblet(5)).toBe(0xd)
|
|
})
|
|
})
|
|
|
|
describe('Currency', function () {
|
|
test('Will have a null iso() for dodgy XRP ', function () {
|
|
const bad = Currency.from('0000000000000000000000005852500000000000',)
|
|
expect(bad.iso()).toBeUndefined()
|
|
expect(bad.isNative()).toBe(false)
|
|
})
|
|
test('can be constructed from a Buffer', function () {
|
|
const xrp = new Currency(Buffer.alloc(20))
|
|
expect(xrp.iso()).toBe('XRP')
|
|
})
|
|
test('throws on invalid reprs', function () {
|
|
expect(() => Currency.from(Buffer.alloc(19))).toThrow()
|
|
expect(() => Currency.from(1)).toThrow()
|
|
expect(() => Currency.from(
|
|
'00000000000000000000000000000000000000m')).toThrow()
|
|
})
|
|
})
|