Skip to content

Commit f8b60bd

Browse files
committed
增加UrlBuilder的单元测试
1 parent b7cc9ea commit f8b60bd

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
using WebApiClient;
5+
using Xunit;
6+
using System.Linq;
7+
8+
namespace WebApiClient.Test.Internal
9+
{
10+
public class UrlBuilderTest
11+
{
12+
[Fact]
13+
public void BuildTest()
14+
{
15+
var encoding = Encoding.UTF8;
16+
17+
var url = new Uri("http://www.webapiclient.com");
18+
var builder = new UrlBuilder(url, encoding);
19+
Assert.False(builder.Replace("a", "a"));
20+
builder.AddQuery("a", "a");
21+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/?a=a");
22+
23+
url = new Uri("http://www.webapiclient.com/path");
24+
builder = new UrlBuilder(url, encoding);
25+
builder.AddQuery("a", "a");
26+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/path?a=a");
27+
28+
url = new Uri("http://www.webapiclient.com/path/");
29+
builder = new UrlBuilder(url, encoding);
30+
builder.AddQuery("a", "a");
31+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/path/?a=a");
32+
33+
34+
url = new Uri("http://www.webapiclient.com/path/?");
35+
builder = new UrlBuilder(url, encoding);
36+
builder.AddQuery("a", "a");
37+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/path/?a=a");
38+
39+
url = new Uri("http://www.webapiclient.com/path?x=1");
40+
builder = new UrlBuilder(url, encoding);
41+
builder.AddQuery("a", "a");
42+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/path?x=1&a=a");
43+
44+
45+
url = new Uri("http://www.webapiclient.com/path?x=1&");
46+
builder = new UrlBuilder(url, encoding);
47+
builder.AddQuery("a", "a");
48+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/path?x=1&a=a");
49+
50+
51+
url = new Uri("http://www.webapiclient.com/path?x=1&");
52+
builder = new UrlBuilder(url, encoding);
53+
builder.AddQuery("a", "我");
54+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/path?x=1&a=我");
55+
56+
57+
url = new Uri("http://www.webapiclient.com/path/?x=1&");
58+
builder = new UrlBuilder(url, encoding);
59+
builder.AddQuery("a", "我");
60+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/path/?x=1&a=我");
61+
62+
63+
url = new Uri("http://www.webapiclient.com/path/?x={x}&");
64+
builder = new UrlBuilder(url, encoding);
65+
builder.Replace("x", "你");
66+
builder.AddQuery("a", "我");
67+
Assert.True(builder.Uri.ToString() == "http://www.webapiclient.com/path/?x=你&a=我");
68+
}
69+
}
70+
}

0 commit comments

Comments
 (0)