Exemplo n.º 1
0
		public void FromProperty ()
		{
			var pi = str_len;
			var i = new XamlMemberInvoker (new XamlMember (pi, sctx));
			Assert.AreEqual (pi.GetGetMethod (), i.UnderlyingGetter, "#1");
			Assert.IsNull (i.UnderlyingSetter, "#2");
			Assert.AreEqual (5, i.GetValue ("hello"), "#3");
		}
 internal static XamlMember ReplaceXamlMemberInvoker(this XamlMember originalXamlMember, XamlSchemaContext schemaContext, XamlMemberInvoker newInvoker)
 {
     if (originalXamlMember.IsEvent)
     {
         if (originalXamlMember.IsAttachable)
         {
             UnitTestUtility.Assert(originalXamlMember.UnderlyingMember is MethodInfo, "Guaranteed by XamlMember.");
             return new XamlMember(originalXamlMember.Name, originalXamlMember.UnderlyingMember as MethodInfo, schemaContext, newInvoker);
         }
         else
         {
             UnitTestUtility.Assert(originalXamlMember.UnderlyingMember is EventInfo, "Guaranteed by XamlMember.");
             return new XamlMember(originalXamlMember.UnderlyingMember as EventInfo, schemaContext, newInvoker);
         }
     }
     else if (originalXamlMember.IsDirective)
     {
         return originalXamlMember;
     }
     else if (originalXamlMember.IsUnknown)
     {
         return originalXamlMember;
     }
     else
     {
         if (originalXamlMember.IsAttachable)
         {
             MethodInfo attachablePropertyMethod = originalXamlMember.UnderlyingMember as MethodInfo;
             if (attachablePropertyMethod.ReturnType == typeof(void))
             {
                 return new XamlMember(originalXamlMember.Name, null, originalXamlMember.UnderlyingMember as MethodInfo, schemaContext, newInvoker);
             }
             else
             {
                 return new XamlMember(originalXamlMember.Name, originalXamlMember.UnderlyingMember as MethodInfo, null, schemaContext, newInvoker);
             }
         }
         else
         {
             PropertyInfo propertyInfo = originalXamlMember.UnderlyingMember as PropertyInfo;
             if (propertyInfo != null)
             {
                 return new XamlMember(propertyInfo, schemaContext, newInvoker);
             }
             else
             {
                 return originalXamlMember;
             }
         }
     }
 }
Exemplo n.º 3
0
		public void SetValueOnReadOnlyProperty ()
		{
			var pi = str_len;
			var i = new XamlMemberInvoker (new XamlMember (pi, sctx));
			i.SetValue ("hello", 5);
		}
Exemplo n.º 4
0
		public void GetValueOnWriteOnlyProperty ()
		{
			var pi = xr_resolver;
			var i = new XamlMemberInvoker (new XamlMember (pi, sctx));
			i.GetValue (new XmlUrlResolver ());
		}
Exemplo n.º 5
0
		public void SetValueNullObject ()
		{
			var pi = sb_len;
			var i = new XamlMemberInvoker (new XamlMember (pi, sctx));
			i.SetValue (null, 5);
		}
Exemplo n.º 6
0
		public void GetValueNullObject ()
		{
			var pi = str_len;
			var i = new XamlMemberInvoker (new XamlMember (pi, sctx));
			i.GetValue (null);
		}
Exemplo n.º 7
0
		public void UnderlyingSetter ()
		{
			var i = new XamlMemberInvoker (new MyXamlMember (str_len, sctx));
			// call XamlMember's UnderlyingSetter.
			Assert.IsNull (i.UnderlyingSetter, "#1");
		}
Exemplo n.º 8
0
		public void SetValueOnEvent ()
		{
			var ei = ass_load;
			var i = new XamlMemberInvoker (new XamlMember (ei, sctx));
			i.SetValue (AppDomain.CurrentDomain, new AssemblyLoadEventHandler (DummyAssemblyLoad));
		}
Exemplo n.º 9
0
		public void SetValueOnEventValueMismatch ()
		{
			var ei = ass_load;
			var i = new XamlMemberInvoker (new XamlMember (ei, sctx));
			i.SetValue (AppDomain.CurrentDomain, 5);
		}
Exemplo n.º 10
0
		public void GetValueOnEvent ()
		{
			var ei = ass_load;
			var i = new XamlMemberInvoker (new XamlMember (ei, sctx));
			i.GetValue (AppDomain.CurrentDomain);
		}
Exemplo n.º 11
0
		public void FromEvent ()
		{
			var ei = ass_load;
			var i = new XamlMemberInvoker (new XamlMember (ei, sctx));
			Assert.IsNull (i.UnderlyingGetter, "#1");
			Assert.AreEqual (ei.GetAddMethod (), i.UnderlyingSetter, "#2");
		}
Exemplo n.º 12
0
		public void SetValueOnIrrelevantObject ()
		{
			var pi = sb_len;
			var i = new XamlMemberInvoker (new XamlMember (pi, sctx));
			i.SetValue ("hello", 5);
		}
Exemplo n.º 13
0
		public void GetValueOnTypeValue ()
		{
			var xm = XamlLanguage.Type.GetMember ("Type");
			var i = new XamlMemberInvoker (xm);
			var o = i.GetValue (new TypeExtension (typeof (int)));
			Assert.AreEqual (typeof (int), o, "#1");
		}
Exemplo n.º 14
0
		public void GetValueOnIrrelevantObject ()
		{
			var pi = str_len;
			var i = new XamlMemberInvoker (new XamlMember (pi, sctx));
			i.GetValue (new StringBuilder ());
		}
Exemplo n.º 15
0
		public void SetValueOnReadWriteProperty ()
		{
			var pi = sb_len;
			var i = new XamlMemberInvoker (new XamlMember (pi, sctx));
			var sb = new StringBuilder ();
			i.SetValue (sb, 5);
			Assert.AreEqual (5, sb.Length, "#1");
		}
 internal ValueNodeXamlMemberInvoker(XamlDebuggerXmlReader parent, XamlMemberInvoker wrapped, DocumentRange attributeValueRange)
 {
     this.parent = parent;
     this.wrapped = wrapped;
     this.attributeValueRange = attributeValueRange;
 }