In Test/System.Net:
authorSebastien Pouliot <sebastien@ximian.com>
Tue, 12 Jan 2010 13:07:44 +0000 (13:07 -0000)
committerSebastien Pouliot <sebastien@ximian.com>
Tue, 12 Jan 2010 13:07:44 +0000 (13:07 -0000)
2010-01-12  Sebastien Pouliot  <sebastien@ximian.com>

* NetworkCredentialTest.cs: New. Unit tests.

In System.Net:
2010-01-12  Sebastien Pouliot  <sebastien@ximian.com>

* NetworkCredential.cs: Fix properties to never return null.

In .:
2010-01-12  Sebastien Pouliot  <sebastien@ximian.com>

* System_test.dll.sources: Add NetworkCredentialTest.cs to the tests

svn path=/trunk/mcs/; revision=149401

mcs/class/System/ChangeLog
mcs/class/System/System.Net/ChangeLog
mcs/class/System/System.Net/NetworkCredential.cs
mcs/class/System/System_test.dll.sources
mcs/class/System/Test/System.Net/ChangeLog
mcs/class/System/Test/System.Net/NetworkCredentialTest.cs [new file with mode: 0644]

index 4a46e41a86936cfbbb0c761bd2a39f2fa913d3d7..f0b5a54a5868b6744d0f1912c7a062d38b80bafa 100644 (file)
@@ -1,3 +1,7 @@
+2010-01-12  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * System_test.dll.sources: Add NetworkCredentialTest.cs to the tests
+
 2009-12-04  Sebastien Pouliot  <sebastien@ximian.com>
 
        * System.dll.sources: Add (moved) System.Net/DnsEndPoint.cs
index 790e57c88c3093c05eb9b344b20e81748190cb3a..5eb763aec470e5cea2783ab82e2ffdf1a7bb6a58 100644 (file)
@@ -1,3 +1,7 @@
+2010-01-12  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * NetworkCredential.cs: Fix properties to never return null.
+
 2009-12-24  Sebastien Pouliot  <sebastien@ximian.com>
 
        * Cookie.cs: Re-work ToString to be useable in more cases. Fix
index 2219e4b37dc2cdd585a7a60a328efd6bc942d3f9..9e7b3aab877e332624f098726a781740da69f6b9 100644 (file)
@@ -4,8 +4,7 @@
 // Author: Duncan Mak (duncan@ximian.com)
 //
 // (C) Ximian, Inc.
-//
-
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // a copy of this software and associated documentation files (the
@@ -41,7 +40,6 @@ namespace System.Net
                
                // Constructors
                public NetworkCredential ()
-                       : base ()
                {
                }
 
@@ -60,21 +58,18 @@ namespace System.Net
 
                // Properties
 
-               public string Domain
-               {
-                       get { return domain; }
+               public string Domain {
+                       get { return domain ?? String.Empty; }
                        set { domain = value; }
                }
 
-               public string UserName
-               {
-                       get { return userName; }
+               public string UserName {
+                       get { return userName ?? String.Empty; }
                        set { userName = value; }                       
                }
 
-               public string Password
-               {
-                       get { return password; }
+               public string Password {
+                       get { return password ?? String.Empty; }
                        set { password = value; }
                }
 
index bf65f1f95dc1042ecc07e554e399a1888fb8b514..4d85e6f32b9ba81a35da5f0ca8ed0f05cba23812 100644 (file)
@@ -210,6 +210,7 @@ System.Net/HttpListener2Test.cs
 System.Net/HttpListenerRequestTest.cs
 System.Net/IPAddressTest.cs
 System.Net/IPEndPointTest.cs
+System.Net/NetworkCredentialTest.cs
 System.Net/ServicePointManagerTest.cs
 System.Net/ServicePointTest.cs
 System.Net/SocketPermissionAttributeTest.cs
index 75a0aa562c577facae3c48679d50d329028960c4..0c256869e5dc6f837b1092e185abca3835209093 100644 (file)
@@ -1,3 +1,7 @@
+2010-01-12  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * NetworkCredentialTest.cs: New. Unit tests.
+
 2009-12-24  Sebastien Pouliot  <sebastien@ximian.com>
 
        * CookieContainerTest.cs: Split many tests into smaller test 
diff --git a/mcs/class/System/Test/System.Net/NetworkCredentialTest.cs b/mcs/class/System/Test/System.Net/NetworkCredentialTest.cs
new file mode 100644 (file)
index 0000000..8d0253b
--- /dev/null
@@ -0,0 +1,104 @@
+//
+// Unit tests for System.Net.NetworkCredential
+//
+// Contact:
+//   Moonlight List (moonlight-list@lists.ximian.com)
+//
+// Copyright (C) 2010 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Net;
+
+using NUnit.Framework;\r
+
+namespace MoonTest.System.Net {
+
+       [TestFixture]
+       public class NetworkCredentialTest {
+
+               void CheckDefaults (NetworkCredential nc)
+               {
+                       Assert.AreSame (String.Empty, nc.Domain, "Domain");
+                       Assert.AreSame (String.Empty, nc.Password, "Password");
+                       Assert.AreSame (String.Empty, nc.UserName, "UserName");
+                       Assert.AreSame (nc, nc.GetCredential (null, null), "GetCredential");
+               }
+
+               void CheckCustom (NetworkCredential nc)
+               {
+                       Assert.AreEqual ("dom", nc.Domain, "Domain");
+                       Assert.AreEqual ("********", nc.Password, "Password");
+                       Assert.AreEqual ("user", nc.UserName, "UserName");
+                       Assert.AreSame (nc, nc.GetCredential (new Uri ("http://www.mono-project.com"), "basic"), "GetCredential");
+               }
+
+               [Test]
+               public void Constructor_0 ()
+               {
+                       NetworkCredential nc = new NetworkCredential ();
+                       CheckDefaults (nc);
+
+                       nc.UserName = null;
+                       nc.Domain = null;
+                       nc.Password = null;
+                       CheckDefaults (nc);
+
+                       nc.UserName = "user";
+                       nc.Domain = "dom";
+                       nc.Password = "********";
+                       CheckCustom (nc);
+               }
+
+               [Test]
+               public void Constructor_2 ()
+               {
+                       NetworkCredential nc = new NetworkCredential (null, null);
+                       CheckDefaults (nc);
+
+                       nc.UserName = String.Empty;
+                       nc.Domain = String.Empty;
+                       nc.Password = null;
+                       CheckDefaults (nc);
+
+                       nc = new NetworkCredential ("user", "********");
+                       nc.Domain = "dom";
+                       CheckCustom (nc);
+               }
+
+               [Test]
+               public void Constructor_3 ()
+               {
+                       NetworkCredential nc = new NetworkCredential (null, null, null);
+                       CheckDefaults (nc);
+
+                       nc.UserName = String.Empty;
+                       nc.Domain = null;
+                       nc.Password = String.Empty;
+                       CheckDefaults (nc);
+
+                       nc = new NetworkCredential ("user", "********", "dom");
+                       CheckCustom (nc);
+               }
+       }
+}
+