public RazorTagHelperParsingBenchmark() { var current = new DirectoryInfo(AppContext.BaseDirectory); while (current != null && !File.Exists(Path.Combine(current.FullName, "taghelpers.json"))) { current = current.Parent; } var root = current; var tagHelpers = ReadTagHelpers(Path.Combine(root.FullName, "taghelpers.json")); var tagHelperFeature = new StaticTagHelperFeature(tagHelpers); var blazorServerTagHelpersFilePath = Path.Combine(root.FullName, "BlazorServerTagHelpers.razor"); var fileSystem = RazorProjectFileSystem.Create(root.FullName); ProjectEngine = RazorProjectEngine.Create(RazorConfiguration.Default, fileSystem, b => { RazorExtensions.Register(b); b.Features.Add(tagHelperFeature); }); BlazorServerTagHelpersDemoFile = fileSystem.GetItem(Path.Combine(blazorServerTagHelpersFilePath), FileKinds.Component); ComponentDirectiveVisitor = new ComponentDirectiveVisitor(blazorServerTagHelpersFilePath, tagHelpers, currentNamespace: null); var codeDocument = ProjectEngine.ProcessDesignTime(BlazorServerTagHelpersDemoFile); SyntaxTree = codeDocument.GetSyntaxTree(); }
public void CodeGeneration_DesignTime_LargeStaticFile() { var codeDocument = ProjectEngine.ProcessDesignTime(MSN); var generated = codeDocument.GetCSharpDocument(); if (generated.Diagnostics.Count != 0) { throw new Exception("Error!" + Environment.NewLine + string.Join(Environment.NewLine, generated.Diagnostics)); } }
public void TagHelper_ProcessDesignTime() { _ = ProjectEngine.ProcessDesignTime(BlazorServerTagHelpersDemoFile); }