diff options
Diffstat (limited to 'src/lib/reflect/all_test.go')
-rw-r--r-- | src/lib/reflect/all_test.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/reflect/all_test.go b/src/lib/reflect/all_test.go index 203413e55..a6ac1a7c7 100644 --- a/src/lib/reflect/all_test.go +++ b/src/lib/reflect/all_test.go @@ -283,3 +283,14 @@ export func TestAll(tt *testing.T) { // TODO(r): wrap up better println(a[i]); } } + +export func TestInterfaceGet(t *testing.T) { + var inter struct { e interface{ } }; + inter.e = 123.456; + v1 := reflect.NewValue(&inter); + v2 := v1.(reflect.PtrValue).Sub().(reflect.StructValue).Field(0); + assert(v2.Type().String(), "interface { }"); + i2 := v2.(reflect.InterfaceValue).Get(); + v3 := reflect.NewValue(i2); + assert(v3.Type().String(), "float"); +} |