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(); | ||
|  | }); |