// Copyright 2014 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 or at // https://developers.google.com/open-source/licenses/bsd. package main import ( "net/http" "net/http/httptest" "reflect" "strings" "testing" ) func TestFlashMessages(t *testing.T) { resp := httptest.NewRecorder() expectedMessages := []flashMessage{ {ID: "a", Args: []string{"one"}}, {ID: "b", Args: []string{"two", "three"}}, {ID: "c", Args: []string{}}, } setFlashMessages(resp, expectedMessages) req := &http.Request{Header: http.Header{"Cookie": {strings.Split(resp.Header().Get("Set-Cookie"), ";")[0]}}} actualMessages := getFlashMessages(resp, req) if !reflect.DeepEqual(actualMessages, expectedMessages) { t.Errorf("got messages %+v, want %+v", actualMessages, expectedMessages) } }