public void MetadataControlResolver_ElementContext_Control()
        {
            TestInit();

            var resolver    = new MetadataControlResolver();
            var allControls = resolver.ReloadAllControls(context);

            ControlMetadata         control;
            ControlPropertyMetadata property;

            resolver.GetElementContext(new List <string>()
            {
                "html", "body", "dot:Button"
            }, out control, out property);

            Assert.IsNotNull(control);
            Assert.IsNull(property);
        }
        public void MetadataControlResolver_ElementContext_AttributeProperty()
        {
            TestInit();

            var resolver    = new MetadataControlResolver();
            var allControls = resolver.ReloadAllControls(context);

            ControlMetadata         control;
            ControlPropertyMetadata property;

            resolver.GetElementContext(new List <string>()
            {
                "html", "body", "dot:Repeater", "WrapperTagName"
            },
                                       out control, out property);

            Assert.IsNotNull(control);
            Assert.IsNull(property); // the property cannot be used as element
        }
        public void MetadataControlResolver_ElementContext_HtmlGenericControl()
        {
            TestInit();

            var resolver    = new MetadataControlResolver();
            var allControls = resolver.ReloadAllControls(context);

            ControlMetadata         control;
            ControlPropertyMetadata property;

            resolver.GetElementContext(new List <string>()
            {
                "html"
            }, out control, out property);

            Assert.IsNotNull(control);
            Assert.IsNull(property);

            Assert.IsTrue(control.Properties.Any(p => p.Name == "Visible"));
            Assert.IsTrue(control.Properties.Any(p => p.Name == "DataContext"));
        }