HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-172-31-4-197 6.8.0-1036-aws #38~22.04.1-Ubuntu SMP Fri Aug 22 15:44:33 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/bots/enerbot/node_modules/memory-pager/test.js
var tape = require('tape')
var pager = require('./')

tape('get page', function (t) {
  var pages = pager(1024)

  var page = pages.get(0)

  t.same(page.offset, 0)
  t.same(page.buffer, Buffer.alloc(1024))
  t.end()
})

tape('get page twice', function (t) {
  var pages = pager(1024)
  t.same(pages.length, 0)

  var page = pages.get(0)

  t.same(page.offset, 0)
  t.same(page.buffer, Buffer.alloc(1024))
  t.same(pages.length, 1)

  var other = pages.get(0)

  t.same(other, page)
  t.end()
})

tape('get no mutable page', function (t) {
  var pages = pager(1024)

  t.ok(!pages.get(141, true))
  t.ok(pages.get(141))
  t.ok(pages.get(141, true))

  t.end()
})

tape('get far out page', function (t) {
  var pages = pager(1024)

  var page = pages.get(1000000)

  t.same(page.offset, 1000000 * 1024)
  t.same(page.buffer, Buffer.alloc(1024))
  t.same(pages.length, 1000000 + 1)

  var other = pages.get(1)

  t.same(other.offset, 1024)
  t.same(other.buffer, Buffer.alloc(1024))
  t.same(pages.length, 1000000 + 1)
  t.ok(other !== page)

  t.end()
})

tape('updates', function (t) {
  var pages = pager(1024)

  t.same(pages.lastUpdate(), null)

  var page = pages.get(10)

  page.buffer[42] = 1
  pages.updated(page)

  t.same(pages.lastUpdate(), page)
  t.same(pages.lastUpdate(), null)

  page.buffer[42] = 2
  pages.updated(page)
  pages.updated(page)

  t.same(pages.lastUpdate(), page)
  t.same(pages.lastUpdate(), null)

  t.end()
})