homelab/services/parts-inventory/api/node_modules/dynamic-dedupe/test/dedupe.js
Dan V deb6c38d7b chore: commit homelab setup — deployment, services, orchestration, skill
- 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>
2026-04-09 08:10:32 +02:00

101 lines
3.1 KiB
JavaScript

'use strict';
/*jshint asi: true */
var test = require('tap').test
var dedupe = require('../');
var count = require('./fixtures/count');
function reset() {
var files = [
'./fixtures/pack1/common/dep-uno/foo'
, './fixtures/pack1/common/dep-uno/bar'
, './fixtures/pack1/common/dep-dos/foo'
, './fixtures/pack2/common/dep-uno/foo'
, './fixtures/pack2/common/dep-uno/bar'
].map(require.resolve);
files.forEach(function (k) { delete require.cache[k] });
dedupe.deactivate();
dedupe.reset();
count.count = 0;
}
test('\nactive: when I require pack1/common/dep-uno/foo and pack2/common/dep-uno/foo', function (t) {
reset()
dedupe.activate('.js');
var foo1 = require('./fixtures/pack1/common/dep-uno/foo');
var foo2 = require('./fixtures/pack2/common/dep-uno/foo');
t.equal(count.count, 1, 'loads it only once')
t.equal(foo1.foo, 'foobiloo', 'returns exports 1')
t.equal(foo2.foo, 'foobiloo', 'returns exports 2')
t.end()
})
test('\nactive: when I require pack1/common/dep-dos/foo and pack2/common/dep-uno/foo', function (t) {
reset()
dedupe.activate('.js');
var foo1 = require('./fixtures/pack1/common/dep-dos/foo');
var foo2 = require('./fixtures/pack2/common/dep-uno/foo');
t.equal(count.count, 2, 'loads it twice')
t.equal(foo1.foo, 'foobiloo', 'returns exports 1')
t.equal(foo2.foo, 'foobiloo', 'returns exports 2')
t.end()
})
test('\nactive: when I require pack1/common/dep-uno/foo and pack1/common/dep-uno/bar', function (t) {
reset()
dedupe.activate('.js');
var foo = require('./fixtures/pack1/common/dep-uno/foo');
var bar = require('./fixtures/pack1/common/dep-uno/bar');
t.equal(count.count, 2, 'loads it twice')
t.equal(foo.foo, 'foobiloo', 'returns exports 1')
t.equal(bar.foo, 'foobiloo', 'returns exports 2')
t.end()
})
test('\nactive: when I require pack1/common/dep-uno/bar and pack2/common/dep-uno/bar', function (t) {
reset()
dedupe.activate('.js');
var bar1 = require('./fixtures/pack1/common/dep-uno/bar');
var bar2 = require('./fixtures/pack2/common/dep-uno/bar');
t.equal(count.count, 1, 'loads it only once')
t.equal(bar1.foo, 'foobiloo', 'returns exports 1')
t.equal(bar2.foo, 'foobiloo', 'returns exports 2')
t.end()
})
test('\nactive then deactivated: when I require pack1/common/dep-uno/foo and pack2/common/dep-uno/foo', function (t) {
reset()
dedupe.activate('.js');
var foo1 = require('./fixtures/pack1/common/dep-uno/foo');
dedupe.deactivate('.js');
var foo2 = require('./fixtures/pack2/common/dep-uno/foo');
t.equal(count.count, 2, 'loads it twice')
t.equal(foo1.foo, 'foobiloo', 'returns exports 1')
t.equal(foo2.foo, 'foobiloo', 'returns exports 2')
t.end()
})
test('\nactive: subdir 3, when I require pack1/common/dep-uno/foo and pack2/common/dep-uno/foo', function (t) {
reset()
dedupe.activate('.js', 3);
var foo1 = require('./fixtures/pack1/common/dep-uno/foo');
var foo2 = require('./fixtures/pack2/common/dep-uno/foo');
t.equal(count.count, 2, 'loads it twice since only two subdirs match')
t.equal(foo1.foo, 'foobiloo', 'returns exports 1')
t.equal(foo2.foo, 'foobiloo', 'returns exports 2')
t.end()
})