@@ -21,13 +21,13 @@ public void GET_with_empty_base_and_resource_containing_tokens() {
2121
2222 [ Fact ]
2323 public void GET_with_empty_request ( ) {
24- var request = new RestRequest ( ) ;
24+ var request = new RestRequest ( ) ;
2525 AssertUri ( "http://example.com" , request , "http://example.com/" ) ;
2626 }
2727
2828 [ Fact ]
2929 public void GET_with_empty_request_and_bare_hostname ( ) {
30- var request = new RestRequest ( ) ;
30+ var request = new RestRequest ( ) ;
3131 AssertUri ( "http://example.com" , request , "http://example.com/" ) ;
3232 }
3333
@@ -173,8 +173,12 @@ public void Should_build_uri_using_selected_encoding() {
173173 // utf-8 and iso-8859-1
174174 var request = new RestRequest ( ) . AddOrUpdateParameter ( "town" , "Hillerød" ) ;
175175
176- const string expectedDefaultEncoding = "http://example.com/resource?town=Hiller%c3%b8d" ;
177176 const string expectedIso89591Encoding = "http://example.com/resource?town=Hiller%f8d" ;
177+ #if NET6_0_OR_GREATER
178+ const string expectedDefaultEncoding = "http://example.com/resource?town=Hiller%c3%b8d" ;
179+ #else
180+ const string expectedDefaultEncoding = "http://example.com/resource?town=Hiller%C3%B8d" ;
181+ #endif
178182
179183 AssertUri ( "http://example.com/resource" , request , expectedDefaultEncoding ) ;
180184
@@ -236,13 +240,37 @@ public void Should_use_ipv6_address() {
236240 actual . AbsoluteUri . Should ( ) . Be ( "https://[fe80::290:e8ff:fe8b:2537]:8443/api/v1/auth" ) ;
237241 }
238242
243+ const string BaseUrl = "http://localhost:8888/" ;
244+
245+ [ Fact ]
246+ public void Should_build_with_passing_link_as_Uri ( ) {
247+ var relative = new Uri ( "/foo/bar/baz" , UriKind . Relative ) ;
248+ var absoluteUri = new Uri ( new Uri ( BaseUrl ) , relative ) ;
249+ var req = new RestRequest ( absoluteUri ) ;
250+
251+ AssertUri ( req , absoluteUri . AbsoluteUri ) ;
252+ }
253+
254+ [ Fact ]
255+ public void Should_build_with_passing_link_as_Uri_with_set_BaseUrl ( ) {
256+ var baseUrl = new Uri ( BaseUrl ) ;
257+ var relative = new Uri ( "/foo/bar/baz" , UriKind . Relative ) ;
258+ var req = new RestRequest ( relative ) ;
259+
260+ using var client = new RestClient ( baseUrl ) ;
261+
262+ var builtUri = client . BuildUri ( req ) ;
263+
264+ AssertUri ( BaseUrl , req , builtUri . AbsoluteUri ) ;
265+ }
266+
239267 [ Fact ]
240268 public void Should_encode_resource ( ) {
241- const string baseUrl = "https://example.com" ;
269+ const string baseUrl = "https://example.com" ;
242270 const string resource = "resource?param=value with spaces" ;
243271
244272 var request = new RestRequest ( resource ) ;
245- var uri = new Uri ( $ "{ baseUrl } /{ resource } ") ;
273+ var uri = new Uri ( $ "{ baseUrl } /{ resource } ") ;
246274 AssertUri ( baseUrl , request , uri . AbsoluteUri ) ;
247275 }
248276
0 commit comments