public void Setup() { reflectorMock = new Mock <IReflector>(); filterRunnerMock = new Mock <IFilterRunner>(); filterRunnerMock // make runfilters do nothiung .Setup(x => x.RunFilters( It.IsAny <object>(), It.IsAny <string[]>(), It.IsAny <PropertyBag>(), It.IsAny <IMarkupBase>() )) .Returns((object o) => o); propertyBagMock = new Mock <IPropertyBag>(); //propertyBagMock.Setup(x => x[It.IsAny<string>()]).Returns(null); interpretContextMock = new Mock <IInterpretContext>(); interpretContextMock .SetupGet(x => x.Bag) .Returns(propertyBagMock.Object); markup = new ExpressionMarkup( reflectorMock.Object, filterRunnerMock.Object, "{{markup}}", 10, 10 ); }
public TagMarkupBase ParseTag(string markup, int lineNumber, int charPos) { ForEachTagMarkup tagMarkup = null; ExpressionMarkup expressionMarkup = null; Match m = ForEachTagParserRegex.Match(markup); if (m.Success) { string tag = m.Groups["Tag"].Success ? m.Groups["Tag"].Value.Trim(): null; if (string.IsNullOrEmpty(tag)) { throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); } string expression = m.Groups["Expression"].Success ? m.Groups["Expression"].Value.Trim() : null; if (!string.IsNullOrEmpty(expression)) { expressionMarkup = new ExpressionMarkup(reflector, filterRunner, expression, lineNumber, charPos); } switch (tag.ToLower()) { case "foreach": if (expressionMarkup == null) { throw new ImpressionParseException("FOREACH Tag detected without expression", markup, lineNumber, charPos); } tagMarkup = new ForEachTagMarkup( ForEachTagType.ForEach, expressionMarkup, markup, lineNumber, charPos ); break; case "next": tagMarkup = new ForEachTagMarkup( ForEachTagType.Next, null, markup, lineNumber, charPos ); break; } } if (tagMarkup == null) { throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); } return(tagMarkup); }
public void ConstructorThrowsArgumentNullExceptionForNullReflector() { markup = new ExpressionMarkup( null, filterRunnerMock.Object, "markup", 10, 10 ); }
public void ThrowsExceptionForBadmarkup() { markup = new ExpressionMarkup( reflectorMock.Object, filterRunnerMock.Object, "markup", 10, 10 ); }
public void ConstructorThrowsArgumentNullExceptionForNullFilterRunner() { markup = new ExpressionMarkup( reflectorMock.Object, null, "markup", 10, 10 ); }
public void ParsesGoodMarkup() { markup = new ExpressionMarkup( reflectorMock.Object, filterRunnerMock.Object, "{{markup}}", 10, 10 ); Assert.AreEqual("markup", markup.ObjectName); Assert.IsNull(markup.Properties); Assert.IsNull(markup.Within); }
public void TestCanParseXEqualsYExpression() { markup = new ExpressionMarkup( reflectorMock.Object, filterRunnerMock.Object, "{{ abc = xyz.prop1.prop2 }}", 10, 10 ); Assert.AreEqual("abc", markup.Within); Assert.AreEqual("xyz", markup.ObjectName); Assert.AreEqual(2, markup.Properties.Length); Assert.AreEqual("prop1", markup.Properties[0]); Assert.AreEqual("prop2", markup.Properties[1]); }
public TagMarkupBase ParseTag(string markup, int lineNumber, int charPos) { VarTagMarkup tagMarkup = null; ExpressionMarkup expressionMarkup = null; Match m = VarTagParserRegex.Match(markup); if (m.Success) { string tag = m.Groups["Tag"].Success ? m.Groups["Tag"].Value.Trim(): null; if (string.IsNullOrEmpty(tag)) { throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); } string expression = m.Groups["Expression"].Success ? m.Groups["Expression"].Value.Trim() : null; if (!string.IsNullOrEmpty(expression)) { expressionMarkup = new ExpressionMarkup(reflector, filterRunner, expression, lineNumber, charPos); } tagMarkup = new VarTagMarkup( expressionMarkup, markup, lineNumber, charPos ); } if (tagMarkup == null) { throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); } return(tagMarkup); }
public TagMarkupBase ParseTag(string markup, int lineNumber, int charPos) { VarTagMarkup tagMarkup = null; ExpressionMarkup expressionMarkup = null; Match m = VarTagParserRegex.Match(markup); if (m.Success) { string tag = m.Groups["Tag"].Success ? m.Groups["Tag"].Value.Trim(): null; if (string.IsNullOrEmpty(tag)) throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); string expression = m.Groups["Expression"].Success ? m.Groups["Expression"].Value.Trim() : null; if (!string.IsNullOrEmpty(expression)) { expressionMarkup = new ExpressionMarkup(reflector, filterRunner, expression, lineNumber, charPos); } tagMarkup = new VarTagMarkup( expressionMarkup, markup, lineNumber, charPos ); } if (tagMarkup == null) throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); return tagMarkup; }
public VarTagMarkup(ExpressionMarkup expression, string markup, int lineNumber, int charPos) : base(expression, markup, lineNumber, charPos) { }
public void Setup() { reflectorMock = new Mock<IReflector>(); filterRunnerMock = new Mock<IFilterRunner>(); filterRunnerMock // make runfilters do nothiung .Setup(x => x.RunFilters( It.IsAny<object>(), It.IsAny<string[]>(), It.IsAny<PropertyBag>(), It.IsAny<IMarkupBase>() )) .Returns((object o) => o); propertyBagMock = new Mock<IPropertyBag>(); //propertyBagMock.Setup(x => x[It.IsAny<string>()]).Returns(null); interpretContextMock = new Mock<IInterpretContext>(); interpretContextMock .SetupGet(x => x.Bag) .Returns(propertyBagMock.Object); markup = new ExpressionMarkup( reflectorMock.Object, filterRunnerMock.Object, "{{markup}}", 10, 10 ); }
public TagMarkupBase ParseTag(string markup, int lineNumber, int charPos) { IfTagMarkup tagMarkup = null; ExpressionMarkup expressionMarkup = null; Match m = IfTagParserRegex.Match(markup); if (m.Success) { string tag = m.Groups["Tag"].Success ? m.Groups["Tag"].Value.Trim(): null; if (string.IsNullOrEmpty(tag)) { throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); } string expression = m.Groups["Expression"].Success ? m.Groups["Expression"].Value.Trim() : null; if (!string.IsNullOrEmpty(expression)) { expressionMarkup = new ExpressionMarkup(reflector, filterRunner, expression, lineNumber, charPos); } switch (tag.ToLower()) { case "if": if (expressionMarkup == null) { throw new ImpressionParseException("IF Tag detected without expression", markup, lineNumber, charPos); } tagMarkup = new IfTagMarkup( IfTagType.If, expressionMarkup, markup, lineNumber, charPos ); break; case "elseif": if (expressionMarkup == null) { throw new ImpressionParseException("ELSEIF Tag detected without expression", markup, lineNumber, charPos); } tagMarkup = new IfTagMarkup( IfTagType.ElseIf, expressionMarkup, markup, lineNumber, charPos ); break; case "else": tagMarkup = new IfTagMarkup( IfTagType.Else, null, markup, lineNumber, charPos ); break; case "endif": tagMarkup = new IfTagMarkup( IfTagType.EndIf, null, markup, lineNumber, charPos ); break; } } if (tagMarkup == null) { throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); } return(tagMarkup); }
public TagMarkupBase ParseTag(string markup, int lineNumber, int charPos) { IfTagMarkup tagMarkup = null; ExpressionMarkup expressionMarkup = null; Match m = IfTagParserRegex.Match(markup); if (m.Success) { string tag = m.Groups["Tag"].Success ? m.Groups["Tag"].Value.Trim(): null; if (string.IsNullOrEmpty(tag)) throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); string expression = m.Groups["Expression"].Success ? m.Groups["Expression"].Value.Trim() : null; if (!string.IsNullOrEmpty(expression)) { expressionMarkup = new ExpressionMarkup(reflector, filterRunner, expression, lineNumber, charPos); } switch(tag.ToLower()) { case "if": if (expressionMarkup == null) throw new ImpressionParseException("IF Tag detected without expression", markup, lineNumber, charPos); tagMarkup = new IfTagMarkup( IfTagType.If, expressionMarkup, markup, lineNumber, charPos ); break; case "elseif": if (expressionMarkup == null) throw new ImpressionParseException("ELSEIF Tag detected without expression", markup, lineNumber, charPos); tagMarkup = new IfTagMarkup( IfTagType.ElseIf, expressionMarkup, markup, lineNumber, charPos ); break; case "else": tagMarkup = new IfTagMarkup( IfTagType.Else, null, markup, lineNumber, charPos ); break; case "endif": tagMarkup = new IfTagMarkup( IfTagType.EndIf, null, markup, lineNumber, charPos ); break; } } if (tagMarkup == null) throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); return tagMarkup; }
public TagMarkupBase ParseTag(string markup, int lineNumber, int charPos) { ForEachTagMarkup tagMarkup = null; ExpressionMarkup expressionMarkup = null; Match m = ForEachTagParserRegex.Match(markup); if (m.Success) { string tag = m.Groups["Tag"].Success ? m.Groups["Tag"].Value.Trim(): null; if (string.IsNullOrEmpty(tag)) throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); string expression = m.Groups["Expression"].Success ? m.Groups["Expression"].Value.Trim() : null; if (!string.IsNullOrEmpty(expression)) { expressionMarkup = new ExpressionMarkup(reflector, filterRunner, expression, lineNumber, charPos); } switch(tag.ToLower()) { case "foreach": if (expressionMarkup == null) throw new ImpressionParseException("FOREACH Tag detected without expression", markup, lineNumber, charPos); tagMarkup = new ForEachTagMarkup( ForEachTagType.ForEach, expressionMarkup, markup, lineNumber, charPos ); break; case "next": tagMarkup = new ForEachTagMarkup( ForEachTagType.Next, null, markup, lineNumber, charPos ); break; } } if (tagMarkup == null) throw new ImpressionParseException("Unsupported Tag Found", markup, lineNumber, charPos); return tagMarkup; }