X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Runtime.Serialization%2FTest%2FSystem.Runtime.Serialization%2FDataContractSerializerTest.cs;h=ada461fe2b8610290a5e9ef17a4170552cfd21e9;hb=6856ccab7cc0dffa2df23a3db5832bf4bbb4620a;hp=91fe958e0bf2d343721a2408e2a4028437845121;hpb=99b5aad5ee74b270b33e3779cf14cf18d847db50;p=mono.git diff --git a/mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs b/mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs index 91fe958e0bf..ada461fe2b8 100644 --- a/mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs +++ b/mcs/class/System.Runtime.Serialization/Test/System.Runtime.Serialization/DataContractSerializerTest.cs @@ -92,6 +92,35 @@ namespace MonoTests.System.Runtime.Serialization var ser = new DataContractSerializer(typeof(MyObject)); ser.ReadObject (XmlReader.Create(new StringReader(s))); } - + + [Flags ()] + [Serializable] + public enum FlagsEnum + { + None = 0, + Flag1 = 0x10, + Flag2 = 0x20, + All = 0xffff, + }; + + [Serializable] + public class ClassWithFlagsEnum + { + public FlagsEnum Flags = FlagsEnum.All; + } + + // Bug #21072 + [Test] + public void FlagsEnumTest () + { + var ser = new DataContractSerializer (typeof (ClassWithFlagsEnum)); + + using (var m = new MemoryStream ()) { + ser.WriteObject (m, new ClassWithFlagsEnum ()); + var data = m.ToArray (); + var s = Encoding.UTF8.GetString (data, 0, (int) data.Length); + Assert.IsTrue (s.Contains ("All")); + } + } } }