private void ParserTest(string content, Block document, TagProvidersCollection providers = null) { providers = providers ?? TagProvidersCollection.Default; var output = new StringBuilder(); using (var reader = new StringReader(content)) { using (var source = new SeekableTextReader(reader)) { var errors = new ParserErrorSink(); var parser = new HandlebarsParser(); var context = new ParserContext(source, parser, errors, providers); parser.Context = context; parser.ParseDocument(); var results = context.CompleteParse(); var comparer = new EquivalanceComparer(output, 0); Assert.True(comparer.Equals(document, results.Document), output.ToString()); } } }
/// <summary> /// Initializes a new instance of the <see cref="ParserContext"/> class. /// </summary> /// <param name="source">The source.</param> /// <param name="parser">The parser.</param> /// <param name="errorSink">The error sink.</param> public ParserContext(ITextDocument source, ParserBase parser, ParserErrorSink errorSink, TagProvidersCollection providers) { Source = new TextDocumentReader(source); Parser = parser; _errorSink = errorSink; TagProviders = providers; }
/// <summary> /// Initializes a new instance of the <see cref="ParserContext"/> class. /// </summary> /// <param name="source">The source.</param> /// <param name="parser">The parser.</param> /// <param name="errorSink">The error sink.</param> /// <param name="providers">The set of tag providers.</param> public ParserContext(ITextDocument source, ParserBase parser, ParserErrorSink errorSink, TagProvidersCollection providers) { Source = new TextDocumentReader(source); Parser = parser; _errorSink = errorSink; TagProviders = providers; }
protected void RenderTest(string content, string expected, object model = null, TagProvidersCollection providers = null) { var func = HandlebarsService.Compile(Guid.NewGuid().ToString(), content); string result = func(model); Assert.Equal(expected, result); }
/// <summary> /// Initialises a new instance of <see cref="HandlebarsService"/> /// </summary> public HandlebarsService() { TagProviders = new TagProvidersCollection(TagProvidersCollection.Default); ModelMetadataProvider = new DefaultModelMetadataProvider(); }