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