private string AssertSemanticTokenEdits(string txt, SemanticTokensOrSemanticTokensEdits expectedEdits, bool isRazor, string previousResultId, out RazorSemanticTokensInfoService outService, RazorSemanticTokensInfoService service = null) { // Arrange if (service is null) { service = GetDefaultRazorSemanticTokenInfoService(); } outService = service; RazorCodeDocument codeDocument; if (isRazor) { codeDocument = CreateRazorDocument(txt, DefaultTagHelpers); } else { codeDocument = CreateCodeDocument(txt, DefaultTagHelpers); } // Act var edits = service.GetSemanticTokensEdits(codeDocument, previousResultId); // Assert if (expectedEdits.IsSemanticTokensEdits) { for (var i = 0; i < expectedEdits.SemanticTokensEdits.Edits.Count; i++) { Assert.Equal(expectedEdits.SemanticTokensEdits.Edits[i], edits.SemanticTokensEdits.Edits[i]); } return(edits.SemanticTokensEdits.ResultId); } else { Assert.Equal(expectedEdits.SemanticTokens.Data, edits.SemanticTokens.Data); return(edits.SemanticTokens.ResultId); } }
private string AssertSemanticTokenEdits(string txt, SemanticTokensFullOrDelta expectedEdits, bool isRazor, string previousResultId, out RazorSemanticTokensInfoService outService, RazorSemanticTokensInfoService service = null) { // Arrange if (service is null) { service = GetDefaultRazorSemanticTokenInfoService(); } outService = service; RazorCodeDocument codeDocument; if (isRazor) { codeDocument = CreateRazorDocument(txt, DefaultTagHelpers); } else { codeDocument = CreateCodeDocument(txt, DefaultTagHelpers); } // Act var edits = service.GetSemanticTokensEdits(codeDocument, previousResultId); // Assert if (expectedEdits.IsDelta) { for (var i = 0; i < expectedEdits.Delta.Edits.Count(); i++) { Assert.Equal(expectedEdits.Delta.Edits.ElementAt(i), edits.Delta.Edits.ElementAt(i), SemanticEditComparer.Instance); } return(edits.Delta.ResultId); } else { Assert.Equal(expectedEdits.Full.Data, edits.Full.Data, ImmutableArrayIntComparer.Instance); return(edits.Full.ResultId); } }
private string AssertSemanticTokens(string txt, IEnumerable <int> expectedData, bool isRazor, out RazorSemanticTokensInfoService outService, RazorSemanticTokensInfoService service = null, OmniSharpRange location = null) { // Arrange if (service is null) { service = GetDefaultRazorSemanticTokenInfoService(); } outService = service; RazorCodeDocument codeDocument; if (isRazor) { codeDocument = CreateRazorDocument(txt, DefaultTagHelpers); } else { codeDocument = CreateCodeDocument(txt, DefaultTagHelpers); } // Act var tokens = service.GetSemanticTokens(codeDocument, location); // Assert Assert.Equal(expectedData, tokens.Data); return(tokens.ResultId); }