summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/NYTimes/gziphandler/gzip_go18_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/NYTimes/gziphandler/gzip_go18_test.go')
-rw-r--r--vendor/github.com/NYTimes/gziphandler/gzip_go18_test.go70
1 files changed, 70 insertions, 0 deletions
diff --git a/vendor/github.com/NYTimes/gziphandler/gzip_go18_test.go b/vendor/github.com/NYTimes/gziphandler/gzip_go18_test.go
new file mode 100644
index 000000000..412b2918e
--- /dev/null
+++ b/vendor/github.com/NYTimes/gziphandler/gzip_go18_test.go
@@ -0,0 +1,70 @@
+// +build go1.8
+
+package gziphandler
+
+import (
+ "net/http"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestSetAcceptEncodingForPushOptionsWithoutHeaders(t *testing.T) {
+ var opts *http.PushOptions
+ opts = setAcceptEncodingForPushOptions(opts)
+
+ assert.NotNil(t, opts)
+ assert.NotNil(t, opts.Header)
+
+ for k, v := range opts.Header {
+ assert.Equal(t, "Accept-Encoding", k)
+ assert.Len(t, v, 1)
+ assert.Equal(t, "gzip", v[0])
+ }
+
+ opts = &http.PushOptions{}
+ opts = setAcceptEncodingForPushOptions(opts)
+
+ assert.NotNil(t, opts)
+ assert.NotNil(t, opts.Header)
+
+ for k, v := range opts.Header {
+ assert.Equal(t, "Accept-Encoding", k)
+ assert.Len(t, v, 1)
+ assert.Equal(t, "gzip", v[0])
+ }
+}
+
+func TestSetAcceptEncodingForPushOptionsWithHeaders(t *testing.T) {
+ opts := &http.PushOptions{
+ Header: http.Header{
+ "User-Agent": []string{"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36"},
+ },
+ }
+ opts = setAcceptEncodingForPushOptions(opts)
+
+ assert.NotNil(t, opts)
+ assert.NotNil(t, opts.Header)
+
+ assert.Equal(t, "gzip", opts.Header.Get("Accept-Encoding"))
+ assert.Equal(t, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36", opts.Header.Get("User-Agent"))
+
+ opts = &http.PushOptions{
+ Header: http.Header{
+ "User-Agent": []string{"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36"},
+ acceptEncoding: []string{"deflate"},
+ },
+ }
+ opts = setAcceptEncodingForPushOptions(opts)
+
+ assert.NotNil(t, opts)
+ assert.NotNil(t, opts.Header)
+
+ e, found := opts.Header["Accept-Encoding"]
+ if !found {
+ assert.Fail(t, "Missing Accept-Encoding header value")
+ }
+ assert.Len(t, e, 1)
+ assert.Equal(t, "deflate", e[0])
+ assert.Equal(t, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36", opts.Header.Get("User-Agent"))
+}