| var parse = require('../'); |
| var test = require('tape'); |
| |
| test('numeric short args', function (t) { |
| t.plan(2); |
| t.deepEqual(parse([ '-n123' ]), { n: 123, _: [] }); |
| t.deepEqual( |
| parse([ '-123', '456' ]), |
| { 1: true, 2: true, 3: 456, _: [] } |
| ); |
| }); |
| |
| test('short', function (t) { |
| t.deepEqual( |
| parse([ '-b' ]), |
| { b : true, _ : [] }, |
| 'short boolean' |
| ); |
| t.deepEqual( |
| parse([ 'foo', 'bar', 'baz' ]), |
| { _ : [ 'foo', 'bar', 'baz' ] }, |
| 'bare' |
| ); |
| t.deepEqual( |
| parse([ '-cats' ]), |
| { c : true, a : true, t : true, s : true, _ : [] }, |
| 'group' |
| ); |
| t.deepEqual( |
| parse([ '-cats', 'meow' ]), |
| { c : true, a : true, t : true, s : 'meow', _ : [] }, |
| 'short group next' |
| ); |
| t.deepEqual( |
| parse([ '-h', 'localhost' ]), |
| { h : 'localhost', _ : [] }, |
| 'short capture' |
| ); |
| t.deepEqual( |
| parse([ '-h', 'localhost', '-p', '555' ]), |
| { h : 'localhost', p : 555, _ : [] }, |
| 'short captures' |
| ); |
| t.end(); |
| }); |
| |
| test('mixed short bool and capture', function (t) { |
| t.same( |
| parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), |
| { |
| f : true, p : 555, h : 'localhost', |
| _ : [ 'script.js' ] |
| } |
| ); |
| t.end(); |
| }); |
| |
| test('short and long', function (t) { |
| t.deepEqual( |
| parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]), |
| { |
| f : true, p : 555, h : 'localhost', |
| _ : [ 'script.js' ] |
| } |
| ); |
| t.end(); |
| }); |