68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								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();
							 | 
						||
| 
								 | 
							
								});
							 |