Beispiel #1
0
        private void AssertLabel(TestEnum?value, bool withStyle)
        {
            var renderer = new BocEnumValueRenderer(new FakeResourceUrlFactory(), GlobalizationService, RenderingFeatures.Default);

            renderer.Render(new BocEnumValueRenderingContext(HttpContext, Html.Writer, _enumValue));

            var     document = Html.GetResultDocument();
            XmlNode div      = GetAssertedSpan(document, true, false, false, renderer);


            var span = Html.GetAssertedChildElement(div, "span", 0);

            Html.AssertAttribute(span, "id", c_valueName);
            if (_enumValue.EnumerationValueInfo != null)
            {
                Html.AssertAttribute(span, "data-value", _enumValue.EnumerationValueInfo.Identifier);
            }

            if (withStyle)
            {
                Html.AssertStyleAttribute(span, "width", _width.ToString());
                Html.AssertStyleAttribute(span, "height", "100%");
            }

            if (value.HasValue)
            {
                Html.AssertTextNode(span, value.Value.ToString(), 0);
            }
            else
            {
                Html.AssertChildElementCount(span, 0);
            }
        }
Beispiel #2
0
        private void AssertOptionList(bool withNullValue, TestEnum?selectedValue, bool isDisabled, bool withStyle, bool autoPostBack)
        {
            var renderer = new BocEnumValueRenderer(new FakeResourceUrlFactory(), GlobalizationService, RenderingFeatures.Default);

            renderer.Render(new BocEnumValueRenderingContext(HttpContext, Html.Writer, _enumValue));

            var document = Html.GetResultDocument();
            var div      = GetAssertedSpan(document, false, false, false, renderer);

            var select = Html.GetAssertedChildElement(div, "select", 0);

            Html.AssertAttribute(select, "id", c_valueName);
            Html.AssertAttribute(select, "name", c_valueName);

            if (withStyle)
            {
                Html.AssertStyleAttribute(select, "height", "100%");
            }

            if (isDisabled)
            {
                Html.AssertAttribute(select, "disabled", "disabled");
            }

            if (withNullValue)
            {
                AssertNullOption(select, !selectedValue.HasValue);
            }

            if (autoPostBack)
            {
                Html.AssertAttribute(select, "onchange", string.Format("javascript:__doPostBack('{0}','')", c_valueName));
            }

            int index = withNullValue ? 1 : 0;

            foreach (TestEnum value in Enum.GetValues(typeof(TestEnum)))
            {
                AssertOption(select, value.ToString(), value.ToString(), index, selectedValue == value);
                ++index;
            }
        }
Beispiel #3
0
        public void RenderDiagnosticMetadataAttributes()
        {
            _enumValue.ListControlStyle.ControlType  = ListControlType.ListBox;
            _enumValue.ListControlStyle.AutoPostBack = true;

            var resourceUrlFactory = new FakeResourceUrlFactory();
            var renderer           = new BocEnumValueRenderer(
                resourceUrlFactory,
                GlobalizationService,
                RenderingFeatures.WithDiagnosticMetadata);

            renderer.Render(new BocEnumValueRenderingContext(HttpContext, Html.Writer, _enumValue));

            var document  = Html.GetResultDocument();
            var outerSpan = Html.GetAssertedChildElement(document, "span", 0);

            Html.AssertAttribute(outerSpan, DiagnosticMetadataAttributes.ControlType, "BocEnumValue");
            Html.AssertAttribute(outerSpan, DiagnosticMetadataAttributes.TriggersPostBack, "true");
            Html.AssertAttribute(outerSpan, DiagnosticMetadataAttributesForObjectBinding.BocEnumValueStyle, "ListBox");
        }
Beispiel #4
0
        private XmlNode GetAssertedSpan(XmlDocument document, bool isReadOnly, bool isDisabled, bool withStyle, BocEnumValueRenderer renderer)
        {
            var    div      = Html.GetAssertedChildElement(document, "span", 0);
            string cssClass = _enumValue.CssClass;

            if (string.IsNullOrEmpty(cssClass))
            {
                cssClass = _enumValue.Attributes["class"];
            }
            if (string.IsNullOrEmpty(cssClass))
            {
                cssClass = renderer.GetCssClassBase(_enumValue);
            }

            Html.AssertAttribute(div, "id", "MyEnumValue");
            Html.AssertAttribute(div, "class", cssClass, HtmlHelperBase.AttributeValueCompareMode.Contains);
            if (isReadOnly)
            {
                Html.AssertAttribute(div, "class", renderer.CssClassReadOnly, HtmlHelperBase.AttributeValueCompareMode.Contains);
            }
            if (isDisabled)
            {
                Html.AssertAttribute(div, "class", renderer.CssClassDisabled, HtmlHelperBase.AttributeValueCompareMode.Contains);
            }

            if (withStyle)
            {
                Html.AssertStyleAttribute(div, "height", _height.ToString());
                Html.AssertStyleAttribute(div, "width", _width.ToString());
            }

            return(div);
        }