CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
bool.js178 linesDownload Raw Back to test
1'use strict';2 3var parse = require('../');4var test = require('tape');5 6test('flag boolean default false', function (t) {7	var argv = parse(['moo'], {8		boolean: ['t', 'verbose'],9		default: { verbose: false, t: false },10	});11 12	t.deepEqual(argv, {13		verbose: false,14		t: false,15		_: ['moo'],16	});17 18	t.deepEqual(typeof argv.verbose, 'boolean');19	t.deepEqual(typeof argv.t, 'boolean');20	t.end();21 22});23 24test('boolean groups', function (t) {25	var argv = parse(['-x', '-z', 'one', 'two', 'three'], {26		boolean: ['x', 'y', 'z'],27	});28 29	t.deepEqual(argv, {30		x: true,31		y: false,32		z: true,33		_: ['one', 'two', 'three'],34	});35 36	t.deepEqual(typeof argv.x, 'boolean');37	t.deepEqual(typeof argv.y, 'boolean');38	t.deepEqual(typeof argv.z, 'boolean');39	t.end();40});41test('boolean and alias with chainable api', function (t) {42	var aliased = ['-h', 'derp'];43	var regular = ['--herp', 'derp'];44	var aliasedArgv = parse(aliased, {45		boolean: 'herp',46		alias: { h: 'herp' },47	});48	var propertyArgv = parse(regular, {49		boolean: 'herp',50		alias: { h: 'herp' },51	});52	var expected = {53		herp: true,54		h: true,55		_: ['derp'],56	};57 58	t.same(aliasedArgv, expected);59	t.same(propertyArgv, expected);60	t.end();61});62 63test('boolean and alias with options hash', function (t) {64	var aliased = ['-h', 'derp'];65	var regular = ['--herp', 'derp'];66	var opts = {67		alias: { h: 'herp' },68		boolean: 'herp',69	};70	var aliasedArgv = parse(aliased, opts);71	var propertyArgv = parse(regular, opts);72	var expected = {73		herp: true,74		h: true,75		_: ['derp'],76	};77	t.same(aliasedArgv, expected);78	t.same(propertyArgv, expected);79	t.end();80});81 82test('boolean and alias array with options hash', function (t) {83	var aliased = ['-h', 'derp'];84	var regular = ['--herp', 'derp'];85	var alt = ['--harp', 'derp'];86	var opts = {87		alias: { h: ['herp', 'harp'] },88		boolean: 'h',89	};90	var aliasedArgv = parse(aliased, opts);91	var propertyArgv = parse(regular, opts);92	var altPropertyArgv = parse(alt, opts);93	var expected = {94		harp: true,95		herp: true,96		h: true,97		_: ['derp'],98	};99	t.same(aliasedArgv, expected);100	t.same(propertyArgv, expected);101	t.same(altPropertyArgv, expected);102	t.end();103});104 105test('boolean and alias using explicit true', function (t) {106	var aliased = ['-h', 'true'];107	var regular = ['--herp', 'true'];108	var opts = {109		alias: { h: 'herp' },110		boolean: 'h',111	};112	var aliasedArgv = parse(aliased, opts);113	var propertyArgv = parse(regular, opts);114	var expected = {115		herp: true,116		h: true,117		_: [],118	};119 120	t.same(aliasedArgv, expected);121	t.same(propertyArgv, expected);122	t.end();123});124 125// regression, see https://github.com/substack/node-optimist/issues/71126test('boolean and --x=true', function (t) {127	var parsed = parse(['--boool', '--other=true'], {128		boolean: 'boool',129	});130 131	t.same(parsed.boool, true);132	t.same(parsed.other, 'true');133 134	parsed = parse(['--boool', '--other=false'], {135		boolean: 'boool',136	});137 138	t.same(parsed.boool, true);139	t.same(parsed.other, 'false');140	t.end();141});142 143test('boolean --boool=true', function (t) {144	var parsed = parse(['--boool=true'], {145		default: {146			boool: false,147		},148		boolean: ['boool'],149	});150 151	t.same(parsed.boool, true);152	t.end();153});154 155test('boolean --boool=false', function (t) {156	var parsed = parse(['--boool=false'], {157		default: {158			boool: true,159		},160		boolean: ['boool'],161	});162 163	t.same(parsed.boool, false);164	t.end();165});166 167test('boolean using something similar to true', function (t) {168	var opts = { boolean: 'h' };169	var result = parse(['-h', 'true.txt'], opts);170	var expected = {171		h: true,172		_: ['true.txt'],173	};174 175	t.same(result, expected);176	t.end();177});178 
basant307/AI_Governance_Project · CoolFace