public void TextAndExpressionInterleaved() { var line = Tools.CreateFileLine(@"\A#{B}C#{D}E", 0); var rule = new InterpolationRule(); List <AsbtractRenderCommand> fragments = rule.Parse(line, new NullMessageHandler()); Assert.AreEqual(6, fragments.Count); Assert.AreEqual(RenderCommandTypes.TargetIndentation, fragments[0].Type); Assert.AreEqual("", fragments[0].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginText, fragments[1].Type); Assert.AreEqual("A", fragments[1].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginExpression, fragments[2].Type); Assert.AreEqual("B", fragments[2].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginText, fragments[3].Type); Assert.AreEqual("C", fragments[3].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginExpression, fragments[4].Type); Assert.AreEqual("D", fragments[4].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginText, fragments[5].Type); Assert.AreEqual("E", fragments[5].Span.Text); }
public void IndentationText() { var line = Tools.CreateFileLine(@"\ A", 0); var rule = new InterpolationRule(); List <AsbtractRenderCommand> fragments = rule.Parse(line, new NullMessageHandler()); Assert.AreEqual(2, fragments.Count); Assert.AreEqual(RenderCommandTypes.TargetIndentation, fragments[0].Type); Assert.AreEqual(" ", fragments[0].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginText, fragments[1].Type); Assert.AreEqual("A", fragments[1].Span.Text); }
public void EscapedSharp() { var line = Tools.CreateFileLine(@"\##include #{A}", 0); var rule = new InterpolationRule(); List <AsbtractRenderCommand> fragments = rule.Parse(line, new NullMessageHandler()); Assert.AreEqual(5, fragments.Count); Assert.AreEqual(RenderCommandTypes.TargetIndentation, fragments[0].Type); Assert.AreEqual("", fragments[0].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginText, fragments[1].Type); Assert.AreEqual("#", fragments[1].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginText, fragments[2].Type); Assert.AreEqual("include ", fragments[2].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginExpression, fragments[3].Type); Assert.AreEqual("A", fragments[3].Span.Text); Assert.AreEqual(RenderCommandTypes.OriginText, fragments[4].Type); Assert.AreEqual("", fragments[4].Span.Text); }