1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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()
- })
|