From 050315fd4253a962a5a2fa7fc69eb712bbf0ecdc Mon Sep 17 00:00:00 2001 From: horus_arch Date: Sun, 29 Mar 2015 20:52:16 +0200 Subject: Add modified mailgraph.cgi. Update style.css. Complete test suite, every function should be tested. --- utilities_test.go | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'utilities_test.go') diff --git a/utilities_test.go b/utilities_test.go index 4776323..5f095dc 100644 --- a/utilities_test.go +++ b/utilities_test.go @@ -1,6 +1,7 @@ package main import ( + "net/http" "testing" ) @@ -21,3 +22,55 @@ func TestCompareStrings(t *testing.T) { t.Fatal("Strings are not equal. Exptected false") } } + +func TestGetLanguage(t *testing.T) { + // Test language with neither cookie nor Accept-Language header + request, err := http.NewRequest("GET", "/", nil) + if err != nil { + t.Fatal("Error creating new http request. (/)", err) + } + lang := GetLanguage(request) + if lang != "" { + t.Log(lang) + t.Fatal("Expected empty string as lang.") + } + + // Test language with lang=de + cookie := http.Cookie{Name: "lang", Value: "de"} + request, err = http.NewRequest("GET", "/", nil) + if err != nil { + t.Fatal("Error creating new http request. (/) 2nd time.", err) + } + request.AddCookie(&cookie) + lang = GetLanguage(request) + if lang != "_de" { + t.Log(lang) + t.Fatal("Expected '_de' as lang.") + } + + // Test language with lang=en + cookie = http.Cookie{Name: "lang", Value: "en"} + request, err = http.NewRequest("GET", "/", nil) + if err != nil { + t.Fatal("Error creating new http request. (/) 3rd time.", err) + } + request.AddCookie(&cookie) + lang = GetLanguage(request) + if lang != "" { + t.Log(lang) + t.Fatal("Expected empty string as lang.") + } + + // Test language with garbage + cookie = http.Cookie{Name: "lang", Value: "foobar"} + request, err = http.NewRequest("GET", "/", nil) + if err != nil { + t.Fatal("Error creating new http request. (/) 4th time.", err) + } + request.AddCookie(&cookie) + lang = GetLanguage(request) + if lang != "" { + t.Log(lang) + t.Fatal("Expected empty string as lang.") + } +} -- cgit v1.2.3