public void Translate_TemplateBuilder_Write_IsNeverCalled() { ITemplateBuilder templateBuilder = new FailingTemplateBuilder(); var sut = new IgnoreSpanTranslator(); sut.Translate(SpanHelper.BuildSpan("a"), templateBuilder); }
public void Translate_CallsMatchOnCodeSpanTranslator() { var span = SpanHelper.BuildSpan("a"); var sut = new StatementTranslator(this._codeSpanTranslator.Object); sut.Translate(span, this._templateBuilder.Object); this._codeSpanTranslator.Verify(c => c.Match(span)); }
public void Match_GivenContentNotEndCodeBlock_ReturnsFalse() { var span = SpanHelper.BuildSpan("@Html.HiddenFor(m => m.Id)"); var sut = new EndCodeBlockTranslator(); var result = sut.Match(span); Assert.IsFalse(result); }
public void Match_GivenSpanNotFromModelDeclaration_ReturnsFalse() { Span span = SpanHelper.BuildSpan("a"); var sut = new IgnoreSpanTranslator(); var result = sut.Match(span); Assert.IsFalse(result); }
public void Match_GivenEndCodeBlockContentEndingInLineBreak_ReturnsTrue() { var span = SpanHelper.BuildSpan("}\r\n"); var sut = new EndCodeBlockTranslator(); var result = sut.Match(span); Assert.IsTrue(result); }
public void Match_GivenEndCodeBlockContentStartingWithTabIndent_ReturnsTrue() { var span = SpanHelper.BuildSpan("\t}"); var sut = new EndCodeBlockTranslator(); var result = sut.Match(span); Assert.IsTrue(result); }
public void Match_GivenForEachContentCollectionOnModel_ReturnsTrue() { var span = SpanHelper.BuildSpan("foreach (var item in Model.Collection) {"); var sut = new ForEachCodeSpanTranslator(); var result = sut.Match(span); Assert.IsTrue(result); }
public void Match_GivenForEachContentEndingInLineBreak_ReturnsTrue() { var span = SpanHelper.BuildSpan("foreach (var item in Collection) {\r\n"); var sut = new ForEachCodeSpanTranslator(); var result = sut.Match(span); Assert.IsTrue(result); }
public void Match_GivenCodeSpan_ReturnsTrue() { Span codeSpan = SpanHelper.BuildSpan("a", SpanKind.Code); var sut = new GenericCodeSpanTranslator(); var result = sut.Match(codeSpan); Assert.IsTrue(result); }
public void Translate_GivenTextWithLineBreakEnd_CallsTemplateBuilderQuoted_LineBreakEscaped() { var sut = new MarkupSpanTranslator(); string input = "Hello \nMartin!"; Span span = SpanHelper.BuildSpan(input); sut.Translate(span, this._templateBuilder.Object); this._templateBuilder.Verify(t => t.Write(input.Replace("\n", "\\n"), true)); }
public void Translate_GivenText_CallsTemplateBuilderQuoted() { var sut = new NullSpanTranslator(); string input = "asas}}"; Span span = SpanHelper.BuildSpan(input); sut.Translate(span, this._templateBuilder.Object); this._templateBuilder.Verify(t => t.Write(input, true)); }
public void Translate_GivenTextWithDoubleQuotes_CallsTemplateBuilderQuoted_DoubleQuotesEscaped() { var sut = new MarkupSpanTranslator(); string input = "Hello \"Martin\"!"; Span span = SpanHelper.BuildSpan(input); sut.Translate(span, this._templateBuilder.Object); this._templateBuilder.Verify(t => t.Write(input.Replace("\"", "\\\""), true)); }
public void Translate_GivenText_CallsTemplateBuilder() { var sut = new ExpressionTranslator(); string input = "Model.Property"; Span span = SpanHelper.BuildSpan(input); sut.Translate(span, this._templateBuilder.Object); this._templateBuilder.Verify(t => t.Write(input)); }
public void Translate_GivenBlockWithOneChildSpan_CallsMatchOnSpanTranslator() { Span span = SpanHelper.BuildSpan("a"); Block document = BlockHelper.BuildWithChildren(span); var sut = this.CreateSut(); sut.Translate(document, this._templateBuilder.Object); this._spanTranslator.Verify(s => s.Match(span)); }
public void Translate_FoundMatchingCodeSpanTranslator_CallsTranslater() { this._codeSpanTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true); var span = SpanHelper.BuildSpan("a"); var sut = new StatementTranslator(this._codeSpanTranslator.Object); sut.Translate(span, this._templateBuilder.Object); this._codeSpanTranslator.Verify(c => c.Translate(span.Content, this._templateBuilder.Object)); }
public void Translate_GivenCodeWithLineBreaks_CleanLineBreaksWhenHandingToTranslator() { this._codeSpanTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true); var span = SpanHelper.BuildSpan("a\r\nb"); var sut = new StatementTranslator(this._codeSpanTranslator.Object); sut.Translate(span, this._templateBuilder.Object); this._codeSpanTranslator.Verify(c => c.Translate("ab", It.IsAny <ITemplateBuilder>())); }
public void Translate_NoMatchingCodeSpanTranslator_DoNotCallTranslater() { this._codeSpanTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(false); var span = SpanHelper.BuildSpan("a"); var sut = new StatementTranslator(this._codeSpanTranslator.Object); sut.Translate(span, this._templateBuilder.Object); this._codeSpanTranslator.Verify(c => c.Translate(It.IsAny <string>(), It.IsAny <ITemplateBuilder>()), Times.Never()); }
public void Translate_NoMatchingCodeSpanTranslator_DoNotCallTranslater() { this._spanTranslator.Setup(s => s.Match(It.IsAny <Span>())).Returns(false); Block document = BlockHelper.BuildWithChildren(SpanHelper.BuildSpan("a")); var sut = this.CreateSut(); sut.Translate(document, this._templateBuilder.Object); this._spanTranslator.Verify(c => c.Translate(It.IsAny <Span>(), It.IsAny <ITemplateBuilder>()), Times.Never()); }
public void Translate_GivenAtSign_DoesNotCallTemplateBuilder() { var sut = new NullSpanTranslator(); string input = "@"; Span span = SpanHelper.BuildSpan(input); sut.Translate(span, this._templateBuilder.Object); this._templateBuilder.Verify(t => t.Write(It.IsAny <string>()), Times.Never()); this._templateBuilder.Verify(t => t.Write(It.IsAny <string>(), It.IsAny <bool>()), Times.Never()); }
public void Translate_FoundMatchingSpanTranslator_CallsTranslater() { this._spanTranslator.Setup(s => s.Match(It.IsAny <Span>())).Returns(true); Span span = SpanHelper.BuildSpan("a"); Block document = BlockHelper.BuildWithChildren(span); var sut = this.CreateSut(); sut.Translate(document, this._templateBuilder.Object); this._spanTranslator.Verify(s => s.Translate(span, this._templateBuilder.Object)); }
public void Translate_MultipleMatchingCodeSpanTranslator_CallsFirstTranslater() { Mock <ICodeSpanTranslator> secondTranslator = new Mock <ICodeSpanTranslator>(); secondTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true); this._codeSpanTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true); var span = SpanHelper.BuildSpan("a"); var sut = new StatementTranslator(this._codeSpanTranslator.Object, secondTranslator.Object); sut.Translate(span, this._templateBuilder.Object); this._codeSpanTranslator.Verify(c => c.Translate(span.Content, this._templateBuilder.Object)); secondTranslator.Verify(c => c.Translate(It.IsAny <string>(), It.IsAny <ITemplateBuilder>()), Times.Never()); }
public void Translate_MultipleMatchingCodeSpanTranslator_CallsFirstTranslater() { Mock <ISpanTranslator> secondTranslator = new Mock <ISpanTranslator>(); secondTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true); this._spanTranslator.Setup(c => c.Match(It.IsAny <Span>())).Returns(true); Span span = SpanHelper.BuildSpan("a"); Block document = BlockHelper.BuildWithChildren(span); var sut = new DocumentTranslator(this._spanTranslator.Object, secondTranslator.Object); sut.Translate(document, this._templateBuilder.Object); this._spanTranslator.Verify(c => c.Translate(span, this._templateBuilder.Object)); secondTranslator.Verify(c => c.Translate(It.IsAny <Span>(), It.IsAny <ITemplateBuilder>()), Times.Never()); }