From: Robert Jordan Date: Sat, 26 Jan 2008 13:42:01 +0000 (-0000) Subject: In Test/System: X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=d0675dfaf6b41c8a8c265c84032caf518a9ff393;p=mono.git In Test/System: 2008-01-23 Robert Jordan * UriTest3.cs: Add tests for bug #346432. In System: 2008-01-23 Robert Jordan * Uri.cs (Parse): Handle uriString.Length == 1 as a valid relative URI. Fixes #346432. svn path=/trunk/mcs/; revision=93984 --- diff --git a/mcs/class/System/System/ChangeLog b/mcs/class/System/System/ChangeLog index dee68749c25..f0d6ccccc52 100644 --- a/mcs/class/System/System/ChangeLog +++ b/mcs/class/System/System/ChangeLog @@ -1,3 +1,8 @@ +2008-01-23 Robert Jordan + + * Uri.cs (Parse): Handle uriString.Length == 1 as a valid relative URI. + Fixes #346432. + 2007-12-04 Arina Itkes * Uri.cs: Unix absolute path should not be valid on Windows. diff --git a/mcs/class/System/System/Uri.cs b/mcs/class/System/System/Uri.cs index 8c3bb4f699b..2935e87b3a1 100644 --- a/mcs/class/System/System/Uri.cs +++ b/mcs/class/System/System/Uri.cs @@ -1272,7 +1272,7 @@ namespace System { } } - if (len <= 1) + if (len <= 1 && (kind != UriKind.Relative)) throw new UriFormatException (); int pos = 0; diff --git a/mcs/class/System/Test/System/ChangeLog b/mcs/class/System/Test/System/ChangeLog index e2100f89033..e5c8074ab3f 100644 --- a/mcs/class/System/Test/System/ChangeLog +++ b/mcs/class/System/Test/System/ChangeLog @@ -1,3 +1,7 @@ +2008-01-23 Robert Jordan + + * UriTest3.cs: Add tests for bug #346432. + 2007-11-06 Gert Driesen * UriBuilderTest.cs: Added tests for regression introduced as part of diff --git a/mcs/class/System/Test/System/UriTest3.cs b/mcs/class/System/Test/System/UriTest3.cs index 295797bd467..e216962c26d 100644 --- a/mcs/class/System/Test/System/UriTest3.cs +++ b/mcs/class/System/Test/System/UriTest3.cs @@ -95,6 +95,18 @@ namespace MonoTests.System Assert.AreEqual ("/test.aspx", uri.OriginalString, "#D2"); Assert.AreEqual ("/test.aspx", uri.ToString (), "#D3"); Assert.IsFalse (uri.UserEscaped, "#D4"); + + uri = new Uri ("", UriKind.Relative); + Assert.IsFalse (uri.IsAbsoluteUri, "#E1"); + Assert.AreEqual ("", uri.OriginalString, "#E2"); + Assert.AreEqual ("", uri.ToString (), "#E3"); + Assert.IsFalse (uri.UserEscaped, "#E4"); + + uri = new Uri ("a", UriKind.Relative); + Assert.IsFalse (uri.IsAbsoluteUri, "#F1"); + Assert.AreEqual ("a", uri.OriginalString, "#F2"); + Assert.AreEqual ("a", uri.ToString (), "#F3"); + Assert.IsFalse (uri.UserEscaped, "#F4"); } [Test]