[Mono-bugs] [Bug 77382][Min] Changed - System.Uri ctor could be faster

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Mar 16 03:32:19 EST 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by atsushi at ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=77382

--- shadow/77382	2006-03-13 04:49:45.000000000 -0500
+++ shadow/77382.tmp.31579	2006-03-16 03:32:18.000000000 -0500
@@ -79,6 +79,182 @@
 new Uri("http://something/");
 }
 }
 
 Hope this helps.
 
+
+------- Additional Comments From atsushi at ximian.com  2006-03-16 03:32 -------
+Oops, am sorry I misread that patch that there are still StartsWith()
+uses. Actually your patch removes them, so it's very nice.
+
+Sadly it seems to cause several regressions on Windows. I'm pasting
+the details here:
+
+18) MonoTests.System.UriTest.Constructor_DualHostPort : AbsolutePath 
+	String lengths differ.  Expected length=26, but was length=30.
+	Strings differ at index 0.
+	
+	expected:<"8080/bar/Hello%20World.htm">
+	 but was:<"foo:8080/bar/Hello%20World.htm">
+	-----------^
+	
+in [0x00023] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest.cs:184)
+MonoTests.System.UriTest:Constructor_DualHostPort ()
+in <0x00000> <unknown method>
+in (wrapper managed-to-native)
+System.Reflection.MonoMethod:InternalInvoke (object,object[])
+in [0x00044] (at
+C:\cygwin\home\atsushi\svn\mcs\class\corlib\System.Reflection\MonoMethod.cs:131)
+System.Reflection.MonoMethod:Invoke (System.Object obj, BindingFlags
+invokeAttr, System.Reflection.Binder binder, System.Object[]
+parameters, System.Globalization.CultureInfo culture)
+
+19) MonoTests.System.UriTest.LeadingSlashes : #7a 
+	String lengths differ.  Expected length=3, but was length=1.
+	Strings differ at index 0.
+	
+	expected:<"foo">
+	 but was:<"o">
+	-----------^
+	
+in [0x00081] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest.cs:428)
+MonoTests.System.UriTest:LeadingSlashes ()
+in <0x00000> <unknown method>
+in (wrapper managed-to-native)
+System.Reflection.MonoMethod:InternalInvoke (object,object[])
+in [0x00044] (at
+C:\cygwin\home\atsushi\svn\mcs\class\corlib\System.Reflection\MonoMethod.cs:131)
+System.Reflection.MonoMethod:Invoke (System.Object obj, BindingFlags
+invokeAttr, System.Reflection.Binder binder, System.Object[]
+parameters, System.Globalization.CultureInfo culture)
+
+20) MonoTests.System.UriTest.LocalPath : #3a 
+	String lengths differ.  Expected length=27, but was length=25.
+	Strings differ at index 7.
+	
+	expected:<"file://cygwin/tmp/hello.txt">
+	 but was:<"file://gwin/tmp/hello.txt">
+	------------------^
+	
+in [0x0008a] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest.cs:586)
+MonoTests.System.UriTest:LocalPath ()
+in <0x00000> <unknown method>
+in (wrapper managed-to-native)
+System.Reflection.MonoMethod:InternalInvoke (object,object[])
+in [0x00044] (at
+C:\cygwin\home\atsushi\svn\mcs\class\corlib\System.Reflection\MonoMethod.cs:131)
+System.Reflection.MonoMethod:Invoke (System.Object obj, BindingFlags
+invokeAttr, System.Reflection.Binder binder, System.Object[]
+parameters, System.Globalization.CultureInfo culture)
+
+23) MonoTests.System.UriTest.Segments4 : #02 
+	String lengths differ.  Expected length=2, but was length=1.
+	Strings differ at index 0.
+	
+	expected:<"c:">
+	 but was:<"/">
+	-----------^
+	
+in [0x00019] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest.cs:1356)
+MonoTests.System.UriTest:Segments4 ()
+in <0x00000> <unknown method>
+in (wrapper managed-to-native)
+System.Reflection.MonoMethod:InternalInvoke (object,object[])
+in [0x00044] (at
+C:\cygwin\home\atsushi\svn\mcs\class\corlib\System.Reflection\MonoMethod.cs:131)
+System.Reflection.MonoMethod:Invoke (System.Object obj, BindingFlags
+invokeAttr, System.Reflection.Binder binder, System.Object[]
+parameters, System.Globalization.CultureInfo culture)
+
+24) MonoTests.System.UriTest.UnixLocalPath : file:///c:/tmp/foo/bar 
+	String lengths differ.  Expected length=14, but was length=15.
+	Strings differ at index 0.
+	
+	expected:<"c:/tmp/foo/bar">
+	 but was:<"/c:/tmp/foo/bar">
+	-----------^
+	
+in [0x00032] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest.cs:1466)
+MonoTests.System.UriTest:UnixLocalPath ()
+in <0x00000> <unknown method>
+in (wrapper managed-to-native)
+System.Reflection.MonoMethod:InternalInvoke (object,object[])
+in [0x00044] (at
+C:\cygwin\home\atsushi\svn\mcs\class\corlib\System.Reflection\MonoMethod.cs:131)
+System.Reflection.MonoMethod:Invoke (System.Object obj, BindingFlags
+invokeAttr, System.Reflection.Binder binder, System.Object[]
+parameters, System.Globalization.CultureInfo culture)
+
+25) MonoTests.System.UriTest2.AbsoluteUriFromFile :
+file:///c:/name%20with%20space.txt AbsolutePath 
+	String lengths differ.  Expected length=26, but was length=27.
+	Strings differ at index 0.
+	
+	expected:<"c:/name%20with%20space.txt">
+	 but was:<"/c:/name%20with%20space.txt">
+	-----------^
+	
+in [0x001ac] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest2.cs:53)
+MonoTests.System.UriTest2:AssertUri (System.String relsrc, System.Uri
+uri, System.String toString, System.String absoluteUri, System.String
+scheme, System.String host, System.String localPath, System.String
+query, Int32 port, Boolean isFile, Boolean isUnc, Boolean isLoopback,
+Boolean userEscaped, UriHostNameType hostNameType, System.String
+absolutePath, System.String pathAndQuery, System.String authority,
+System.String fragment, System.String userInfo)
+in [0x000f7] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest2.cs:141)
+MonoTests.System.UriTest2:FromResource (System.String res, System.Uri
+baseUri)
+in [0x00007] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest2.cs:64)
+MonoTests.System.UriTest2:AbsoluteUriFromFile ()
+in <0x00000> <unknown method>
+in (wrapper managed-to-native)
+System.Reflection.MonoMethod:InternalInvoke (object,object[])
+in [0x00044] (at
+C:\cygwin\home\atsushi\svn\mcs\class\corlib\System.Reflection\MonoMethod.cs:131)
+System.Reflection.MonoMethod:Invoke (System.Object obj, BindingFlags
+invokeAttr, System.Reflection.Binder binder, System.Object[]
+parameters, System.Globalization.CultureInfo culture)
+
+26) MonoTests.System.UriTest2.RelativeUriFromFile : urn:mono-uri-test
+AbsoluteUri 
+	String lengths differ.  Expected length=17, but was length=21.
+	Strings differ at index 4.
+	
+	expected:<"urn:mono-uri-test">
+	 but was:<"urn:urn:mono-uri-test">
+	---------------^
+	
+in [0x0000e] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest2.cs:37)
+MonoTests.System.UriTest2:AssertUri (System.String relsrc, System.Uri
+uri, System.String toString, System.String absoluteUri, System.String
+scheme, System.String host, System.String localPath, System.String
+query, Int32 port, Boolean isFile, Boolean isUnc, Boolean isLoopback,
+Boolean userEscaped, UriHostNameType hostNameType, System.String
+absolutePath, System.String pathAndQuery, System.String authority,
+System.String fragment, System.String userInfo)
+in [0x000f7] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest2.cs:141)
+MonoTests.System.UriTest2:FromResource (System.String res, System.Uri
+baseUri)
+in [0x00010] (at
+C:\cygwin\home\atsushi\svn\mcs\class\System\Test\System\UriTest2.cs:83)
+MonoTests.System.UriTest2:RelativeUriFromFile ()
+in <0x00000> <unknown method>
+in (wrapper managed-to-native)
+System.Reflection.MonoMethod:InternalInvoke (object,object[])
+in [0x00044] (at
+C:\cygwin\home\atsushi\svn\mcs\class\corlib\System.Reflection\MonoMethod.cs:131)
+System.Reflection.MonoMethod:Invoke (System.Object obj, BindingFlags
+invokeAttr, System.Reflection.Binder binder, System.Object[]
+parameters, System.Globalization.CultureInfo culture)
+


More information about the mono-bugs mailing list