]> Cypherpunks repositories - gostls13.git/commitdiff
net/http/httputil: add tests for singleJoiningSlash.
authorBobby DeSimone <bobbydesimone@gmail.com>
Tue, 4 Dec 2018 00:56:04 +0000 (00:56 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 4 Dec 2018 05:49:46 +0000 (05:49 +0000)
These changes add tests for the unexported function singleJoiningSlash.

Change-Id: I107905aac4a3c2544be309098b67e970ea5b542c
GitHub-Last-Rev: ed6f86f619549f46ef53316b7febaac781b64e4b
GitHub-Pull-Request: golang/go#29088
Reviewed-on: https://go-review.googlesource.com/c/152337
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/net/http/httputil/reverseproxy_test.go

index 588022c066bf1dbe04e0a90735f81897c7e47014..5caa2060660a9766caaa0b334cfbf1bb2cf3c508 100644 (file)
@@ -7,23 +7,23 @@
 package httputil
 
 import (
+       "bufio"
+       "bytes"
+       "errors"
+       "fmt"
+       "io"
        "io/ioutil"
        "log"
        "net/http"
        "net/http/httptest"
        "net/url"
-       "testing"
-       "time"
+       "os"
        "reflect"
-       "io"
+       "strconv"
        "strings"
-       "bufio"
        "sync"
-       "strconv"
-       "bytes"
-       "errors"
-       "fmt"
-       "os"
+       "testing"
+       "time"
 )
 
 const fakeHopHeader = "X-Fake-Hop-Header-For-Test"
@@ -1078,3 +1078,26 @@ func TestUnannouncedTrailer(t *testing.T) {
        }
 
 }
+
+func TestSingleJoinSlash(t *testing.T) {
+       tests := []struct {
+               slasha   string
+               slashb   string
+               expected string
+       }{
+               {"https://www.google.com/", "/favicon.ico", "https://www.google.com/favicon.ico"},
+               {"https://www.google.com", "/favicon.ico", "https://www.google.com/favicon.ico"},
+               {"https://www.google.com", "favicon.ico", "https://www.google.com/favicon.ico"},
+               {"https://www.google.com", "", "https://www.google.com/"},
+               {"", "favicon.ico", "/favicon.ico"},
+       }
+       for _, tt := range tests {
+               if got := singleJoiningSlash(tt.slasha, tt.slashb); got != tt.expected {
+                       t.Errorf("singleJoiningSlash(%s,%s) want %s got %s",
+                               tt.slasha,
+                               tt.slashb,
+                               tt.expected,
+                               got)
+               }
+       }
+}