mirror of
				https://github.com/taigrr/yq
				synced 2025-01-18 04:53:17 -08:00 
			
		
		
		
	added test to ensure json keys remain in order
This commit is contained in:
		
							parent
							
								
									a57944d123
								
							
						
					
					
						commit
						83cb6421df
					
				
							
								
								
									
										44
									
								
								pkg/yqlib/encoder_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								pkg/yqlib/encoder_test.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | |||||||
|  | package yqlib | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"bufio" | ||||||
|  | 	"bytes" | ||||||
|  | 	"strings" | ||||||
|  | 	"testing" | ||||||
|  | 
 | ||||||
|  | 	"github.com/mikefarah/yq/v4/test" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | var sampleYaml = `zabbix: winner | ||||||
|  | apple: great | ||||||
|  | banana: | ||||||
|  | - {cobra: kai, angus: bob} | ||||||
|  | ` | ||||||
|  | 
 | ||||||
|  | var expectedJson = `{ | ||||||
|  |   "zabbix": "winner", | ||||||
|  |   "apple": "great", | ||||||
|  |   "banana": [ | ||||||
|  |     { | ||||||
|  |       "cobra": "kai", | ||||||
|  |       "angus": "bob" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
|  | ` | ||||||
|  | 
 | ||||||
|  | func TestJsonEncoderPreservesObjectOrder(t *testing.T) { | ||||||
|  | 	var output bytes.Buffer | ||||||
|  | 	writer := bufio.NewWriter(&output) | ||||||
|  | 
 | ||||||
|  | 	var jsonEncoder = NewJsonEncoder(writer, 2) | ||||||
|  | 	inputs, err := readDocuments(strings.NewReader(sampleYaml), "sample.yml") | ||||||
|  | 	if err != nil { | ||||||
|  | 		panic(err) | ||||||
|  | 	} | ||||||
|  | 	node := inputs.Front().Value.(*CandidateNode).Node | ||||||
|  | 	jsonEncoder.Encode(node) | ||||||
|  | 	writer.Flush() | ||||||
|  | 	test.AssertResult(t, expectedJson, output.String()) | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user