1 instantiation of NativeSmokeHarness
aspire-tray (1)
NativeSmokeHarness.cs (1)
70var harness = new NativeSmokeHarness(interactiveSmoke);
62 references to NativeSmokeHarness
aspire-tray (62)
NativeSmokeHarness.cs (1)
70var harness = new NativeSmokeHarness(interactiveSmoke);
Program.cs (1)
69return NativeSmokeHarness.Run(options.CliPath, seconds, options.InteractiveSmoke);
TrayApplication.NativeSmoke.cs (60)
85NativeSmokeHarness.Require((defaultId & 0xFFFF) == (uint)pending.DefaultId && (defaultId >> 16) == 0x534B, 90NativeSmokeHarness.Require(checkbox != 0 && ReadControlText(checkbox) == "&Don't ask again" 93NativeSmokeHarness.Require(ReadControlText(NativeMethods.GetDlgItem(dialog, StopDetailId)) == _stopDetail, 98NativeSmokeHarness.Require(NativeMethods.SendMessage(checkbox, NativeMethods.BmGetCheck, 0, 0) == 1, 144NativeSmokeHarness.Require(row.DetailsText == expected 152NativeSmokeHarness.Require(_menuOpen, "Menu selection requires the native tracking loop."); 166NativeSmokeHarness.Require(IsTooltipVisibleForSmoke && _menuTooltipRow?.Id == id, 168NativeSmokeHarness.Require(NativeMethods.GetFocus() == _tooltipFocusForSmoke, "The tooltip stole keyboard focus."); 175NativeSmokeHarness.Require(new string(buffer) == expected, "The native tooltip must contain the full, untruncated value."); 182NativeSmokeHarness.Require(bounds.Right > bounds.Left && bounds.Bottom > bounds.Top 191NativeSmokeHarness.Require(!IsTooltipVisibleForSmoke && !_menuTooltipVisible && _menuTooltipRow is null, 201NativeSmokeHarness.Require(_iconAdded, "Explorer restart did not restore the native icon."); 216NativeSmokeHarness.Require(_artwork is { Original: not 0, Connected: not 0, Disconnected: not 0 } 218NativeSmokeHarness.Require(_iconAdded && _iconData.Icon == _artwork!.TrayIcon(GetIconState(state)), 220NativeSmokeHarness.Require(Enum.GetValues<IconState>().Select(_artwork!.TrayIcon).Distinct().Count() == 4, 222NativeSmokeHarness.Require(_artwork.DocumentationBitmap != 0 && _artwork.SettingsBitmap != 0 225NativeSmokeHarness.Require(Enum.GetValues<MenuStatus>().Select(_artwork.Status).Distinct().Count() == 5, 230NativeSmokeHarness.Require(menu.Rows.Select(row => row.Id).SequenceEqual(state.AppHosts.Concat(state.RecentAppHosts).Select(row => row.Id)), 232NativeSmokeHarness.Require(NativeMethods.GetMenuItemCount(menu.Handle) == state.AppHosts.Count + 7 + (state.ShowStatus ? 1 : 0), 236NativeSmokeHarness.Require(rootTitles.TakeLast(4).SequenceEqual(new[] { "Documentation", SettingsMenuLabel, "", "Quit Aspire" }) 243NativeSmokeHarness.Require(item.Submenu == row.Submenu && item.Submenu != 0, "A host row is not an action submenu."); 244NativeSmokeHarness.Require(((item.State & 3) == 0) == (host is not null), "Stale row enabled state is incorrect."); 245NativeSmokeHarness.Require(item.Bitmap != 0 250NativeSmokeHarness.Require((row.Dashboard != 0) == host.IsRunning, 262NativeSmokeHarness.Require(titles[..^2].SequenceEqual(firstActions.Concat([ 267NativeSmokeHarness.Require((ReadItem(row.Submenu, row.Dashboard, false).State & 0x1000) != 0, 270NativeSmokeHarness.Require((ReadItem(row.Submenu, (uint)(firstActions.Length + 1), true).Type & NativeMethods.MfSeparator) != 0, 272NativeSmokeHarness.Require(row.DetailsPosition == (uint)(titles.Length - 1) 277NativeSmokeHarness.Require((status.State & 3) != 0 && status.Id == 0 && status.Submenu == 0 282NativeSmokeHarness.Require((details.State & 3) != 0 && details.Id == 0 && details.Submenu == 0, 284NativeSmokeHarness.Require(ReadText(row.Parent, row.Position, true) 287NativeSmokeHarness.Require(row.DetailsText == AppHostPresentation.GetMenuDetailsText(row.Id.AppHostPath, 291NativeSmokeHarness.Require(StringInfo.ParseCombiningCharacters(titles[^1].Replace("&&", "&", StringComparison.Ordinal)).Length <= 44, 303NativeSmokeHarness.Require(GetMenuStatusText(host, true) == "Running - all resources healthy" 308NativeSmokeHarness.Require(GetMenuStatusText(host with { IsStarting = true }, true) == "Starting AppHost..." 323NativeSmokeHarness.Require(GetMenuStatus(host with { Health = health }, true) == status, 326NativeSmokeHarness.Require(GetMenuStatus(host with { IsStarting = true }, true) == MenuStatus.Warning 354NativeSmokeHarness.Require(item.Bitmap == expectedBitmap, 368NativeSmokeHarness.Require(((item.State & 3) == 0) == enabled && item.Bitmap == 0, "Native action state or text-only presentation is incorrect."); 424NativeSmokeHarness.Require(target != 0 && NativeMethods.IsWindowVisible(target) != 0, "The Settings control is not visible."); 446NativeSmokeHarness.Require(_settingsWindow == 0 && _settingsIcon == 0 454NativeSmokeHarness.Require(_settingsWindow != 0 && _settingsIcon != 0 && _settingsMenuFilter != 0, 456NativeSmokeHarness.Require(NativeMethods.IsThemeActive() == 0 || NativeMethods.IsAppThemed() != 0, 458NativeSmokeHarness.Require(ReadControlText(_settingsWindow) == "Aspire Tray Settings" 462NativeSmokeHarness.Require(NativeMethods.SendMessage(_settingsCheckbox, NativeMethods.BmGetCheck, 0, 0) == (nint)checkState 464NativeSmokeHarness.Require(ReadControlText(_settingsStatus) == status, "The Settings status/error text is incorrect."); 466NativeSmokeHarness.Require((NativeMethods.IsWindowVisible(_settingsStatus) != 0) == showDetails 484NativeSmokeHarness.Require(visibleControls.SequenceEqual(expectedControls), 491NativeSmokeHarness.Require(new ReadOnlySpan<char>(className, length).Equals("Static", StringComparison.OrdinalIgnoreCase), 498NativeSmokeHarness.Require((!showDetails || statusBounds.Bottom < refreshBounds.Top) 501NativeSmokeHarness.Require((!showDetails || _settingsControlBounds[_settingsRefresh].Bottom < _settingsGeneralBounds.Bottom) 505NativeSmokeHarness.Require(ReadControlText(_settingsVersion) == AboutVersionText, "Settings About information is incomplete."); 506NativeSmokeHarness.Require(NativeMethods.SendMessage(_settingsLogo, 0x171, 0, 0) == _settingsIcon 511NativeSmokeHarness.Require(ReadControlText(_settingsCheckbox) == "&Launch Aspire Tray when I sign in", 513NativeSmokeHarness.Require(NativeMethods.IsChild(_settingsWindow, NativeMethods.GetFocus()) != 0, 530NativeSmokeHarness.Require(_settingsScrollMaximum > 0, "Long Settings details did not create a scrollable viewport."); 532NativeSmokeHarness.Require(window.Top >= monitor.Work.Top && window.Bottom <= monitor.Work.Bottom, 537NativeSmokeHarness.Require(_settingsScrollPosition == 0, "Settings scrollbar did not return to the top."); 541NativeSmokeHarness.Require(scroll.Position == _settingsScrollMaximum && _settingsScrollPosition == scroll.Position, 558NativeSmokeHarness.Require(NativeMethods.GetFocus() == control