mirror of https://github.com/writeas/writefreely
Add Cache-Control response header for static files in order to improve page loading speed. Fixes #322pull/336/head
parent
a8a6525006
commit
3f36ede885
@ -0,0 +1,38 @@ |
||||
package writefreely |
||||
|
||||
import ( |
||||
"net/http" |
||||
"net/http/httptest" |
||||
"strings" |
||||
"testing" |
||||
|
||||
"github.com/gorilla/mux" |
||||
) |
||||
|
||||
func TestCacheControlForStaticFiles(t *testing.T) { |
||||
app := NewApp("testdata/config.ini") |
||||
if err := app.LoadConfig(); err != nil { |
||||
t.Fatalf("Could not create an app; %v", err) |
||||
} |
||||
router := mux.NewRouter() |
||||
app.InitStaticRoutes(router) |
||||
|
||||
rec := httptest.NewRecorder() |
||||
req := httptest.NewRequest("GET", "/style.css", nil) |
||||
router.ServeHTTP(rec, req) |
||||
if code := rec.Result().StatusCode; code != http.StatusOK { |
||||
t.Fatalf("Could not get /style.css, got HTTP status %d", code) |
||||
} |
||||
actual := rec.Result().Header.Get("Cache-Control") |
||||
|
||||
expectedDirectives := []string{ |
||||
"public", |
||||
"max-age", |
||||
"immutable", |
||||
} |
||||
for _, expected := range expectedDirectives { |
||||
if !strings.Contains(actual, expected) { |
||||
t.Errorf("Expected Cache-Control header to contain '%s', but was '%s'", expected, actual) |
||||
} |
||||
} |
||||
} |
@ -0,0 +1 @@ |
||||
!config.ini |
@ -0,0 +1,2 @@ |
||||
[server] |
||||
static_parent_dir = testdata |
@ -0,0 +1,3 @@ |
||||
body { |
||||
background-color: lightblue; |
||||
} |
Loading…
Reference in new issue