github.com/d0sbit/gocode@v0.0.0-20211001144653-a968ce917518/config/config_test.go (about) 1 package config 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/psanford/memfs" 8 ) 9 10 func TestConfig(t *testing.T) { 11 12 mfs := memfs.New() 13 must(t, mfs.WriteFile("example.config", []byte(` 14 val2 = "bleh" 15 val1 = "blah" 16 `), 0644)) 17 18 inf, err := mfs.Open("example.config") 19 must(t, err) 20 21 var c Config 22 _, err = c.ReadFrom(inf) 23 must(t, err) 24 25 inf.Close() 26 27 t.Logf("c.Settings: %#v", c.Settings) 28 29 if c.Settings["val1"] != "blah" { 30 t.Fail() 31 } 32 if c.Settings["val2"] != "bleh" { 33 t.Fail() 34 } 35 36 c.Settings["val3"] = "blee" 37 38 var buf bytes.Buffer 39 _, err = c.WriteTo(&buf) 40 must(t, err) 41 t.Logf("out: %s", buf.Bytes()) 42 43 if !bytes.Contains(buf.Bytes(), []byte("blee")) { 44 t.Fail() 45 } 46 } 47 48 func must(t *testing.T, err error) { 49 t.Helper() 50 if err != nil { 51 t.Fatal(err) 52 } 53 }