コード例 #1
0
        public void RenderDiagnosticMetadataAttributes()
        {
            _control.Stub(stub => stub.DateString).Return(c_dateString);
            _control.Stub(stub => stub.TimeString).Return(c_timeString);
            _control.Stub(stub => stub.ShowSeconds).Return(true);
            _control.Stub(stub => stub.ActualValueType).Return(BocDateTimeValueType.DateTime);
            _dateStyle.AutoPostBack = true;
            _timeStyle.AutoPostBack = false;

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

            renderer.Render(new BocDateTimeValueRenderingContext(HttpContext, Html.Writer, _control));

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

            Html.AssertAttribute(container, DiagnosticMetadataAttributes.ControlType, "BocDateTimeValue");
            Html.AssertAttribute(container, DiagnosticMetadataAttributesForObjectBinding.BocDateTimeValueHasTimeField, "true");

            var dateInput = container.GetAssertedChildElement("span", 0).GetAssertedChildElement("input", 0);

            Html.AssertAttribute(dateInput, DiagnosticMetadataAttributesForObjectBinding.BocDateTimeValueDateField, "true");
            Html.AssertAttribute(dateInput, DiagnosticMetadataAttributes.TriggersPostBack, "true");

            var timeInput = container.GetAssertedChildElement("span", 2).GetAssertedChildElement("input", 0);

            Html.AssertAttribute(timeInput, DiagnosticMetadataAttributesForObjectBinding.BocDateTimeValueTimeField, "true");
            Html.AssertAttribute(timeInput, DiagnosticMetadataAttributesForObjectBinding.BocDateTimeValueTimeFieldHasSeconds, "true");
            Html.AssertAttribute(timeInput, DiagnosticMetadataAttributes.TriggersPostBack, "false");
        }
コード例 #2
0
        private XmlNode GetAssertedContainer(out BocDateTimeValueRenderer renderer, bool isDateOnly)
        {
            renderer = new TestableBocDateTimeValueRenderer(
                new FakeResourceUrlFactory(),
                GlobalizationService,
                RenderingFeatures.Default,
                _dateTextBox,
                _timeTextBox);
            renderer.Render(new BocDateTimeValueRenderingContext(HttpContext, Html.Writer, _control));

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

            container.AssertAttributeValueEquals("id", c_dateValueID);
            container.AssertAttributeValueContains("class", isDateOnly ? renderer.CssClassDateOnly : renderer.CssClassDateTime);
            container.AssertChildElementCount(isDateOnly ? 1 : 2);
            return(container);
        }
コード例 #3
0
        public void RenderIDs()
        {
            _control.Stub(stub => stub.DateString).Return(c_dateString);
            _control.Stub(stub => stub.TimeString).Return(c_timeString);
            _control.Stub(stub => stub.ActualValueType).Return(BocDateTimeValueType.DateTime);
            _control.Stub(stub => stub.Enabled).Return(true);

            var renderer = new BocDateTimeValueRenderer(new FakeResourceUrlFactory(), GlobalizationService, RenderingFeatures.Default);

            renderer.Render(new BocDateTimeValueRenderingContext(HttpContext, Html.Writer, _control));
            var document  = Html.GetResultDocument();
            var container = document.GetAssertedChildElement("span", 0);
            var dateInput = container.GetAssertedChildElement("span", 0).GetAssertedChildElement("input", 0);
            var timeInput = container.GetAssertedChildElement("span", 2).GetAssertedChildElement("input", 0);

            dateInput.AssertAttributeValueEquals("id", c_dateValueName);
            dateInput.AssertAttributeValueEquals("name", c_dateValueName);
            timeInput.AssertAttributeValueEquals("id", c_timeValueName);
            timeInput.AssertAttributeValueEquals("name", c_timeValueName);
        }
コード例 #4
0
        private void AssertDate(XmlNode container, BocDateTimeValueRenderer renderer)
        {
            var dateInputWrapper = container.GetAssertedChildElement("span", 0);

            if (!_control.IsReadOnly)
            {
                dateInputWrapper.AssertAttributeValueContains("class", renderer.CssClassDateInputWrapper);
                dateInputWrapper.AssertAttributeValueContains(
                    "class", renderer.GetPositioningCssClass(_renderingContext, BocDateTimeValueRenderer.DateTimeValuePart.Date));
                dateInputWrapper.AssertChildElementCount(0);

                dateInputWrapper.AssertTextNode("TextBox", 0);
                Assert.That(_dateTextBox.ID, Is.EqualTo(c_dateValueName));
                Assert.That(_dateTextBox.CssClass, Is.EqualTo(renderer.CssClassDate));
                Assert.That(_dateTextBox.Text, Is.EqualTo(c_dateString));
                Assert.That(_dateTextBox.MaxLength, Is.EqualTo(10));
            }
            else
            {
                dateInputWrapper.AssertAttributeValueEquals("data-value", _dateValue.ToString("yyyy-MM-dd"));
            }
        }
コード例 #5
0
        private void AssertTime(XmlNode container, BocDateTimeValueRenderer renderer)
        {
            if (!_control.IsReadOnly)
            {
                var timeInputWrapper = container.GetAssertedChildElement("span", 2);
                timeInputWrapper.AssertAttributeValueContains("class", renderer.CssClassTimeInputWrapper);
                timeInputWrapper.AssertAttributeValueContains(
                    "class", renderer.GetPositioningCssClass(_renderingContext, BocDateTimeValueRenderer.DateTimeValuePart.Time));
                timeInputWrapper.AssertChildElementCount(0);
                timeInputWrapper.AssertTextNode("TextBox", 0);

                Assert.That(_timeTextBox.ID, Is.EqualTo(c_timeValueName));
                Assert.That(_timeTextBox.CssClass, Is.EqualTo(renderer.CssClassTime));
                Assert.That(_timeTextBox.Text, Is.EqualTo(c_timeString));
                Assert.That(_timeTextBox.MaxLength, Is.EqualTo(5));
            }
            else
            {
                var dateLabel = container.GetAssertedChildElement("span", 0);
                dateLabel.AssertAttributeValueEquals("data-value", c_formatedDateString);
                var timeLabel = container.GetAssertedChildElement("span", 1);
                timeLabel.AssertAttributeValueEquals("data-value", c_formatedTimeString);
            }
        }