403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/tanviranik.com/node_modules/node-exports-info/test/getCategoryFlags.js
'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();
});

Youez - 2016 - github.com/yon3zu
LinuXploit