react / wstein / node_modules / browserify / node_modules / subarg / node_modules / minimist / test / unknown.js
80540 viewsvar parse = require('../');1var test = require('tape');23test('boolean and alias is not unknown', function (t) {4var unknown = [];5function unknownFn(arg) {6unknown.push(arg);7return false;8}9var aliased = [ '-h', 'true', '--derp', 'true' ];10var regular = [ '--herp', 'true', '-d', 'true' ];11var opts = {12alias: { h: 'herp' },13boolean: 'h',14unknown: unknownFn15};16var aliasedArgv = parse(aliased, opts);17var propertyArgv = parse(regular, opts);1819t.same(unknown, ['--derp', '-d']);20t.end();21});2223test('flag boolean true any double hyphen argument is not unknown', function (t) {24var unknown = [];25function unknownFn(arg) {26unknown.push(arg);27return false;28}29var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], {30boolean: true,31unknown: unknownFn32});33t.same(unknown, ['--tacos=good', 'cow', '-p']);34t.same(argv, {35honk: true,36_: []37});38t.end();39});4041test('string and alias is not unknown', function (t) {42var unknown = [];43function unknownFn(arg) {44unknown.push(arg);45return false;46}47var aliased = [ '-h', 'hello', '--derp', 'goodbye' ];48var regular = [ '--herp', 'hello', '-d', 'moon' ];49var opts = {50alias: { h: 'herp' },51string: 'h',52unknown: unknownFn53};54var aliasedArgv = parse(aliased, opts);55var propertyArgv = parse(regular, opts);5657t.same(unknown, ['--derp', '-d']);58t.end();59});6061test('default and alias is not unknown', function (t) {62var unknown = [];63function unknownFn(arg) {64unknown.push(arg);65return false;66}67var aliased = [ '-h', 'hello' ];68var regular = [ '--herp', 'hello' ];69var opts = {70default: { 'h': 'bar' },71alias: { 'h': 'herp' },72unknown: unknownFn73};74var aliasedArgv = parse(aliased, opts);75var propertyArgv = parse(regular, opts);7677t.same(unknown, []);78t.end();79unknownFn(); // exercise fn for 100% coverage80});8182test('value following -- is not unknown', function (t) {83var unknown = [];84function unknownFn(arg) {85unknown.push(arg);86return false;87}88var aliased = [ '--bad', '--', 'good', 'arg' ];89var opts = {90'--': true,91unknown: unknownFn92};93var argv = parse(aliased, opts);9495t.same(unknown, ['--bad']);96t.same(argv, {97'--': ['good', 'arg'],98'_': []99})100t.end();101});102103104