csharp4405de34 | 1 | using CascadeIDE.Services; |
| 2 | using Xunit; |
| 3 | using TestContext = Xunit.TestContext; |
| 4 | |
| 5 | namespace CascadeIDE.Tests; |
| 6 | |
| 7 | public class CSharpLanguageServiceQuickInfoTests |
| 8 | { |
| 9 | [Fact] |
| 10 | public void GetQuickInfo_OnMethodName_ReturnsSignatureAndSummary() |
| 11 | { |
| 12 | const string path = @"D:\Fake\Hover.cs"; |
| 13 | var src = """ |
| 14 | namespace N; |
| 15 | |
| 16 | public class C |
| 17 | { |
| 18 | /// <summary>Tells a story.</summary> |
| 19 | public void Tell() { } |
| 20 | } |
| 21 | """; |
| 22 | |
| 23 | var svc = new CSharpLanguageService(); |
| 24 | var line = 6; |
| 25 | var col = 17; |
| 26 | var info = svc.GetQuickInfo(path, src, line, col, TestContext.Current.CancellationToken); |
| 27 | |
| 28 | Assert.NotNull(info); |
| 29 | Assert.Contains("Tell", info, StringComparison.Ordinal); |
| 30 | Assert.Contains("Tells a story", info, StringComparison.Ordinal); |
| 31 | } |
| 32 | |
| 33 | [Fact] |
| 34 | public void GetQuickInfo_OutOfRangeLine_ReturnsNull() |
| 35 | { |
| 36 | const string path = @"D:\Fake\Empty.cs"; |
| 37 | var src = "class X { }"; |
| 38 | var svc = new CSharpLanguageService(); |
| 39 | var info = svc.GetQuickInfo(path, src, line: 99, column: 1, TestContext.Current.CancellationToken); |
| 40 | Assert.Null(info); |
| 41 | } |
| 42 | } |
| 43 | |
View only · write via MCP/CIDE