Exemplo n.º 1
0
		public void ReadSubtree3 ()
		{
			var xr = new XamlObjectReader (5);
			xr.Read ();
			xr.Read ();
			var sr = xr.ReadSubtree ();
			Assert.AreEqual (XamlNodeType.None, sr.NodeType, "#1-2");
			Assert.AreEqual (XamlNodeType.StartObject, xr.NodeType, "#1-3");
			Assert.IsTrue (sr.Read (), "#2");
			Assert.AreEqual (XamlNodeType.StartObject, sr.NodeType, "#2-2");
			Assert.AreEqual (XamlNodeType.StartObject, xr.NodeType, "#2-3");
			Assert.IsTrue (sr.Read (), "#3");
			Assert.AreEqual (XamlNodeType.StartMember, sr.NodeType, "#3-2");
			Assert.AreEqual (XamlNodeType.StartMember, xr.NodeType, "#3-3");
			Assert.IsTrue (sr.Read (), "#4");
			Assert.AreEqual (XamlNodeType.Value, sr.NodeType, "#4-2");
			Assert.AreEqual (XamlNodeType.Value, xr.NodeType, "#4-3");
			Assert.IsTrue (sr.Read (), "#5");
			Assert.AreEqual (XamlNodeType.EndMember, sr.NodeType, "#5-2");
			Assert.AreEqual (XamlNodeType.EndMember, xr.NodeType, "#5-3");
			Assert.IsTrue (sr.Read (), "#6");
			Assert.AreEqual (XamlNodeType.EndObject, sr.NodeType, "#6-2");
			Assert.AreEqual (XamlNodeType.EndObject, xr.NodeType, "#6-3");
			Assert.IsFalse (sr.Read (), "#7");
			Assert.AreEqual (XamlNodeType.None, xr.NodeType, "#7-2");
		}
Exemplo n.º 2
0
		public void ReadWriteListShouldRoundtrip()
		{
			var sc = new XamlSchemaContext();
			var list = new XamlNodeList(sc);

			var reader = new XamlObjectReader(new TestClass4 { Foo = "foo", Bar = "bar" }, sc);
			XamlServices.Transform(reader, list.Writer);

			var writer = new XamlObjectWriter(sc);
			var listReader = list.GetReader();
			XamlServices.Transform(listReader, writer);

			Assert.IsNotNull(writer.Result, "#1");
			Assert.IsInstanceOf<TestClass4>(writer.Result, "#2");

			Assert.AreEqual("foo", ((TestClass4)writer.Result).Foo, "#3");
			Assert.AreEqual("bar", ((TestClass4)writer.Result).Bar, "#4");

			// try reading a 2nd time, we should not get the same reader
			writer = new XamlObjectWriter(sc);
			var listReader2 = list.GetReader();
			Assert.AreNotSame(listReader, listReader2, "#5");
			XamlServices.Transform(listReader2, writer);

			Assert.IsNotNull(writer.Result, "#6");
			Assert.IsInstanceOf<TestClass4>(writer.Result, "#7");

			Assert.AreEqual("foo", ((TestClass4)writer.Result).Foo, "#8");
			Assert.AreEqual("bar", ((TestClass4)writer.Result).Bar, "#9");
		}
		void SetupReaderService ()
		{
			Context = null;
			var obj = new TestValueSerialized ();
			var xr = new XamlObjectReader (obj);
			while (!xr.IsEof && Context == null)
				xr.Read ();
			Assert.IsNotNull (Context, "SetupReader #1");
		}
Exemplo n.º 4
0
        public void Read_Dictionary()
        {
            var obj = new Dictionary <string, object> ();

            obj ["Foo"] = 5.0;
            obj ["Bar"] = -6.5;
            var r = new XamlObjectReader(obj);

            Read_Dictionary(r);
        }
Exemplo n.º 5
0
        public static void Save(XamlWriter writer, object instance)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }
            var r = new XamlObjectReader(instance, writer.SchemaContext);

            Transform(r, writer);
        }
Exemplo n.º 6
0
        public void Read_StaticExtensionWrapper()
        {
            var obj = new StaticExtensionWrapper()
            {
                Param = new StaticExtension("StaticExtensionWrapper.Foo")
            };
            var r = new XamlObjectReader(obj);

            Read_StaticExtensionWrapper(r);
        }
Exemplo n.º 7
0
        public void Read_TypeExtensionWrapper()
        {
            var obj = new TypeExtensionWrapper()
            {
                Param = new TypeExtension("Foo")
            };
            var r = new XamlObjectReader(obj);

            Read_TypeExtensionWrapper(r);
        }
Exemplo n.º 8
0
        public void Read_ListArray()
        {
            var obj = new List <Array> (new Array [] { new int [] { 1, 2, 3 }, new string [] { "foo", "bar", "baz" } })
            {
                Capacity = 2
            };
            var r = new XamlObjectReader(obj);

            Read_ListArray(r);
        }
Exemplo n.º 9
0
        public void Read_NullableContainer()
        {
            var obj = new NullableContainer()
            {
                TestProp = 5
            };
            var xr = new XamlObjectReader(obj);

            Read_NullableContainer(xr);
        }
Exemplo n.º 10
0
        public void Read_EnumContainer()
        {
            var obj = new EnumContainer()
            {
                EnumProperty = EnumValueType.Two
            };
            var xr = new XamlObjectReader(obj);

            Read_EnumContainer(xr);
        }
Exemplo n.º 11
0
        public void Read_ListType()
        {
            var obj = new List <Type> (new Type [] { typeof(int), typeof(Dictionary <Type, XamlType>) })
            {
                Capacity = 2
            };
            var r = new XamlObjectReader(obj);

            Read_ListType(r, true);
        }
Exemplo n.º 12
0
        void SetupReaderService()
        {
            var obj = new TestValueSerialized();
            var xr  = new XamlObjectReader(obj);

            while (!xr.IsEof)
            {
                xr.Read();
            }
        }
Exemplo n.º 13
0
        public void Read_ContentIncluded()
        {
            var obj = new ContentIncludedClass()
            {
                Content = "foo"
            };
            var r = new XamlObjectReader(obj);

            Read_ContentIncluded(r);
        }
Exemplo n.º 14
0
        public void Read_PropertyDefinition()
        {
            var obj = new PropertyDefinition()
            {
                Modifier = "protected", Name = "foo", Type = XamlLanguage.String
            };
            var r = new XamlObjectReader(obj);

            Read_PropertyDefinition(r);
        }
Exemplo n.º 15
0
        public void Read_Dictionary2()
        {
            var obj = new Dictionary <string, Type> ();

            obj ["Foo"] = typeof(int);
            obj ["Bar"] = typeof(Dictionary <Type, XamlType>);
            var r = new XamlObjectReader(obj);

            Read_Dictionary2(r, XamlLanguage.PositionalParameters);
        }
Exemplo n.º 16
0
        private Task <string> InternalSaveAsync(XamlObjectReader objectReader)
        {
            var sctx = new XamlSchemaContext(new Assembly[] { this.GetType().Assembly }, null);

            using (var sw = new StringWriter())
                using (var writer = new XamlXmlWriter(sw, sctx)) {
                    XamlServices.Transform(objectReader, writer, false);
                    sw.Flush();
                    return(Task.FromResult(sw.ToString()));
                }
        }
Exemplo n.º 17
0
        public void Read_Guid()
        {
            var obj = Guid.NewGuid();
            var r   = new XamlObjectReader(obj);

#if HAS_TYPE_CONVERTER
            Assert.IsNotNull(r.SchemaContext.GetXamlType(typeof(Guid)).TypeConverter, "premise#1");
#endif
            Read_CommonClrType(r, obj);
            Assert.AreEqual(obj.ToString(), Read_Initialization(r, null), "#1");
        }
Exemplo n.º 18
0
        public void Read_AmbientPropertyContainer2()
        {
            var obj = new SecondTest.ResourcesDict();
            var t1  = new SecondTest.TestObject();

            obj.Add("TestDictItem", t1);
            obj.Add("okay", new SecondTest.ResourceExtension(t1));
            var xr = new XamlObjectReader(obj);

            Read_AmbientPropertyContainer(xr, true);
        }
Exemplo n.º 19
0
        public void Read_DefaultValueMemberShouldBeOmittedStringNonDefault()
        {
            var test = new TestClassWithDefaultValuesString();

            test.NoDefaultValue       = "Hello";
            test.NullDefaultValue     = "There";
            test.SpecificDefaultValue = "Friend";
            var xr = new XamlObjectReader(test);

            Read_DefaultValueMemberShouldBeOmittedStringNonDefault(xr);
        }
Exemplo n.º 20
0
        public void Read_InternalPropertyType()
        {
            var obj = new TestClassPropertyInternal();

            obj.Bar = new TestClassInternal();
            var xr = new XamlObjectReader(obj);

            while (xr.Read())
            {
            }
        }
Exemplo n.º 21
0
        public void Read_DefaultValueMemberShouldBeOmittedIntNonDefault()
        {
            var test = new TestClassWithDefaultValuesInt();

            test.NoDefaultValue       = 1;
            test.ZeroDefaultValue     = 2;
            test.SpecificDefaultValue = 3;
            var xr = new XamlObjectReader(test);

            Read_DefaultValueMemberShouldBeOmittedIntNonDefault(xr);
        }
Exemplo n.º 22
0
        public void Read_EventContainer()
        {
            var obj = new EventContainer();

            obj.Run += delegate {
                Console.Error.WriteLine("done");
            };
            var xr = new XamlObjectReader(obj);

            Read_EventContainer(xr);
        }
Exemplo n.º 23
0
        public void WriteNode2()
        {
            var r = new XamlObjectReader("foo", sctx);
            var w = new XamlObjectWriter(sctx, null);

            while (r.Read())
            {
                w.WriteNode(r);
            }
            w.Close();
            Assert.AreEqual("foo", w.Result, "#1");
        }
Exemplo n.º 24
0
		public void ReadSubtree1 ()
		{
			var xr = new XamlObjectReader (5);
			var sr = xr.ReadSubtree ();
			Assert.AreEqual (XamlNodeType.None, sr.NodeType, "#1-2");
			Assert.AreEqual (XamlNodeType.None, xr.NodeType, "#1-3");
			Assert.IsTrue (sr.Read (), "#2");
			Assert.AreEqual (XamlNodeType.None, sr.NodeType, "#2-2");
			Assert.AreEqual (XamlNodeType.None, xr.NodeType, "#2-3");
			Assert.IsFalse (sr.Read (), "#3");
			Assert.AreEqual (XamlNodeType.NamespaceDeclaration, xr.NodeType, "#3-2");
		}
Exemplo n.º 25
0
        public void ConstructorArguments()
        {
            string xml = String.Format(@"<?xml version='1.0' encoding='utf-16'?><ArgumentAttributed xmlns='clr-namespace:MonoTests.System.Xaml;assembly={0}' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'><x:Arguments><x:String>xxx</x:String><x:String>yyy</x:String></x:Arguments></ArgumentAttributed>", GetType().Assembly.GetName().Name);

            Assert.IsFalse(sctx.FullyQualifyAssemblyNamesInClrNamespaces, "premise0");
            var r  = new XamlObjectReader(new ArgumentAttributed("xxx", "yyy"), sctx);
            var sw = new StringWriter();
            var w  = new XamlXmlWriter(sw, sctx, null);

            XamlServices.Transform(r, w);
            Assert.AreEqual(xml, sw.ToString().Replace('"', '\''), "#1");
        }
        void SetupReaderService()
        {
            Context = null;
            var obj = new TestValueSerialized();
            var xr  = new XamlObjectReader(obj);

            while (!xr.IsEof && Context == null)
            {
                xr.Read();
            }
            Assert.IsNotNull(Context, "SetupReader #1");
        }
Exemplo n.º 27
0
        public void Read_XData()
        {
            var r = new XamlObjectReader(new XData()
            {
                Text = "xdata text"
            });                                                                            // XmlReader implementation is not visible.

            while (!r.IsEof)
            {
                r.Read();
            }
        }
Exemplo n.º 28
0
        public void Read_CollectionContentProperty()
        {
            var obj = new CollectionContentProperty();

            for (int i = 0; i < 4; i++)
            {
                obj.ListOfItems.Add(new SimpleClass());
            }
            var xr = new XamlObjectReader(obj);

            Read_CollectionContentProperty(xr, false);
        }
Exemplo n.º 29
0
        public void ComplexPositionalParameters()
        {
            var obj = new ComplexPositionalParameterWrapper()
            {
                Param = new ComplexPositionalParameterClass(new ComplexPositionalParameterValue()
                {
                    Foo = "foo"
                })
            };
            var r = new XamlObjectReader(obj);

            ComplexPositionalParameters(r);
        }
Exemplo n.º 30
0
        public void ReadSubtree1()
        {
            var xr = new XamlObjectReader(5);
            var sr = xr.ReadSubtree();

            Assert.AreEqual(XamlNodeType.None, sr.NodeType, "#1-2");
            Assert.AreEqual(XamlNodeType.None, xr.NodeType, "#1-3");
            Assert.IsTrue(sr.Read(), "#2");
            Assert.AreEqual(XamlNodeType.None, sr.NodeType, "#2-2");
            Assert.AreEqual(XamlNodeType.None, xr.NodeType, "#2-3");
            Assert.IsFalse(sr.Read(), "#3");
            Assert.AreEqual(XamlNodeType.NamespaceDeclaration, xr.NodeType, "#3-2");
        }
Exemplo n.º 31
0
        public void Read_AmbientPropertyContainer()
        {
            var obj = new SecondTest.ResourcesDict();
            var t1  = new SecondTest.TestObject();

            obj.Add("TestDictItem", t1);
            var t2 = new SecondTest.TestObject();

            t2.TestProperty = t1;
            obj.Add("okay", t2);
            var xr = new XamlObjectReader(obj);

            Read_AmbientPropertyContainer(xr, false);
        }
Exemplo n.º 32
0
        public void Skip3()
        {
            var r = new XamlObjectReader(new ReadOnlyPropertyContainer()
            {
                Foo = "x"
            });

            while (r.NodeType != XamlNodeType.StartMember)
            {
                r.Read();
            }
            r.Skip();
            Assert.AreEqual(XamlNodeType.EndObject, r.NodeType, "#1");
        }
Exemplo n.º 33
0
 public void Read_XData()
 {
     Assert.Throws <XamlObjectReaderException>(() =>
     {
         var r = new XamlObjectReader(new XData()
         {
             Text = "xdata text"
         });
         while (!r.IsEof)
         {
             r.Read();
         }
     });
 }
Exemplo n.º 34
0
        public void Read_AttachedProperty()
        {
            var obj = new AttachedWrapper();

            Attachable.SetFoo(obj, "x");
            Attachable.SetFoo(obj.Value, "y");
            try {
                var xr = new XamlObjectReader(obj);
                Read_AttachedProperty(xr);
            } finally {
                Attachable.SetFoo(obj, null);
                Attachable.SetFoo(obj.Value, null);
            }
        }
		public void GetService ()
		{
			var obj = new TestValueSerialized ();
			var xr = new XamlObjectReader (obj);
			while (!xr.IsEof)
				xr.Read ();
			Assert.IsNotNull (Context, "premise#1");
			GetServiceCoreReader ();

			Context = null;
			var ctx = new XamlSchemaContext ();
			var xw = new XamlObjectWriter (ctx);
			var xt = ctx.GetXamlType (obj.GetType ());
			xw.WriteStartObject (xt);
			xw.WriteStartMember (XamlLanguage.Initialization);
			xw.WriteValue ("v");
			xw.WriteEndMember ();
			xw.Close ();
			Assert.IsNotNull (Provider, "premise#2"); // cannot get Context, it does not give IValueSerializerContext in the test.
			GetServiceCoreWriter ();
		}
Exemplo n.º 36
0
		public void Read_ContentIncluded ()
		{
			var obj = new ContentIncludedClass () { Content = "foo" };
			var r = new XamlObjectReader (obj);
			Read_ContentIncluded (r);
		}
Exemplo n.º 37
0
		public void Read_ListWrapper2 () // read-write list member.
		{
			var obj = new ListWrapper2 (new List<int> (new int [] {5, -3, 0}));
			var r = new XamlObjectReader (obj);
			Read_ListWrapper2 (r);
		}
Exemplo n.º 38
0
		public void Read_AttachedProperty ()
		{
			var obj = new AttachedWrapper ();
			Attachable.SetFoo (obj, "x");
			Attachable.SetFoo (obj.Value, "y");
			try {
				var xr = new XamlObjectReader (obj);
				Read_AttachedProperty (xr);
			} finally {
				Attachable.SetFoo (obj, null);
				Attachable.SetFoo (obj.Value, null);
			}
		}
Exemplo n.º 39
0
		public void Read_PropertyDefinition ()
		{
			var obj = new PropertyDefinition () { Modifier = "protected", Name = "foo", Type = XamlLanguage.String };
			var r = new XamlObjectReader (obj);
			Read_PropertyDefinition (r);
		}
Exemplo n.º 40
0
		[Test] // If it is root, it is not serialized as IXmlSerializable.
		public void Read_XmlSerializable ()
		{
			var obj = new XmlSerializable ("<root/>");
			var xr = new XamlObjectReader (obj);
			Read_XmlSerializable (xr);
		}
Exemplo n.º 41
0
		public void Read_StaticExtensionWrapper ()
		{
			var obj = new StaticExtensionWrapper () { Param = new StaticExtension ("StaticExtensionWrapper.Foo") };
			var r = new XamlObjectReader (obj);
			Read_StaticExtensionWrapper (r);
		}
Exemplo n.º 42
0
		public void Read_EnumContainer ()
		{
			var obj = new EnumContainer () { EnumProperty = EnumValueType.Two };
			var xr = new XamlObjectReader (obj);
			Read_EnumContainer (xr);
		}
Exemplo n.º 43
0
		public void Read_ListWrapper ()
		{
			var obj = new ListWrapper (new List<int> (new int [] {5, -3, 0}));
			var r = new XamlObjectReader (obj);
			Read_ListWrapper (r);
		}
Exemplo n.º 44
0
		public void Read_EventContainer ()
		{
			var obj = new EventContainer ();
			obj.Run += delegate { Console.Error.WriteLine ("done"); };
			var xr = new XamlObjectReader (obj);
			Read_EventContainer (xr);
		}
Exemplo n.º 45
0
		public void ComplexPositionalParameters ()
		{
			var obj = new ComplexPositionalParameterWrapper () { Param = new ComplexPositionalParameterClass (new ComplexPositionalParameterValue () { Foo = "foo" })};
			var r = new XamlObjectReader (obj);
			ComplexPositionalParameters (r);
		}
Exemplo n.º 46
0
		public void Read_NamedItems ()
		{
			// foo
			// - bar
			// -- foo
			// - baz
			var obj = new NamedItem ("foo");
			var obj2 = new NamedItem ("bar");
			obj.References.Add (obj2);
			obj.References.Add (new NamedItem ("baz"));
			obj2.References.Add (obj);

			var xr = new XamlObjectReader (obj);
			Read_NamedItems (xr, true);
		}
Exemplo n.º 47
0
		public void Read_NamedItems2 ()
		{
			// i1
			// - i2
			// -- i3
			// - i4
			// -- i3
			var obj = new NamedItem2 ("i1");
			var obj2 = new NamedItem2 ("i2");
			var obj3 = new NamedItem2 ("i3");
			var obj4 = new NamedItem2 ("i4");
			obj.References.Add (obj2);
			obj.References.Add (obj4);
			obj2.References.Add (obj3);
			obj4.References.Add (obj3);

			var xr = new XamlObjectReader (obj);
			Read_NamedItems2 (xr, true);
		}
Exemplo n.º 48
0
		public void Read_XmlSerializableWrapper ()
		{
			var obj = new XmlSerializableWrapper (new XmlSerializable ("<root/>"));
			var xr = new XamlObjectReader (obj);
			Read_XmlSerializableWrapper (xr, true);
		}
Exemplo n.º 49
0
		public void Read_AbstractContainer ()
		{
			var obj = new AbstractContainer () { Value2 = new DerivedObject () { Foo = "x" } };
			var xr = new XamlObjectReader (obj);
			while (!xr.IsEof)
				xr.Read ();
		}
Exemplo n.º 50
0
		public void Read_NullableContainer ()
		{
			var obj = new NullableContainer () { TestProp = 5 };
			var xr = new XamlObjectReader (obj);
			Read_NullableContainer (xr);
		}
Exemplo n.º 51
0
		public void Read_CollectionContentPropertyX ()
		{
			var obj = new CollectionContentPropertyX ();
			var l = new List<object> ();
			obj.ListOfItems.Add (l);
			for (int i = 0; i < 4; i++)
				l.Add (new SimpleClass ());
			var xr = new XamlObjectReader (obj);
			Read_CollectionContentPropertyX (xr, false);
		}
Exemplo n.º 52
0
		// from initial to StartObject
		protected void Read_CommonXamlType (XamlObjectReader r)
		{
			Read_CommonXamlType (r, delegate {
				Assert.IsNull (r.Instance, "ct#4");
				});
		}
Exemplo n.º 53
0
		public void Read_TypeConverterOnListMember ()
		{
			var obj = new SecondTest.TypeOtherAssembly ();
			obj.Values.AddRange (new uint? [] {1, 2, 3});
			var xr = new XamlObjectReader (obj);
			Read_TypeConverterOnListMember (xr);
		}
Exemplo n.º 54
0
		[Test] // List contents are (sort of) treated as top-level too, so it is not serialized as IXmlSerializable(!)
		public void Read_ListXmlSerializable ()
		{
			var obj = new List<XmlSerializable> ();
			obj.Add (new XmlSerializable ("<root/>"));
			var xr = new XamlObjectReader (obj);
			Read_ListXmlSerializable (xr);
		}
Exemplo n.º 55
0
		public void Read_TypeExtensionWrapper ()
		{
			var obj = new TypeExtensionWrapper () { Param = new TypeExtension ("Foo") };
			var r = new XamlObjectReader (obj);
			Read_TypeExtensionWrapper (r);
		}
Exemplo n.º 56
0
		[Category (Categories.NotWorking)] // only member ordering difference, maybe.
		public void Read_AmbientPropertyContainer2 ()
		{
			var obj = new SecondTest.ResourcesDict ();
			var t1 = new SecondTest.TestObject ();
			obj.Add ("TestDictItem", t1);
			obj.Add ("okay", new SecondTest.ResourceExtension (t1));
			var xr = new XamlObjectReader (obj);
			Read_AmbientPropertyContainer (xr, true);
		}
Exemplo n.º 57
0
		public void PositionalParameters2 ()
		{
			var obj = new PositionalParametersWrapper ("foo", 5);
			var r = new XamlObjectReader (obj);
			PositionalParameters2 (r);
		}
Exemplo n.º 58
0
		protected void Read_CommonXamlPrimitive (object obj)
		{
			var r = new XamlObjectReader (obj);
			Read_CommonXamlType (r);
			Read_Initialization (r, obj);
		}
Exemplo n.º 59
0
		[Category (Categories.NotWorking)] // only member ordering difference, maybe.
		public void Read_AmbientPropertyContainer ()
		{
			var obj = new SecondTest.ResourcesDict ();
			var t1 = new SecondTest.TestObject ();
			obj.Add ("TestDictItem", t1);
			var t2 = new SecondTest.TestObject ();
			t2.TestProperty = t1;
			obj.Add ("okay", t2);
			var xr = new XamlObjectReader (obj);
			Read_AmbientPropertyContainer (xr, false);
		}
Exemplo n.º 60
0
		public void Read_ReadOnlyPropertyContainer ()
		{
			var obj = new ReadOnlyPropertyContainer () { Foo = "x" };
			var xr = new XamlObjectReader (obj);
			var xt = xr.SchemaContext.GetXamlType (obj.GetType ());
			while (xr.Read ())
				if (xr.NodeType == XamlNodeType.StartMember)
					break;
			Assert.AreEqual (xt.GetMember ("Foo"), xr.Member, "#1");
			while (!xr.IsEof)
				xr.Read ();
		}