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"); }
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); }
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); }
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")); } }
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); } }