Imported Upstream version 3.10.0

Former-commit-id: 172c8e3c300b39d5785c7a3e8dfb08ebdbc1a99b
This commit is contained in:
Jo Shields
2014-10-04 11:27:48 +01:00
parent fe777c5c82
commit 8b9b85e7f5
970 changed files with 20242 additions and 31308 deletions

View File

@ -94,7 +94,6 @@ namespace System.Xml.Linq
return attribute.value == null ? (DateTime?) null : XUtil.ToDateTime (attribute.value);
}
#if !TARGET_JVM // Same as for System.Xml.XmlConvert.ToDateTimeOffset
[CLSCompliant (false)]
public static explicit operator DateTimeOffset (XAttribute attribute)
@ -113,7 +112,6 @@ namespace System.Xml.Linq
return attribute.value == null ? (DateTimeOffset?) null : XmlConvert.ToDateTimeOffset (attribute.value);
}
#endif
[CLSCompliant (false)]
public static explicit operator decimal (XAttribute attribute)

View File

@ -72,6 +72,9 @@ namespace System.Xml.Linq
foreach (object o in XUtil.ExpandArray (content))
{
if (o == null)
continue;
if (!OnAddingObject (o, false, last, false))
{
var node = XUtil.ToNode (o);

View File

@ -135,7 +135,6 @@ namespace System.Xml.Linq
return element.Value == null ? (DateTime?) null : XUtil.ToDateTime (element.Value);
}
#if !TARGET_JVM // Same as for System.Xml.XmlConvert.ToDateTimeOffset
[CLSCompliant (false)]
public static explicit operator DateTimeOffset (XElement element)
@ -154,7 +153,6 @@ namespace System.Xml.Linq
return element.Value == null ? (DateTimeOffset?) null : XmlConvert.ToDateTimeOffset (element.Value);
}
#endif
[CLSCompliant (false)]
public static explicit operator decimal (XElement element)

View File

@ -208,16 +208,16 @@ namespace System.Xml.Linq
{
if (Changing != null)
Changing (sender, args);
if (Parent != null)
Parent.OnChanging (sender, args);
if (Owner != null)
Owner.OnChanging (sender, args);
}
void OnChanged (object sender, XObjectChangeEventArgs args)
{
if (Changed != null)
Changed (sender, args);
if (Parent != null)
Parent.OnChanged (sender, args);
if (Owner != null)
Owner.OnChanged (sender, args);
}
}
}

View File

@ -126,5 +126,22 @@ namespace MonoTests.System.Xml.Linq
doc.WriteTo (writer);
Assert.IsTrue (sw.ToString ().StartsWith ("<?xml"), "#1");
}
[Test] // bug #18772
public void ChangedEvent ()
{
const string xml = "<?xml version='1.0' encoding='utf-8'?><Start><Ele1/></Start>";
var testXmlDoc = XDocument.Load (new MemoryStream(Encoding.UTF8.GetBytes(xml)));
var changed = false;
testXmlDoc.Changed += (sender, e) => {
changed = true;
};
XElement p = new XElement ("Hello");
testXmlDoc.Root.Add (p);
Assert.IsTrue (changed);
}
}
}

View File

@ -1 +1 @@
fd5cd82bf94eb983506f26c5058100d5dd2c0fd5
70616aa0da0b2fd2317508069cd7fc626ced2226