ge-window.test.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 'use strict'
  2. const { test } = require('tap')
  3. const { MAX_MSGID } = require('../../../../lib/client/constants')
  4. const geWindow = require('../../../../lib/client/message-tracker/ge-window')
  5. test('comp > (ref in upper window) => true', async t => {
  6. const ref = Math.floor(MAX_MSGID / 2) + 10
  7. const comp = ref + 10
  8. const result = geWindow(ref, comp)
  9. t.equal(result, true)
  10. })
  11. test('comp < (ref in upper window) => false', async t => {
  12. const ref = Math.floor(MAX_MSGID / 2) + 10
  13. const comp = ref - 5
  14. const result = geWindow(ref, comp)
  15. t.equal(result, false)
  16. })
  17. test('comp > (ref in lower window) => true', async t => {
  18. const ref = Math.floor(MAX_MSGID / 2) - 10
  19. const comp = ref + 20
  20. const result = geWindow(ref, comp)
  21. t.equal(result, true)
  22. })
  23. test('comp < (ref in lower window) => false', async t => {
  24. const ref = Math.floor(MAX_MSGID / 2) - 10
  25. const comp = ref - 5
  26. const result = geWindow(ref, comp)
  27. t.equal(result, false)
  28. })
  29. test('(max === MAX_MSGID) && (comp > ref) => true', async t => {
  30. const ref = MAX_MSGID - Math.floor(MAX_MSGID / 2)
  31. const comp = ref + 1
  32. const result = geWindow(ref, comp)
  33. t.equal(result, true)
  34. })
  35. test('(max === MAX_MSGID) && (comp < ref) => false', async t => {
  36. const ref = MAX_MSGID - Math.floor(MAX_MSGID / 2)
  37. const comp = ref - 1
  38. const result = geWindow(ref, comp)
  39. t.equal(result, false)
  40. })