github.com/sereiner/library@v0.0.0-20200518095232-1fa3e640cc5f/net/url_test.go (about) 1 package net 2 3 import "testing" 4 5 func TestGetParamsMap(t *testing.T) { 6 url := "http://geek.csdn.net/news/detail/124352?locationNum=2&fps=1" 7 data, err := QueryStringToMap(url) 8 if err != nil { 9 t.Errorf("GetParamsMap fail: %v", err) 10 } 11 if len(data) != 2 || data["locationNum"] != "2" || data["fps"] != "1" { 12 t.Errorf("GetParamsMap fail:%s", data) 13 } 14 15 url = "http://geek.csdn.net/news/detail/124352??locationNum=2&fps=1" 16 data, err = QueryStringToMap(url) 17 if err != nil { 18 t.Errorf("GetParamsMap fail: %v", err) 19 } 20 if len(data) != 2 || data["?locationNum"] != "2" || data["fps"] != "1" { 21 t.Errorf("GetParamsMap fail:%s", data) 22 } 23 24 url = "http://geek.csdn.net/news/detail/124352?" 25 data, err = QueryStringToMap(url) 26 if err != nil { 27 t.Errorf("GetParamsMap fail: %v", err) 28 } 29 if len(data) != 0 { 30 t.Errorf("GetParamsMap fail:%s", data) 31 } 32 33 url = "http://geek.csdn.net/news/detail/124352?locationNum" 34 data, err = QueryStringToMap(url) 35 if err != nil { 36 t.Errorf("GetParamsMap fail: %v", err) 37 } 38 if len(data) != 1 || data["locationNum"] != "" { 39 t.Errorf("GetParamsMap fail:%s", data) 40 } 41 42 url = "http://geek.csdn.net/news/detail/12435" 43 data, err = QueryStringToMap(url) 44 if err != nil { 45 t.Errorf("GetParamsMap fail: %v", err) 46 } 47 if len(data) != 0 { 48 t.Errorf("GetParamsMap fail:%s", data) 49 } 50 51 url = "asdfaqrew" 52 data, err = QueryStringToMap(url) 53 if err != nil { 54 t.Errorf("GetParamsMap fail: %v", err) 55 } 56 if len(data) != 0 { 57 t.Errorf("GetParamsMap fail:%s", data) 58 } 59 }