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  }