From: Sebastien Pouliot Date: Tue, 12 Jan 2010 13:07:44 +0000 (-0000) Subject: In Test/System.Net: X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;ds=sidebyside;h=7b3d84254a4f4a48b1f3ff40b6c8fdc10f0863c8;p=mono.git In Test/System.Net: 2010-01-12 Sebastien Pouliot * NetworkCredentialTest.cs: New. Unit tests. In System.Net: 2010-01-12 Sebastien Pouliot * NetworkCredential.cs: Fix properties to never return null. In .: 2010-01-12 Sebastien Pouliot * System_test.dll.sources: Add NetworkCredentialTest.cs to the tests svn path=/trunk/mcs/; revision=149401 --- diff --git a/mcs/class/System/ChangeLog b/mcs/class/System/ChangeLog index 4a46e41a869..f0b5a54a586 100644 --- a/mcs/class/System/ChangeLog +++ b/mcs/class/System/ChangeLog @@ -1,3 +1,7 @@ +2010-01-12 Sebastien Pouliot + + * System_test.dll.sources: Add NetworkCredentialTest.cs to the tests + 2009-12-04 Sebastien Pouliot * System.dll.sources: Add (moved) System.Net/DnsEndPoint.cs diff --git a/mcs/class/System/System.Net/ChangeLog b/mcs/class/System/System.Net/ChangeLog index 790e57c88c3..5eb763aec47 100644 --- a/mcs/class/System/System.Net/ChangeLog +++ b/mcs/class/System/System.Net/ChangeLog @@ -1,3 +1,7 @@ +2010-01-12 Sebastien Pouliot + + * NetworkCredential.cs: Fix properties to never return null. + 2009-12-24 Sebastien Pouliot * Cookie.cs: Re-work ToString to be useable in more cases. Fix diff --git a/mcs/class/System/System.Net/NetworkCredential.cs b/mcs/class/System/System.Net/NetworkCredential.cs index 2219e4b37dc..9e7b3aab877 100644 --- a/mcs/class/System/System.Net/NetworkCredential.cs +++ b/mcs/class/System/System.Net/NetworkCredential.cs @@ -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; } } diff --git a/mcs/class/System/System_test.dll.sources b/mcs/class/System/System_test.dll.sources index bf65f1f95dc..4d85e6f32b9 100644 --- a/mcs/class/System/System_test.dll.sources +++ b/mcs/class/System/System_test.dll.sources @@ -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 diff --git a/mcs/class/System/Test/System.Net/ChangeLog b/mcs/class/System/Test/System.Net/ChangeLog index 75a0aa562c5..0c256869e5d 100644 --- a/mcs/class/System/Test/System.Net/ChangeLog +++ b/mcs/class/System/Test/System.Net/ChangeLog @@ -1,3 +1,7 @@ +2010-01-12 Sebastien Pouliot + + * NetworkCredentialTest.cs: New. Unit tests. + 2009-12-24 Sebastien Pouliot * 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 index 00000000000..8d0253bd9cd --- /dev/null +++ b/mcs/class/System/Test/System.Net/NetworkCredentialTest.cs @@ -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; + +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); + } + } +} +