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