summaryrefslogtreecommitdiff
path: root/desktop/node_modules/minimist/test/bool.js
diff options
context:
space:
mode:
authorRaindropsSys <raindrops@equestria.dev>2023-10-24 17:43:37 +0200
committerRaindropsSys <raindrops@equestria.dev>2023-10-24 17:43:37 +0200
commitae187b6d75c8079da0be1dc288613bad8466fe61 (patch)
tree5ea0d34185a2270f29ffaa65e1f5258028d7d5d0 /desktop/node_modules/minimist/test/bool.js
downloadmist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.gz
mist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.bz2
mist-ae187b6d75c8079da0be1dc288613bad8466fe61.zip
Initial commit
Diffstat (limited to 'desktop/node_modules/minimist/test/bool.js')
-rw-r--r--desktop/node_modules/minimist/test/bool.js177
1 files changed, 177 insertions, 0 deletions
diff --git a/desktop/node_modules/minimist/test/bool.js b/desktop/node_modules/minimist/test/bool.js
new file mode 100644
index 0000000..e58d47e
--- /dev/null
+++ b/desktop/node_modules/minimist/test/bool.js
@@ -0,0 +1,177 @@
+'use strict';
+
+var parse = require('../');
+var test = require('tape');
+
+test('flag boolean default false', function (t) {
+ var argv = parse(['moo'], {
+ boolean: ['t', 'verbose'],
+ default: { verbose: false, t: false },
+ });
+
+ t.deepEqual(argv, {
+ verbose: false,
+ t: false,
+ _: ['moo'],
+ });
+
+ t.deepEqual(typeof argv.verbose, 'boolean');
+ t.deepEqual(typeof argv.t, 'boolean');
+ t.end();
+
+});
+
+test('boolean groups', function (t) {
+ var argv = parse(['-x', '-z', 'one', 'two', 'three'], {
+ boolean: ['x', 'y', 'z'],
+ });
+
+ t.deepEqual(argv, {
+ x: true,
+ y: false,
+ z: true,
+ _: ['one', 'two', 'three'],
+ });
+
+ t.deepEqual(typeof argv.x, 'boolean');
+ t.deepEqual(typeof argv.y, 'boolean');
+ t.deepEqual(typeof argv.z, 'boolean');
+ t.end();
+});
+test('boolean and alias with chainable api', function (t) {
+ var aliased = ['-h', 'derp'];
+ var regular = ['--herp', 'derp'];
+ var aliasedArgv = parse(aliased, {
+ boolean: 'herp',
+ alias: { h: 'herp' },
+ });
+ var propertyArgv = parse(regular, {
+ boolean: 'herp',
+ alias: { h: 'herp' },
+ });
+ var expected = {
+ herp: true,
+ h: true,
+ _: ['derp'],
+ };
+
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias with options hash', function (t) {
+ var aliased = ['-h', 'derp'];
+ var regular = ['--herp', 'derp'];
+ var opts = {
+ alias: { h: 'herp' },
+ boolean: 'herp',
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var expected = {
+ herp: true,
+ h: true,
+ _: ['derp'],
+ };
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias array with options hash', function (t) {
+ var aliased = ['-h', 'derp'];
+ var regular = ['--herp', 'derp'];
+ var alt = ['--harp', 'derp'];
+ var opts = {
+ alias: { h: ['herp', 'harp'] },
+ boolean: 'h',
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var altPropertyArgv = parse(alt, opts);
+ var expected = {
+ harp: true,
+ herp: true,
+ h: true,
+ _: ['derp'],
+ };
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.same(altPropertyArgv, expected);
+ t.end();
+});
+
+test('boolean and alias using explicit true', function (t) {
+ var aliased = ['-h', 'true'];
+ var regular = ['--herp', 'true'];
+ var opts = {
+ alias: { h: 'herp' },
+ boolean: 'h',
+ };
+ var aliasedArgv = parse(aliased, opts);
+ var propertyArgv = parse(regular, opts);
+ var expected = {
+ herp: true,
+ h: true,
+ _: [],
+ };
+
+ t.same(aliasedArgv, expected);
+ t.same(propertyArgv, expected);
+ t.end();
+});
+
+// regression, see https://github.com/substack/node-optimist/issues/71
+test('boolean and --x=true', function (t) {
+ var parsed = parse(['--boool', '--other=true'], {
+ boolean: 'boool',
+ });
+
+ t.same(parsed.boool, true);
+ t.same(parsed.other, 'true');
+
+ parsed = parse(['--boool', '--other=false'], {
+ boolean: 'boool',
+ });
+
+ t.same(parsed.boool, true);
+ t.same(parsed.other, 'false');
+ t.end();
+});
+
+test('boolean --boool=true', function (t) {
+ var parsed = parse(['--boool=true'], {
+ default: {
+ boool: false,
+ },
+ boolean: ['boool'],
+ });
+
+ t.same(parsed.boool, true);
+ t.end();
+});
+
+test('boolean --boool=false', function (t) {
+ var parsed = parse(['--boool=false'], {
+ default: {
+ boool: true,
+ },
+ boolean: ['boool'],
+ });
+
+ t.same(parsed.boool, false);
+ t.end();
+});
+
+test('boolean using something similar to true', function (t) {
+ var opts = { boolean: 'h' };
+ var result = parse(['-h', 'true.txt'], opts);
+ var expected = {
+ h: true,
+ _: ['true.txt'],
+ };
+
+ t.same(result, expected);
+ t.end();
+});