Skip to content
This repository has been archived by the owner on Aug 24, 2021. It is now read-only.

feat: validation. fixes #43 #44

Merged
merged 3 commits into from
Apr 10, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -139,3 +139,12 @@ Multihashing.functions = {

// add blake functions
crypto.addBlake(Multihashing.functions)

Multihashing.validate = (data, hash, callback) => {
let algo = multihash.decode(hash).name
Multihashing(data, algo, (err, newHash) => {
if (err) return callback(err)
callback(err, Buffer.compare(hash, newHash) === 0)
})
}

26 changes: 26 additions & 0 deletions test/index.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,29 @@ describe('multihashing', () => {
})
})
})

describe('validate', () => {
it('true on pass', done => {
multihashing(Buffer.from('test'), 'sha2-256', (err, hash) => {
if (err) throw err
mikeal marked this conversation as resolved.
Show resolved Hide resolved
multihashing.validate(Buffer.from('test'), hash, (err, bool) => {
if (err) throw err
console.error('asdf', bool)
mikeal marked this conversation as resolved.
Show resolved Hide resolved
expect(bool).to.eql(true)
mikeal marked this conversation as resolved.
Show resolved Hide resolved
done()
})
})
})

it('false on fail', done => {
multihashing(Buffer.from('test'), 'sha2-256', (err, hash) => {
if (err) throw err
multihashing.validate(Buffer.from('test-fail'), hash, (err, bool) => {
if (err) throw err
expect(bool).to.eql(false)
done()
})
})
})
})