private RazorCodeDocument ParseChange(ITextSnapshot snapshot, CancellationToken token) { EnsureOnThread(); var projectItem = new TextSnapshotProjectItem(snapshot, _projectDirectory, _relativeFilePath, _filePath, _fileKind); var codeDocument = _projectEngine.ProcessDesignTime(projectItem); return(codeDocument); }
private DocumentSnapshot CreateRazorDocumentSnapshot(RazorProjectEngine projectEngine, TestRazorProjectItem item, string rootNamespaceName, IReadOnlyList <TagHelperDescriptor> tagHelpers) { var codeDocument = projectEngine.ProcessDesignTime(item); var namespaceNode = (NamespaceDeclarationIntermediateNode)codeDocument .GetDocumentIntermediateNode() .FindDescendantNodes <IntermediateNode>() .FirstOrDefault(n => n is NamespaceDeclarationIntermediateNode); namespaceNode.Content = rootNamespaceName; var sourceText = SourceText.From(new string(item.Content)); var projectWorkspaceState = new ProjectWorkspaceState(tagHelpers, LanguageVersion.Default); var projectSnapshot = TestProjectSnapshot.Create("C:/project.csproj", projectWorkspaceState); var documentSnapshot = Mock.Of <DocumentSnapshot>(d => d.GetGeneratedOutputAsync() == Task.FromResult(codeDocument) && d.FilePath == item.FilePath && d.FileKind == FileKinds.Component && d.GetTextAsync() == Task.FromResult(sourceText) && d.Project == projectSnapshot, MockBehavior.Strict); return(documentSnapshot); }