- Add .gitignore: exclude compiled binaries, build artifacts, and Helm values files containing real secrets (authentik, prometheus) - Add all Kubernetes deployment manifests (deployment/) - Add services source code: ha-sync, device-inventory, games-console, paperclip, parts-inventory - Add Ansible orchestration: playbooks, roles, inventory, cloud-init - Add hardware specs, execution plans, scripts, HOMELAB.md - Add skills/homelab/SKILL.md + skills/install.sh to preserve Copilot skill - Remove previously-tracked inventory-cli binary from git index Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
80 lines
1.4 KiB
JavaScript
80 lines
1.4 KiB
JavaScript
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()
|
|
})
|