| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 'use strict';var parse = require('../');var test = require('tape');test('boolean and alias is not unknown', function (t) {	var unknown = [];	function unknownFn(arg) {		unknown.push(arg);		return false;	}	var aliased = ['-h', 'true', '--derp', 'true'];	var regular = ['--herp', 'true', '-d', 'true'];	var opts = {		alias: { h: 'herp' },		boolean: 'h',		unknown: unknownFn,	};	parse(aliased, opts);	parse(regular, opts);	t.same(unknown, ['--derp', '-d']);	t.end();});test('flag boolean true any double hyphen argument is not unknown', function (t) {	var unknown = [];	function unknownFn(arg) {		unknown.push(arg);		return false;	}	var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], {		boolean: true,		unknown: unknownFn,	});	t.same(unknown, ['--tacos=good', 'cow', '-p']);	t.same(argv, {		honk: true,		_: [],	});	t.end();});test('string and alias is not unknown', function (t) {	var unknown = [];	function unknownFn(arg) {		unknown.push(arg);		return false;	}	var aliased = ['-h', 'hello', '--derp', 'goodbye'];	var regular = ['--herp', 'hello', '-d', 'moon'];	var opts = {		alias: { h: 'herp' },		string: 'h',		unknown: unknownFn,	};	parse(aliased, opts);	parse(regular, opts);	t.same(unknown, ['--derp', '-d']);	t.end();});test('default and alias is not unknown', function (t) {	var unknown = [];	function unknownFn(arg) {		unknown.push(arg);		return false;	}	var aliased = ['-h', 'hello'];	var regular = ['--herp', 'hello'];	var opts = {		default: { h: 'bar' },		alias: { h: 'herp' },		unknown: unknownFn,	};	parse(aliased, opts);	parse(regular, opts);	t.same(unknown, []);	t.end();	unknownFn(); // exercise fn for 100% coverage});test('value following -- is not unknown', function (t) {	var unknown = [];	function unknownFn(arg) {		unknown.push(arg);		return false;	}	var aliased = ['--bad', '--', 'good', 'arg'];	var opts = {		'--': true,		unknown: unknownFn,	};	var argv = parse(aliased, opts);	t.same(unknown, ['--bad']);	t.same(argv, {		'--': ['good', 'arg'],		_: [],	});	t.end();});
 |