From fcffce3cf6d2e92b08e00b50277ce6d5c7846a65 Mon Sep 17 00:00:00 2001 From: Noah Date: Mon, 21 Jun 2021 15:11:06 +0800 Subject: [PATCH] add test case for reflect2.TypesInPackage --- .gitignore | 1 + type_map_test.go | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..757fee3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.idea \ No newline at end of file diff --git a/type_map_test.go b/type_map_test.go index f25ff7e..74c50e5 100644 --- a/type_map_test.go +++ b/type_map_test.go @@ -3,19 +3,21 @@ package reflect2_tests import ( "github.com/modern-go/reflect2" "testing" - "fmt" ) type MyStruct struct { } +var typByPtr = reflect2.TypeOfPtr((*MyStruct)(nil)).Elem() + func TestTypeByName(t *testing.T) { - typByPtr := reflect2.TypeOfPtr((*MyStruct)(nil)).Elem() typByName := reflect2.TypeByName("reflect2_tests.MyStruct") if typByName != typByPtr { - fmt.Println("!!!") t.Fail() } +} + +func TestTypeByPackageName(t *testing.T) { typByPkg := reflect2.TypeByPackageName( "github.com/modern-go/reflect2-tests", "MyStruct") @@ -23,3 +25,12 @@ func TestTypeByName(t *testing.T) { t.Fail() } } + +func TestTypesInPackage(t *testing.T) { + typInPkg := reflect2.TypesInPackage("github.com/modern-go/reflect2-tests") + for key, typ := range typInPkg { + if key != "MyStruct" || typ != typByPtr { + t.Fail() + } + } +}