mirror of
				https://github.com/taigrr/yq
				synced 2025-01-18 04:53:17 -08:00 
			
		
		
		
	Merge pull request #2 from chaos95/master
Handle 'index out of range' errors more gracefully
This commit is contained in:
		
						commit
						037314af8a
					
				| @ -58,7 +58,7 @@ func recurse(value interface{}, head string, tail []string) interface{} { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func readArray(array []interface{}, head int64, tail []string) interface{} { | func readArray(array []interface{}, head int64, tail []string) interface{} { | ||||||
| 	if head > int64(len(array)) { | 	if head >= int64(len(array)) { | ||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -83,6 +83,17 @@ b: | |||||||
| 	assertResult(t, nil, readMap(data, "b", []string{"d", "3"})) | 	assertResult(t, nil, readMap(data, "b", []string{"d", "3"})) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func TestReadMap_with_array_out_of_bounds_by_1(t *testing.T) { | ||||||
|  | 	var data = parseData(` | ||||||
|  | --- | ||||||
|  | b: | ||||||
|  |   d: | ||||||
|  |     - 3 | ||||||
|  |     - 4 | ||||||
|  | `) | ||||||
|  | 	assertResult(t, nil, readMap(data, "b", []string{"d", "2"})) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func TestReadMap_with_array_splat(t *testing.T) { | func TestReadMap_with_array_splat(t *testing.T) { | ||||||
| 	var data = parseData(` | 	var data = parseData(` | ||||||
| e: | e: | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user