react / wstein / node_modules / browserify / node_modules / subarg / node_modules / minimist / test / bool.js
80540 viewsvar parse = require('../');1var test = require('tape');23test('flag boolean default false', function (t) {4var argv = parse(['moo'], {5boolean: ['t', 'verbose'],6default: { verbose: false, t: false }7});89t.deepEqual(argv, {10verbose: false,11t: false,12_: ['moo']13});1415t.deepEqual(typeof argv.verbose, 'boolean');16t.deepEqual(typeof argv.t, 'boolean');17t.end();1819});2021test('boolean groups', function (t) {22var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], {23boolean: ['x','y','z']24});2526t.deepEqual(argv, {27x : true,28y : false,29z : true,30_ : [ 'one', 'two', 'three' ]31});3233t.deepEqual(typeof argv.x, 'boolean');34t.deepEqual(typeof argv.y, 'boolean');35t.deepEqual(typeof argv.z, 'boolean');36t.end();37});38test('boolean and alias with chainable api', function (t) {39var aliased = [ '-h', 'derp' ];40var regular = [ '--herp', 'derp' ];41var opts = {42herp: { alias: 'h', boolean: true }43};44var aliasedArgv = parse(aliased, {45boolean: 'herp',46alias: { h: 'herp' }47});48var propertyArgv = parse(regular, {49boolean: 'herp',50alias: { h: 'herp' }51});52var expected = {53herp: true,54h: true,55'_': [ 'derp' ]56};5758t.same(aliasedArgv, expected);59t.same(propertyArgv, expected);60t.end();61});6263test('boolean and alias with options hash', function (t) {64var aliased = [ '-h', 'derp' ];65var regular = [ '--herp', 'derp' ];66var opts = {67alias: { 'h': 'herp' },68boolean: 'herp'69};70var aliasedArgv = parse(aliased, opts);71var propertyArgv = parse(regular, opts);72var expected = {73herp: true,74h: true,75'_': [ 'derp' ]76};77t.same(aliasedArgv, expected);78t.same(propertyArgv, expected);79t.end();80});8182test('boolean and alias using explicit true', function (t) {83var aliased = [ '-h', 'true' ];84var regular = [ '--herp', 'true' ];85var opts = {86alias: { h: 'herp' },87boolean: 'h'88};89var aliasedArgv = parse(aliased, opts);90var propertyArgv = parse(regular, opts);91var expected = {92herp: true,93h: true,94'_': [ ]95};9697t.same(aliasedArgv, expected);98t.same(propertyArgv, expected);99t.end();100});101102// regression, see https://github.com/substack/node-optimist/issues/71103test('boolean and --x=true', function(t) {104var parsed = parse(['--boool', '--other=true'], {105boolean: 'boool'106});107108t.same(parsed.boool, true);109t.same(parsed.other, 'true');110111parsed = parse(['--boool', '--other=false'], {112boolean: 'boool'113});114115t.same(parsed.boool, true);116t.same(parsed.other, 'false');117t.end();118});119120121