139 references to TestServices
Microsoft.VisualStudioCode.Razor.IntegrationTests (139)
Services\CodeActionService.cs (3)
20await TestServices.Input.PressWithPrimaryModifierAsync('.'); 35timeout ??= TestServices.Settings.LspTimeout; 41await TestServices.Playwright.Page.Locator(".action-widget, .context-view.monaco-menu-container")
Services\CompletionServices.cs (8)
21await TestServices.Input.PressWithPrimaryModifierAsync(SpecialKey.Space); 36timeout ??= TestServices.Settings.LspTimeout; 41await TestServices.Playwright.Page.Locator(".suggest-widget.visible") 67var itemTexts = await TestServices.Playwright.Page.EvaluateAsync<string[]>(@" 105TestServices.Logger.Log($"Found {results.Count} completion items via JS"); 108TestServices.Logger.Log($"First few items: {string.Join(", ", results.Take(5))}"); 115var debugInfo = await TestServices.Playwright.Page.EvaluateAsync<string>(@" 140TestServices.Logger.Log($"Suggest widget debug: {debugInfo}");
Services\DiagnosticsServices.cs (10)
18var errorCount = await TestServices.Playwright.Page.Locator(".squiggly-error").CountAsync(); 27var warningCount = await TestServices.Playwright.Page.Locator(".squiggly-warning").CountAsync(); 36var unnecessaryCount = await TestServices.Playwright.Page.Locator(".monaco-editor .squiggly-inline-unnecessary").CountAsync(); 45timeout ??= TestServices.Settings.LspTimeout; 58timeout ??= TestServices.Settings.LspTimeout; 71await TestServices.Editor.ExecuteCommandAsync("View: Toggle Problems"); 74await TestServices.Playwright.Page.Locator(".markers-panel") 92var problemItems = await TestServices.Playwright.Page.EvaluateAsync<string[]>(@" 110TestServices.Logger.Log($"Found {problems.Count} problems: {string.Join("; ", problems.Take(5))}"); 121timeout ??= TestServices.Settings.LspTimeout;
Services\EditorService.cs (42)
26TestServices.Logger.Log("WaitForEditorTextChangeAsync: No file currently open"); 30var filePath = Path.Combine(TestServices.Workspace.WorkspacePath, _currentOpenFile); 37TestServices.Logger.Log($"WaitForEditorTextChangeAsync: BEFORE contents ({originalContents.Length} chars):\n{originalContents}"); 41TestServices.Logger.Log($"WaitForEditorTextChangeAsync: Failed to read original file: {ex.Message}"); 68TestServices.Logger.Log($"WaitForEditorTextChangeAsync: AFTER contents ({currentContents.Length} chars):\n{currentContents}"); 74TestServices.Logger.Log($"WaitForEditorTextChangeAsync: Timeout waiting for contents change, returning current contents"); 84TestServices.Logger.Log($"WaitForEditorTextChangeAsync: AFTER contents (fallback, {currentContents.Length} chars):\n{currentContents}"); 124await TestServices.Playwright.Page.Locator(".quick-input-widget .quick-input-box input") 140await TestServices.Playwright.Page.Locator(".quick-input-widget") 158var activeTabLocator = TestServices.Playwright.Page.Locator(".tab.active .monaco-icon-label-container"); 175var statusText = await TestServices.Playwright.Page.EvaluateAsync<string?>(@" 232await TestServices.Input.PressWithControlAsync('g'); 235await TestServices.Input.TypeAsync($"{line}:{column}"); 236await TestServices.Input.PressAsync(SpecialKey.Enter); 253await TestServices.Input.PressWithPrimaryModifierAsync('a'); 263TestServices.Logger.Log("Saving document."); 264await TestServices.Input.PressWithPrimaryModifierAsync('s'); 286var dirtyCount = await TestServices.Playwright.Page.Locator(".tab.active.dirty").CountAsync(); 288TestServices.Logger.Log("Dirty indicator: " + (isDirty ? "present" : "not present")); 299await TestServices.Input.PressWithShiftPrimaryModifierAsync('p'); 309await TestServices.Input.TypeAsync(command); 315var itemCount = await TestServices.Playwright.Page.Locator(".quick-input-list .monaco-list-row").CountAsync(); 320await TestServices.Input.PressAsync(SpecialKey.Enter); 333await TestServices.Input.PressWithPrimaryModifierAsync('f'); 336await TestServices.Playwright.Page.Locator(".editor-widget.find-widget") 343await TestServices.Input.TypeAsync(word); 349await TestServices.Input.PressAsync(SpecialKey.Escape); 351await TestServices.Input.PressAsync(SpecialKey.Escape); 356await TestServices.Playwright.Page.Locator(".editor-widget.find-widget.visible") 366await TestServices.Input.PressAsync(SpecialKey.Escape); 368await TestServices.Playwright.TakeScreenshotAsync($"GoToWord_{word}_StillVisible"); 378await TestServices.Input.PressWithShiftAsync(SpecialKey.ArrowLeft); 384await TestServices.Input.PressAsync(SpecialKey.ArrowLeft); 393TestServices.Logger.Log($"Opening file: {relativePath}"); 396await TestServices.Input.PressWithPrimaryModifierAsync('p'); 399await TestServices.Playwright.Page.Locator(".quick-input-widget .quick-input-box input") 406await TestServices.Input.TypeAsync(relativePath); 412var listItemCount = await TestServices.Playwright.Page.Locator(".quick-input-list .monaco-list-row").CountAsync(); 417await TestServices.Input.PressAsync(SpecialKey.Enter); 424var activeTabLocator = TestServices.Playwright.Page.Locator(".tab.active .monaco-icon-label-container"); 430TestServices.Settings.LspTimeout); 435TestServices.Logger.Log($"File opened: {relativePath}");
Services\FormattingServices.cs (6)
17await TestServices.Editor.SaveAsync(); 18TestServices.Logger.Log("Formatting document via command palette..."); 19await TestServices.Editor.ExecuteCommandAsync("Format Document"); 20TestServices.Logger.Log("Format Document command executed"); 21await TestServices.Editor.WaitForEditorDirtyAsync(); 22TestServices.Logger.Log("Editor is dirty after formatting");
Services\HoverServices.cs (5)
22var cursorLocator = TestServices.Playwright.Page.Locator(".cursor"); 34await TestServices.Playwright.Page.Mouse.MoveAsync(box.X + (box.Width / 2), box.Y + (box.Height / 2)); 49timeout ??= TestServices.Settings.LspTimeout; 54await TestServices.Playwright.Page.Locator(".monaco-hover-content").First 73var hoverLocator = TestServices.Playwright.Page.Locator(".monaco-hover-content");
Services\InputService.cs (7)
32await TestServices.Playwright.Page.Keyboard.TypeAsync(text, new Microsoft.Playwright.KeyboardTypeOptions { Delay = delayMs }); 40await TestServices.Playwright.Page.Keyboard.PressAsync(GetKeyString(key)); 49await TestServices.Playwright.Page.Keyboard.PressAsync($"Shift+{GetKeyString(key)}"); 58await TestServices.Playwright.Page.Keyboard.PressAsync($"{s_primaryModifier}+{key}"); 67await TestServices.Playwright.Page.Keyboard.PressAsync($"{s_primaryModifier}+{GetKeyString(key)}"); 76await TestServices.Playwright.Page.Keyboard.PressAsync($"{s_primaryModifier}+Shift+{key}"); 86await TestServices.Playwright.Page.Keyboard.PressAsync($"Control+{key}");
Services\NavigationServices.cs (14)
18timeout ??= TestServices.Settings.LspTimeout; 19var originalFile = await TestServices.Editor.GetCurrentFileNameAsync(); 20var originalPosition = await TestServices.Editor.GetCursorPositionAsync(); 22await TestServices.Input.PressAsync(SpecialKey.F12); 28TestServices.Editor.GetCurrentFileNameAsync, 38var currentFile = await TestServices.Editor.GetCurrentFileNameAsync(); 39var currentPosition = await TestServices.Editor.GetCursorPositionAsync(); 40var peekVisible = await TestServices.Playwright.Page.Locator(".peekview-widget").CountAsync() > 0; 59timeout ??= TestServices.Settings.LspTimeout; 61await TestServices.Input.PressWithShiftAsync(SpecialKey.F12); 67var peekViewCount = await TestServices.Playwright.Page.Locator(".peekview-widget").CountAsync(); 68var referencesPanelCount = await TestServices.Playwright.Page.Locator("[id='workbench.panel.referencesView']").CountAsync(); 80var peekItemsCount = await TestServices.Playwright.Page.Locator(".peekview-widget .monaco-list-row").CountAsync(); 87var panelItemsCount = await TestServices.Playwright.Page.Locator("[id='workbench.panel.referencesView'] .monaco-list-row").CountAsync();
Services\PlaywrightService.cs (20)
35TestServices.Logger.Log("Cannot take screenshot - page not connected"); 39var screenshotsDir = TestServices.Settings.ScreenshotsDir; 42TestServices.Logger.Log("Cannot take screenshot - ScreenshotsDir not configured"); 62TestServices.Logger.Log($"Screenshot saved: {filepath}"); 67TestServices.Logger.Log($"Failed to take screenshot: {ex.Message}"); 78TestServices.Logger.Log("Ensuring Playwright browsers are installed..."); 96TestServices.Logger.Log($"Connecting to VS Code via CDP: {cdpUrl}"); 105TestServices.Logger.Log($"CDP connection attempt ({11 - retries}/10)..."); 119TestServices.Logger.Log("CDP connection established, looking for workspace page..."); 127TestServices.Logger.Log("Connected to VS Code workspace window successfully"); 134TestServices.Logger.Log("Connected to VS Code (fallback to first page)"); 139TestServices.Logger.Log($"Failed to connect (attempt {11 - retries}), retrying... ({ex.GetType().Name}: {ex.Message})"); 150TestServices.Logger.Log($"Looking for workspace page with folder: {workspaceName}"); 170TestServices.Logger.Log($"Found VS Code page with title: {title}"); 174TestServices.Logger.Log("Matched workspace by title"); 183TestServices.Logger.Log($"Explorer shows: {explorerText}"); 186TestServices.Logger.Log("Matched workspace by explorer"); 193TestServices.Logger.Log($"Error checking page: {ex.Message}"); 200TestServices.Logger.Log("Only one VS Code page found, using it"); 204TestServices.Logger.Log($"Found {pagesWithWorkbench.Count} VS Code pages, could not determine correct one");
Services\RazorService.cs (17)
20TestServices.Logger.Log("Waiting for Razor language server to be ready (checking semantic tokens)..."); 26TestServices.Logger.Log($"Razor ready check attempt {attempt}..."); 31await TestServices.Editor.OpenFileAsync("Components/Pages/Home.razor"); 35await TestServices.Editor.GoToWordAsync("PageTitle", selectWord: false); 38await TestServices.Editor.ExecuteCommandAsync("Developer: Inspect Editor Tokens and Scopes"); 50TestServices.Logger.Log("Token inspector did not show razorComponentElement"); 54await TestServices.Input.PressAsync(SpecialKey.Escape); 57await TestServices.Input.PressWithPrimaryModifierAsync('w'); 61var fileName = await TestServices.Editor.GetCurrentFileNameAsync(); 68TestServices.Logger.Log($"Razor language server is ready - semantic tokens verified (attempt {attempt})"); 72TestServices.Logger.Log($"Razor tokens not yet available (attempt {attempt}), retrying..."); 80TestServices.Logger.Log($"Razor ready check attempt {attempt} failed: {ex.Message}"); 85await TestServices.Input.PressAsync(SpecialKey.Escape); 86await TestServices.Input.PressWithPrimaryModifierAsync('w'); 108var tokenContent = await TestServices.Playwright.Page.EvaluateAsync<string?>(@" 147TestServices.Logger.Log("Token inspector content not found or no razorComponentElement"); 151TestServices.Logger.Log($"Found razorComponentElement in token inspector");
Services\WorkspaceService.cs (7)
33TestServices.Logger.Log($"Creating test workspace at: {_workspacePath}"); 57TestServices.Logger.Log($"dotnet new output: {output}"); 58TestServices.Logger.Log($"dotnet new error: {error}"); 62TestServices.Logger.Log("Test workspace created successfully"); 65TestServices.Logger.Log("Restoring packages..."); 92TestServices.Logger.Log("Packages restored"); 105TestServices.Logger.Log("Workspace cleaned up");