New test.
[mono.git] / mcs / class / System.XML / System.Xml / XmlTextReader.cs
index 26d4eb17f76cd6bc0b668d5b1f087e29ac29790c..af67f4f3fbebf9d86747954e88daffe37faa034d 100644 (file)
@@ -127,8 +127,12 @@ namespace System.Xml
 
                // This is used in XmlReader.Create() to indicate that string
                // argument is uri, not an xml fragment.
-               internal XmlTextReader (bool dummy, string url, XmlNodeType fragType, XmlParserContext context)
+               internal XmlTextReader (bool dummy, XmlResolver resolver, string url, XmlNodeType fragType, XmlParserContext context)
                {
+                       if (resolver == null)
+                               resolver = new XmlUrlResolver ();
+
+                       this.XmlResolver = resolver;
                        string uriString;
                        Stream stream = GetStreamFromUrl (url, out uriString);
                        this.InitializeContext (uriString, context, new XmlStreamReader (stream), fragType);
@@ -681,7 +685,7 @@ namespace System.Xml
                }
 
 #if NET_2_0
-               [MonoTODO ("Implement for performance reason")]
+               [MonoTODO] // FIXME: Implement, for performance improvement
                public override void Skip ()
                {
                        base.Skip ();
@@ -2114,7 +2118,7 @@ namespace System.Xml
                        value = src.Substring (start, idx - start - 1);
                }
 
-               private void SkipTextDeclaration ()
+               internal void SkipTextDeclaration ()
                {
                        if (PeekChar () != '<')
                                return;
@@ -2202,6 +2206,8 @@ namespace System.Xml
 #endif
 
                        Expect ("?>");
+
+                       curNodePeekIndex = peekCharsIndex; // without this it causes incorrect value start indication.
                }
 
                // The reader is positioned on the first character after