aboutsummaryrefslogtreecommitdiffhomepage
path: root/url/url_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'url/url_test.go')
-rw-r--r--url/url_test.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/url/url_test.go b/url/url_test.go
index 9a14b20..54868a9 100644
--- a/url/url_test.go
+++ b/url/url_test.go
@@ -71,3 +71,25 @@ func TestDomain(t *testing.T) {
}
}
}
+
+func TestRequestURI(t *testing.T) {
+ scenarios := map[string]string{
+ "https://www.example.org": "https://www.example.org",
+ "https://user:password@www.example.org": "https://user:password@www.example.org",
+ "https://www.example.org/path with spaces": "https://www.example.org/path%20with%20spaces",
+ "https://www.example.org/path#test": "https://www.example.org/path",
+ "https://www.example.org/path?abc#test": "https://www.example.org/path?abc",
+ "https://www.example.org/path?a=b&a=c": "https://www.example.org/path?a=b&a=c",
+ "https://www.example.org/path?a=b&a=c&d": "https://www.example.org/path?a=b&a=c&d",
+ "https://www.example.org/path?atom": "https://www.example.org/path?atom",
+ "https://www.example.org/path?测试=测试": "https://www.example.org/path?%E6%B5%8B%E8%AF%95=%E6%B5%8B%E8%AF%95",
+ "https://www.example.org/url=http%3A%2F%2Fwww.example.com%2Ffeed%2F&max=20": "https://www.example.org/url=http%3A%2F%2Fwww.example.com%2Ffeed%2F&max=20",
+ }
+
+ for input, expected := range scenarios {
+ actual := RequestURI(input)
+ if actual != expected {
+ t.Errorf(`Unexpected result, got %q instead of %q`, actual, expected)
+ }
+ }
+}