// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build !appengine package main import ( "net/http/httptest" "os" "runtime" "strings" "testing" "golang.org/x/tools/blog" ) func TestServer(t *testing.T) { if runtime.GOOS == "android" { t.Skip("skipping on android; can't run go tool") } if os.Getenv("GO_BUILDER_NAME") == "aix-ppc64" { t.Skip("skipping on aix-ppc64 builder: https://golang.org/issue/33940") } oldStatic := *staticPath *staticPath = "/static" defer func() { *staticPath = oldStatic }() mux, err := newServer(false, blog.Config{ TemplatePath: "./template", }) if err != nil { t.Fatal(err) } r := httptest.NewRequest("GET", "/", nil) w := httptest.NewRecorder() mux.ServeHTTP(w, r) if w.Code != 200 { t.Errorf("GET /: code = %d; want 200", w.Code) } want := "The Go Programming Language Blog" if !strings.Contains(w.Body.String(), want) { t.Errorf("GET /: want to find %q, got\n\n%q", want, w.Body.String()) } if hdr := w.Header().Get("Content-Type"); hdr != "text/html; charset=utf-8" { t.Errorf("GET /: want text/html content-type, got %q", hdr) } }