summaryrefslogtreecommitdiff
path: root/utilities_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'utilities_test.go')
-rw-r--r--utilities_test.go53
1 files changed, 53 insertions, 0 deletions
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.")
+ }
+}