package gopher_test import ( "fmt" "log" "os" "testing" "github.com/prologic/go-gopher" "github.com/stretchr/testify/assert" ) func hello(w gopher.ResponseWriter, r *gopher.Request) { w.WriteInfo("Hello World!") } func Example_client() { res, err := gopher.Get("gopher://gopher.floodgap.com") if err != nil { log.Fatal(err) } fmt.Print(res.Dir.ToText()) } func Example_server() { gopher.HandleFunc("/hello", hello) log.Fatal(gopher.ListenAndServe("localhost:7000", nil)) } func Example_fileserver() { gopher.Handle("/", gopher.FileServer(gopher.Dir("/tmp"))) log.Fatal(gopher.ListenAndServe("localhost:7000", nil)) } func TestGet(t *testing.T) { assert := assert.New(t) res, err := gopher.Get("gopher://localhost:7000/1hello") assert.Nil(err) b, err := res.Dir.ToText() assert.Nil(err) t.Logf("res: %s", string(b)) assert.Len(res.Dir, 1) assert.Equal(res.Dir[0].Type, gopher.INFO) assert.Equal(res.Dir[0].Description, "Hello World!") } func TestMain(m *testing.M) { gopher.HandleFunc("/hello", hello) go func() { log.Fatal(gopher.ListenAndServe("localhost:7000", nil)) }() os.Exit(m.Run()) }