35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | const { getArgValues } = require('./get-arg-values'); | ||
|  | 
 | ||
|  | describe('getArgValues helper', () => { | ||
|  |   it('should be able to run if there are no values to process', () => { | ||
|  |     const args = ['/Path/to/node', '/Path/to/script']; | ||
|  |     expect(getArgValues(args)).toEqual({}); | ||
|  |     expect(getArgValues()).toEqual({}); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should parse the third element (key/value) if provided', () => { | ||
|  |     const args = ['/Path/to/node', '/Path/to/script', 'num=4']; | ||
|  |     expect(getArgValues(args)).toEqual({ num: '4' }); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should parse multiple arguments (key/value) if provided', () => { | ||
|  |     const args = ['/Path/to/node', '/Path/to/script', 'num=4', 'another=5']; | ||
|  |     expect(getArgValues(args)).toEqual({ another: '5', num: '4' }); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should parse the arguments with spaces (key/value) if provided', () => { | ||
|  |     const args = ['/Path/to/node', '/Path/to/script', 'num = 3']; | ||
|  |     expect(getArgValues(args)).toEqual({ num: '3' }); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it('should throw error on invalid key/value arguments', () => { | ||
|  |     const items = [ | ||
|  |       ['/Path/to/node', '/Path/to/script', 'num='], | ||
|  |       ['/Path/to/node', '/Path/to/script', '='], | ||
|  |       ['/Path/to/node', '/Path/to/script', 'num=2', '= 3'] | ||
|  |     ]; | ||
|  | 
 | ||
|  |     items.forEach(item => expect(() => getArgValues(item)).toThrow()); | ||
|  |   }); | ||
|  | }); |