XData support in XamlXmlWriter.
authorAtsushi Eno <atsushi@ximian.com>
Tue, 7 Dec 2010 07:46:53 +0000 (16:46 +0900)
committerAtsushi Eno <atsushi@ximian.com>
Tue, 7 Dec 2010 07:46:53 +0000 (16:46 +0900)
mcs/class/System.Xaml/System.Xaml/XamlXmlWriter.cs
mcs/class/System.Xaml/Test/System.Xaml/XamlXmlWriterTest.cs

index d00528f3a8ec6c51abaee52d95abfaca964428b7..62ba89f20a15dae2b4daa28514f0fdd7e0667aa9 100755 (executable)
@@ -451,6 +451,15 @@ namespace System.Xaml
 
                        string s = GetValueString (xm, value);
 
+                       // It looks like a bad practice, but since .NET disables
+                       // indent around XData, I assume they do this, instead
+                       // of examining valid Text value by creating XmlReader
+                       // and call XmlWriter.WriteNode().
+                       if (xm.DeclaringType == XamlLanguage.XData && xm == XamlLanguage.XData.GetMember ("Text")) {
+                               w.WriteRaw (s);
+                               return;
+                       }
+
                        var state = object_states.Peek ();
                        switch (state.PositionalParameterIndex) {
                        case -1:
index 93cee685d2abe90e366cc0df013bd9760e47c7da..2583343347dd7a6887d63aad1de55d1dc6cabdc9 100755 (executable)
@@ -946,7 +946,6 @@ namespace MonoTests.System.Xaml
                }
 
                [Test]
-               [Category ("NotWorking")]
                public void Write_XmlSerializableWrapper ()
                {
                        var obj = new XmlSerializableWrapper (new XmlSerializable ("<root/>"));