34 lines
		
	
	
		
			455 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			455 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package reflect
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestPath(t *testing.T) {
 | |
| 	type Nested2 struct {
 | |
| 		Name string
 | |
| 	}
 | |
| 	type Nested1 struct {
 | |
| 		Nested2 Nested2
 | |
| 	}
 | |
| 	type Config struct {
 | |
| 		Nested1 Nested1
 | |
| 	}
 | |
| 
 | |
| 	cfg := &Config{
 | |
| 		Nested1: Nested1{
 | |
| 			Nested2: Nested2{
 | |
| 				Name: "NAME",
 | |
| 			},
 | |
| 		},
 | |
| 	}
 | |
| 
 | |
| 	v, err := Lookup(cfg, "$.Nested1.Nested2.Name")
 | |
| 	if err != nil {
 | |
| 		t.Fatal(err)
 | |
| 	}
 | |
| 	if v.String() != "NAME" {
 | |
| 		t.Fatalf("lookup returns invalid value: %v", v)
 | |
| 	}
 | |
| }
 |