You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					39 lines
				
				727 B
			
		
		
			
		
	
	
					39 lines
				
				727 B
			| 
								 
											3 years ago
										 
									 | 
							
								import { get } from '../src'
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('returns a deeply nested value', () => {
							 | 
						||
| 
								 | 
							
								  const a = get(
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      colors: {
							 | 
						||
| 
								 | 
							
								        blue: ['#0cf', '#0be', '#09d', '#07c'],
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    'colors.blue.3'
							 | 
						||
| 
								 | 
							
								  )
							 | 
						||
| 
								 | 
							
								  expect(a).toBe('#07c')
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('supports fallback values', () => {
							 | 
						||
| 
								 | 
							
								  const a = get({}, 'hi', 'nope')
							 | 
						||
| 
								 | 
							
								  expect(a).toBe('nope')
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('handles number values', () => {
							 | 
						||
| 
								 | 
							
								  const a = get([1, 2, 3], 0)
							 | 
						||
| 
								 | 
							
								  expect(a).toBe(1)
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('handles undefined values', () => {
							 | 
						||
| 
								 | 
							
								  const a = get({}, undefined)
							 | 
						||
| 
								 | 
							
								  expect(a).toBe(undefined)
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('handles null values', () => {
							 | 
						||
| 
								 | 
							
								  const a = get({}, null)
							 | 
						||
| 
								 | 
							
								  expect(a).toBe(undefined)
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test('returns 0 index items', () => {
							 | 
						||
| 
								 | 
							
								  const a = get([ 'a', 'b', 'c' ], 0)
							 | 
						||
| 
								 | 
							
								  expect(a).toBe('a')
							 | 
						||
| 
								 | 
							
								})
							 |