UNPKG

1.22 kBJavaScriptView Raw
1/* eslint-env mocha */
2'use strict'
3
4const chai = require('chai')
5chai.use(require('dirty-chai'))
6const expect = chai.expect
7
8const libp2pRecord = require('../src')
9const Record = libp2pRecord.Record
10
11const fixture = require('./fixtures/go-record.js')
12
13const date = new Date(Date.UTC(2012, 1, 25, 10, 10, 10, 10))
14
15describe('record', () => {
16 it('new', () => {
17 const rec = new Record(
18 Buffer.from('hello'),
19 Buffer.from('world')
20 )
21
22 expect(rec).to.have.property('key').eql(Buffer.from('hello'))
23 expect(rec).to.have.property('value').eql(Buffer.from('world'))
24 })
25
26 it('serialize & deserialize', () => {
27 const rec = new Record(Buffer.from('hello'), Buffer.from('world'), date)
28 const dec = Record.deserialize(rec.serialize())
29
30 expect(dec).to.have.property('key').eql(Buffer.from('hello'))
31 expect(dec).to.have.property('value').eql(Buffer.from('world'))
32 expect(dec.timeReceived).to.be.eql(date)
33 })
34
35 describe('go interop', () => {
36 it('no signature', () => {
37 const dec = Record.deserialize(fixture.serialized)
38 expect(dec).to.have.property('key').eql(Buffer.from('hello'))
39 expect(dec).to.have.property('value').eql(Buffer.from('world'))
40 })
41 })
42})