github.com/paganotoni/doco@v1.0.7/internal/config_test.go (about) 1 package internal 2 3 import ( 4 _ "embed" 5 6 "os" 7 "testing" 8 ) 9 10 var ( 11 //go:embed testdata/complete_meta.md 12 completeConfig string 13 14 //go:embed testdata/empty_meta.md 15 emptyConfig string 16 17 //go:embed testdata/wrong_types_meta.md 18 wrongMeta string 19 ) 20 21 func TestReadConfig(t *testing.T) { 22 t.Run("read complete meta", func(t *testing.T) { 23 owd, _ := os.Getwd() 24 defer os.Chdir(owd) 25 26 tmpdir := t.TempDir() 27 os.Chdir(tmpdir) 28 29 f, err := os.Create("_meta.md") 30 if err != nil { 31 t.Fatal(err) 32 } 33 34 _, err = f.WriteString(completeConfig) 35 if err != nil { 36 t.Fatal(err) 37 } 38 39 err = f.Close() 40 if err != nil { 41 t.Fatal(err) 42 } 43 44 _, err = readConfig(tmpdir) 45 if err != nil { 46 t.Fatal(err) 47 } 48 49 }) 50 51 t.Run("read incomplete meta", func(t *testing.T) { 52 owd, _ := os.Getwd() 53 defer os.Chdir(owd) 54 55 tmpdir := t.TempDir() 56 os.Chdir(tmpdir) 57 58 f, err := os.Create("_meta.md") 59 if err != nil { 60 t.Fatal(err) 61 } 62 63 _, err = f.WriteString(wrongMeta) 64 if err != nil { 65 t.Fatal(err) 66 } 67 68 err = f.Close() 69 if err != nil { 70 t.Fatal(err) 71 } 72 73 _, err = readConfig(tmpdir) 74 if err != nil { 75 t.Fatal(err) 76 } 77 }) 78 }