Merge pull request #1433 from akoeplinger/system.numerics-port
[mono.git] / mcs / class / System.Net.Http / Test / System.Net.Http / HttpRequestMessageTest.cs
index 79ae114f65b661d703abb11f32e58a59d2215f00..eabc8a05c5da51f242dffbd772c5cdb45a2b62ed 100644 (file)
@@ -99,6 +99,20 @@ namespace MonoTests.System.Net.Http
                        Assert.AreEqual (req.RequestUri, uri);
                }
 
+               [Test]
+               public void Ctor_RelativeOrAbsoluteUri ()
+               {
+                       var uri = new Uri ("/", UriKind.RelativeOrAbsolute);
+                       new HttpRequestMessage (HttpMethod.Get, uri);
+
+                       uri = new Uri ("file://", UriKind.RelativeOrAbsolute);
+                       try {
+                               new HttpRequestMessage (HttpMethod.Get, uri);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentException) {
+                       }
+               }
+
                [Test]
                public void Ctor_RelativeUriString ()
                {
@@ -109,6 +123,18 @@ namespace MonoTests.System.Net.Http
                        Assert.IsFalse (req.RequestUri.IsAbsoluteUri);
                }
 
+               [Test]
+               public void Ctor_RelativeOrAbsoluteUriString ()
+               {
+                       new HttpRequestMessage (HttpMethod.Get, "/");
+
+                       try {
+                               new HttpRequestMessage (HttpMethod.Get, "file://");
+                               Assert.Fail ("#1");
+                       } catch (ArgumentException) {
+                       }
+               }
+
                [Test]
                public void Headers ()
                {
@@ -424,6 +450,21 @@ namespace MonoTests.System.Net.Http
                        ), "#10b");
                }
 
+               [Test]
+               public void Headers_UserAgentExtra ()
+               {
+                       HttpRequestMessage message = new HttpRequestMessage ();
+                       var headers = message.Headers;
+
+                       headers.Add ("User-Agent", "MonoDevelop (Unix 3.13.0; amd64; en-US; Octokit 0.3.4)");
+
+                       var se = headers.UserAgent.SequenceEqual (
+                               new[] {
+                                               new ProductInfoHeaderValue ("MonoDevelop", null),
+                                               new ProductInfoHeaderValue ("(Unix 3.13.0; amd64; en-US; Octokit 0.3.4)")
+                               });
+               }
+
                [Test]
                public void Header_BaseImplementation ()
                {