github.com/anthonyme00/gomarkdoc@v1.0.0/lang/type_test.go (about) 1 package lang_test 2 3 import ( 4 "errors" 5 "testing" 6 7 "github.com/anthonyme00/gomarkdoc/lang" 8 "github.com/anthonyme00/gomarkdoc/logger" 9 "github.com/matryer/is" 10 ) 11 12 func TestType_Examples(t *testing.T) { 13 is := is.New(t) 14 15 typ, err := loadType("../testData/lang/function", "Receiver") 16 is.NoErr(err) 17 18 ex := typ.Examples() 19 is.Equal(len(ex), 2) 20 21 is.Equal(ex[0].Name(), "") 22 is.Equal(ex[1].Name(), "Sub Test") 23 } 24 25 func loadType(dir, name string) (*lang.Type, error) { 26 buildPkg, err := getBuildPackage(dir) 27 if err != nil { 28 return nil, err 29 } 30 31 log := logger.New(logger.ErrorLevel) 32 pkg, err := lang.NewPackageFromBuild(log, buildPkg) 33 if err != nil { 34 return nil, err 35 } 36 37 for _, t := range pkg.Types() { 38 if t.Name() == name { 39 return t, nil 40 } 41 } 42 43 return nil, errors.New("type not found") 44 }