48 references to TrayIconStatus
Aspire.Tray.Tests (48)
LinuxTrayIconsTests.cs (8)
22var path = icons.GetPath(Enum.Parse<TrayIconStatus>(status)); 24Assert.Equal(path, icons.GetPath(Enum.Parse<TrayIconStatus>(status))); 53icons.GetPath(TrayIconStatus.Running), icons.GetPath(TrayIconStatus.Attention))); 55source, icons.GetPath(TrayIconStatus.Connecting))); 86Assert.Equal(source, icons.GetPath(TrayIconStatus.Idle)); 87rendered = icons.GetPath(TrayIconStatus.Running); 103var error = Assert.Throws<InvalidOperationException>(() => icons.GetPath(TrayIconStatus.Running));
src\Aspire.Tray\Common\TrayIconStatus.cs (17)
22public static TrayIconStatus Get(TrayViewState state) => state.Discovery switch 24DiscoveryState.Connecting => TrayIconStatus.Connecting, 25DiscoveryState.Live when !state.HasActiveAppHosts => TrayIconStatus.Idle, 26DiscoveryState.Live => NeedsAttention(state) ? TrayIconStatus.Attention : TrayIconStatus.Running, 27_ => TrayIconStatus.Unavailable 31public static bool IsDimmed(TrayIconStatus status) => status is TrayIconStatus.Connecting or TrayIconStatus.Unavailable; 34public static bool HasBadge(TrayIconStatus status) => status is TrayIconStatus.Running or TrayIconStatus.Attention; 36public static string Describe(TrayIconStatus status) => status switch 38TrayIconStatus.Running => "AppHosts running", 39TrayIconStatus.Attention => "AppHosts need attention", 40TrayIconStatus.Idle => "No AppHosts running", 41TrayIconStatus.Connecting => "Connecting to discovery",
src\Aspire.Tray\Linux\LinuxTrayApplication.cs (2)
35private TrayIconStatus? _iconStatus; 331var status = TrayIconStatusRules.Get(state);
src\Aspire.Tray\Linux\LinuxTrayIcons.cs (5)
11private readonly Dictionary<TrayIconStatus, string> _paths = []; 14internal string GetPath(TrayIconStatus status) 20if (status == TrayIconStatus.Idle) 31internal static void Render(string source, string destination, TrayIconStatus status) 59var color = status == TrayIconStatus.Running ? 0x269653 : 0xE58A00;
TrayIconStatusTests.cs (16)
13Assert.Equal(TrayIconStatus.Idle, TrayIconStatusRules.Get(TrayPanelSamples.Empty())); 14Assert.False(TrayIconStatusRules.HasBadge(TrayIconStatus.Idle)); 15Assert.False(TrayIconStatusRules.IsDimmed(TrayIconStatus.Idle)); 24Assert.Equal(TrayIconStatus.Running, TrayIconStatusRules.Get(state)); 25Assert.True(TrayIconStatusRules.HasBadge(TrayIconStatus.Running)); 35Assert.Equal(TrayIconStatus.Attention, TrayIconStatusRules.Get(state)); 46Assert.Equal(TrayIconStatus.Attention, TrayIconStatusRules.Get(failedStop)); 47Assert.Equal(TrayIconStatus.Attention, TrayIconStatusRules.Get(notice)); 48Assert.Equal(TrayIconStatus.Idle, TrayIconStatusRules.Get(noticeWhileIdle)); 56Assert.Equal(TrayIconStatus.Running, TrayIconStatusRules.Get(state)); 60[InlineData((int)DiscoveryState.Connecting, (int)TrayIconStatus.Connecting)] 61[InlineData((int)DiscoveryState.Disconnected, (int)TrayIconStatus.Unavailable)] 62[InlineData((int)DiscoveryState.Incompatible, (int)TrayIconStatus.Unavailable)] 63[InlineData((int)DiscoveryState.LimitExceeded, (int)TrayIconStatus.Unavailable)] 67var status = TrayIconStatusRules.Get(state); 69Assert.Equal((TrayIconStatus)expected, status);