mirror of
https://github.com/affaan-m/ECC.git
synced 2026-08-31 04:09:51 +02:00
69 lines
2.0 KiB
JavaScript
69 lines
2.0 KiB
JavaScript
const assert = require('assert');
|
|
const { getNpmPackEntry } = require('./npm-pack-output');
|
|
|
|
let passed = 0;
|
|
let failed = 0;
|
|
|
|
function test(name, fn) {
|
|
try {
|
|
fn();
|
|
console.log(` ✓ ${name}`);
|
|
passed += 1;
|
|
} catch (error) {
|
|
console.log(` ✗ ${name}`);
|
|
console.error(` ${error.message}`);
|
|
failed += 1;
|
|
}
|
|
}
|
|
|
|
test('reads the npm 11 array response', () => {
|
|
const entry = getNpmPackEntry([
|
|
{ name: 'unrelated-package', filename: 'unrelated-package-1.0.0.tgz' },
|
|
{ name: 'ecc-universal', filename: 'ecc-universal-2.2.0.tgz' },
|
|
], 'ecc-universal');
|
|
|
|
assert.strictEqual(entry.filename, 'ecc-universal-2.2.0.tgz');
|
|
});
|
|
|
|
test('reads the npm 12 package-keyed response', () => {
|
|
const entry = getNpmPackEntry({
|
|
'ecc-universal': {
|
|
name: 'ecc-universal',
|
|
filename: 'ecc-universal-2.2.0.tgz',
|
|
},
|
|
}, 'ecc-universal');
|
|
|
|
assert.strictEqual(entry.filename, 'ecc-universal-2.2.0.tgz');
|
|
});
|
|
|
|
test('finds a requested package in a generic object response', () => {
|
|
const entry = getNpmPackEntry({
|
|
unrelated: { name: 'unrelated-package', filename: 'unrelated-package-1.0.0.tgz' },
|
|
target: { name: 'ecc-universal', filename: 'ecc-universal-2.2.0.tgz' },
|
|
}, 'ecc-universal');
|
|
|
|
assert.strictEqual(entry.filename, 'ecc-universal-2.2.0.tgz');
|
|
});
|
|
|
|
test('returns undefined for empty or malformed responses', () => {
|
|
assert.strictEqual(getNpmPackEntry([], 'ecc-universal'), undefined);
|
|
assert.strictEqual(getNpmPackEntry({}, 'ecc-universal'), undefined);
|
|
assert.strictEqual(getNpmPackEntry(null, 'ecc-universal'), undefined);
|
|
assert.strictEqual(
|
|
getNpmPackEntry([
|
|
{ name: 'unrelated-package', filename: 'unrelated-package-1.0.0.tgz' },
|
|
], 'ecc-universal'),
|
|
undefined
|
|
);
|
|
assert.strictEqual(
|
|
getNpmPackEntry({
|
|
unrelated: { name: 'unrelated-package', filename: 'unrelated-package-1.0.0.tgz' },
|
|
}, 'ecc-universal'),
|
|
undefined
|
|
);
|
|
});
|
|
|
|
console.log(`\nPassed: ${passed}`);
|
|
console.log(`Failed: ${failed}`);
|
|
process.exit(failed > 0 ? 1 : 0);
|