22 lines
533 B
JavaScript
22 lines
533 B
JavaScript
|
'use strict'
|
||
|
|
||
|
const { test } = require('tap')
|
||
|
const { MAX_MSGID } = require('../../../../lib/client/constants')
|
||
|
const idGeneratorFactory = require('../../../../lib/client/message-tracker/id-generator')
|
||
|
|
||
|
test('starts at 0', async t => {
|
||
|
const nextID = idGeneratorFactory()
|
||
|
const currentID = nextID()
|
||
|
t.is(currentID, 1)
|
||
|
})
|
||
|
|
||
|
test('handles wrapping around', async t => {
|
||
|
const nextID = idGeneratorFactory(MAX_MSGID - 2)
|
||
|
|
||
|
let currentID = nextID()
|
||
|
t.is(currentID, MAX_MSGID - 1)
|
||
|
|
||
|
currentID = nextID()
|
||
|
t.is(currentID, 1)
|
||
|
})
|