| Server IP : 159.203.156.69 / Your IP : 216.73.216.37 Web Server : nginx/1.24.0 System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/tanviranik.com/node_modules/node-exports-info/test/ |
Upload File : |
'use strict';
var test = require('tape');
var forEach = require('for-each');
var getCategoryFlags = require('../getCategoryFlags');
var getRangePairs = require('../getRangePairs');
test('getCategoryFlags', function (t) {
t['throws'](
// @ts-expect-error
function () { getCategoryFlags('not a category'); },
RangeError,
'invalid category throws'
);
forEach(getRangePairs(), function (pair) {
var category = pair[1];
t.test('category: ' + category, function (st) {
var flags = getCategoryFlags(category);
st.ok(
flags && typeof flags === 'object',
'returns an object'
);
st.ok(
'patterns' in flags && typeof flags.patterns === 'boolean',
'has boolean patterns flag'
);
st.ok(
'patternTrailers' in flags && typeof flags.patternTrailers === 'boolean',
'has boolean patternTrailers flag'
);
st.ok(
'dirSlash' in flags && typeof flags.dirSlash === 'boolean',
'has boolean dirSlash flag'
);
// Verify flag consistency: patternTrailers implies patterns
if (flags.patternTrailers) {
st.ok(flags.patterns, 'patternTrailers implies patterns');
}
st.end();
});
});
t.test('specific category flags', function (st) {
st.deepEqual(
getCategoryFlags('pre-exports'),
{ patterns: false, patternTrailers: false, dirSlash: false },
'pre-exports has no flags'
);
st.deepEqual(
getCategoryFlags('broken'),
{ patterns: false, patternTrailers: false, dirSlash: false },
'broken has no flags'
);
st.deepEqual(
getCategoryFlags('experimental'),
{ patterns: false, patternTrailers: false, dirSlash: false },
'experimental has no flags'
);
st.deepEqual(
getCategoryFlags('conditions'),
{ patterns: false, patternTrailers: false, dirSlash: false },
'conditions has no flags'
);
st.deepEqual(
getCategoryFlags('broken-dir-slash-conditions'),
{ patterns: false, patternTrailers: false, dirSlash: true },
'broken-dir-slash-conditions has dirSlash'
);
st.deepEqual(
getCategoryFlags('patterns'),
{ patterns: true, patternTrailers: false, dirSlash: true },
'patterns has patterns and dirSlash'
);
st.deepEqual(
getCategoryFlags('pattern-trailers'),
{ patterns: true, patternTrailers: true, dirSlash: true },
'pattern-trailers has all flags'
);
st.deepEqual(
getCategoryFlags('pattern-trailers+json-imports'),
{ patterns: true, patternTrailers: true, dirSlash: true },
'pattern-trailers+json-imports has all flags'
);
st.deepEqual(
getCategoryFlags('pattern-trailers-no-dir-slash'),
{ patterns: true, patternTrailers: true, dirSlash: false },
'pattern-trailers-no-dir-slash has patterns and patternTrailers but not dirSlash'
);
st.deepEqual(
getCategoryFlags('pattern-trailers-no-dir-slash+json-imports'),
{ patterns: true, patternTrailers: true, dirSlash: false },
'pattern-trailers-no-dir-slash+json-imports has patterns and patternTrailers but not dirSlash'
);
st.deepEqual(
getCategoryFlags('require-esm'),
{ patterns: true, patternTrailers: true, dirSlash: false },
'require-esm has patterns and patternTrailers but not dirSlash'
);
st.deepEqual(
getCategoryFlags('strips-types'),
{ patterns: true, patternTrailers: true, dirSlash: false },
'strips-types has patterns and patternTrailers but not dirSlash'
);
st.deepEqual(
getCategoryFlags('subpath-imports-slash'),
{ patterns: true, patternTrailers: true, dirSlash: true },
'subpath-imports-slash has all flags'
);
st.end();
});
t.end();
});