Skip to content

Commit ce21c99

Browse files
committed
add failing test case for hash160/256 typeforce check
1 parent 7ba5807 commit ce21c99

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

test/types.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
var assert = require('assert')
44
var types = require('../src/types')
5+
var typeforce = require('typeforce')
56

67
describe('types', function () {
78
describe('BigInt/ECPoint', function () {
@@ -15,4 +16,29 @@ describe('types', function () {
1516
assert(!types.ECPoint(new function NotAPoint () {}))
1617
})
1718
})
19+
20+
describe('Buffer Hash160/Hash256', function () {
21+
var buffer20byte = new Buffer((new Array(20 + 1)).join('00'), 'hex')
22+
var buffer32byte = new Buffer((new Array(32 + 1)).join('00'), 'hex')
23+
24+
it('return true for correct size', function () {
25+
assert(types.Hash160bit(buffer20byte))
26+
assert(types.Hash256bit(buffer32byte))
27+
})
28+
29+
it('return false for incorrect size', function () {
30+
assert.throws(function () {
31+
types.Hash160bit(buffer32byte)
32+
}, 'Expected 160-bit Buffer, got Number 256')
33+
34+
assert.throws(function () {
35+
types.Hash256bit(buffer20byte)
36+
}, 'Expected 256-bit Buffer, got Number 160')
37+
})
38+
39+
it('return true for oneOf', function () {
40+
assert(typeforce(types.oneOf(types.Hash256bit, types.Hash160bit), buffer32byte), "Hash256 first")
41+
assert(typeforce(types.oneOf(types.Hash160bit, types.Hash256bit), buffer32byte), "Hash160 first")
42+
})
43+
})
1844
})

0 commit comments

Comments
 (0)