109 references to Scene
Aspire.Tray.Tests (109)
src\Aspire.Tray\Common\TrayPanel.cs (12)
116_ = Scene; 125_ = Scene; 196=> FocusAt(Scene.Targets.Where(target => target.Enabled && IsPrimary(target.Kind)).ToList(), 0); 287var target = Scene.Targets.FirstOrDefault(target => target.Key == key); 309var targets = Scene.Targets.Where(target => target.Enabled).ToList(); 316var targets = Scene.Targets; 422var focused = Scene.Targets.FirstOrDefault(target => target.Key == _focus); 431return MoveFocus(Scene.Targets.Where(target => target.Enabled).ToList(), key == PanelKey.Tab ? 1 : -1, wrap: true); 433var primary = Scene.Targets.Where(target => target.Enabled && IsPrimary(target.Kind)).ToList(); 482var items = Scene.Targets.Where(target => IsActionItem(target.Kind)).ToList(); 486var top = Scene.Targets.FirstOrDefault(target => target.Key == row with { Kind = PanelTargetKind.Row, Item = 0 })?.Bounds.Y ?? bottom; 521var buttons = Scene.Targets.Where(target => IsConfirmTarget(target.Kind)).ToList();
TrayPanelTests.cs (97)
47Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ToggleRecent).HitBounds); 51Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ClearRecent).HitBounds); 71var scene = panel.Scene; 93var scene = CreatePanel(name, TrayPanelPalette.Dark).Scene; 111var scene = CreatePanel(name, TrayPanelPalette.Light).Scene; 123var commands = CreatePanel(name, TrayPanelPalette.Light).Scene.Commands; 131var scene = new TrayPanel(TrayPanelSamples.Typical(), TrayPanelPalette.Light).Scene; 145var toggle = Assert.Single(panel.Scene.Targets, target => target.Kind == PanelTargetKind.ToggleRecent); 151Assert.Equal(2, panel.Scene.Targets.Count(target => target.Kind == PanelTargetKind.Row && target.Key.Section == PanelSection.Recent)); 160Assert.Contains(panel.Scene.Commands.OfType<TextCommand>(), text => text.Text == "No AppHosts running"); 161Assert.Equal(2, panel.Scene.Targets.Count(target => target.Kind == PanelTargetKind.Row)); 194var items = panel.Scene.Targets.Where(target => target.Host == host && target.Bounds.Y > row.Bounds.Bottom).ToList(); 206panel.Scene.Commands.OfType<TextCommand>().Where(text => text.Bounds.Y >= items[0].Bounds.Y && text.Bounds.Bottom <= items[^1].Bounds.Bottom) 224var target = panel.Scene.Targets.Single(target => target.Key == new PanelTargetKey(kind, PanelSection.Running, host.Id, item)); 238Assert.Contains(panel.Scene.Commands.OfType<TextCommand>(), text => text.Text == "Show in File Explorer"); 248Assert.Equal("Unpin Weather", panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.TogglePin).AccessibleName); 249Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind == PanelTargetKind.RemoveRecent); 251Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ToggleRecent).HitBounds); 254var remove = panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.RemoveRecent); 302Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind == PanelTargetKind.OpenIn); 318Assert.Empty(panel.Scene.Commands.OfType<AppIconCommand>()); 325var applications = panel.Scene.Targets.Where(target => target.Kind == PanelTargetKind.OpenIn).ToList(); 327var icons = panel.Scene.Commands.OfType<AppIconCommand>().ToList(); 335Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind == PanelTargetKind.OpenIn); 345Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind is PanelTargetKind.OpenInMenu or PanelTargetKind.OpenIn); 357Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind == PanelTargetKind.CopyPath); 371Assert.All(panel.Scene.Targets.Where(target => target.Kind is PanelTargetKind.CopyPath or PanelTargetKind.TogglePin), 384Assert.Contains(panel.Scene.Commands.OfType<StrokePathCommand>(), stroke => stroke.Color == TrayPanelPalette.Light.Focus); 398Assert.Equal(PanelActionKind.Settings, Click(panel, panel.Scene.Targets.Single(t => t.Kind == PanelTargetKind.Settings).HitBounds).Action?.Kind); 399Assert.Equal(PanelActionKind.Quit, Click(panel, panel.Scene.Targets.Single(t => t.Kind == PanelTargetKind.Quit).HitBounds).Action?.Kind); 400Assert.Equal(PanelActionKind.Documentation, Click(panel, panel.Scene.Targets.Single(t => t.Kind == PanelTargetKind.Documentation).HitBounds).Action?.Kind); 450var before = panel.Scene.Commands.Count; 454var hovered = panel.Scene.Commands.Count; 460Assert.Equal(before, panel.Scene.Commands.Count); 467var scene = panel.Scene; 474Assert.Equal(footer, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.Quit).Bounds); 479var last = panel.Scene.Targets.Last(target => target.Kind == PanelTargetKind.ToggleRecent); 491var first = panel.Scene.Targets.FirstOrDefault(target => target.Kind == PanelTargetKind.Row && target.Host == state.AppHosts[0]); 512var focused = panel.Scene.Targets.Single(target => target.Key == panel.FocusedTarget); 515Assert.Contains(panel.Scene.Commands.OfType<StrokePathCommand>(), stroke => stroke.Color == TrayPanelPalette.Light.Focus); 525var enabled = panel.Scene.Targets.Count(target => target.Enabled); 532Assert.Equal(panel.Scene.Targets.Where(target => target.Enabled).Select(target => target.Key), visited); 559Assert.Contains(panel.Scene.Targets, target => target.Kind == PanelTargetKind.Row && target.Host == state.AppHosts[1]); 579Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ClearRecent).HitBounds); 593Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ClearRecent).HitBounds); 595var response = Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ConfirmCancel).HitBounds); 599Assert.Contains(panel.Scene.Targets, target => target.Kind == PanelTargetKind.ToggleRecent); 606Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ClearRecent).HitBounds); 608var action = Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.Documentation).HitBounds).Action; 622_ = panel.Scene; 632var response = Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ClearRecent).HitBounds); 636var texts = panel.Scene.Commands.OfType<TextCommand>().Select(text => text.Text).ToList(); 639Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind is PanelTargetKind.ToggleRecent); 641var accept = panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ConfirmAccept); 657Assert.Contains(panel.Scene.Commands.OfType<TextCommand>(), text => text.Text == missing.Id.AppHostPath); 668Assert.Equal(PanelActionKind.Settings, Click(panel, panel.Scene.Targets.Single(t => t.Kind == PanelTargetKind.Settings).HitBounds).Action?.Kind); 674Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind == PanelTargetKind.Row); 676var launch = panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.LaunchAtSignIn); 683var texts = panel.Scene.Commands.OfType<TextCommand>().Select(text => text.Text).ToList(); 688Assert.True(panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.LaunchAtSignIn).Checked); 697var launch = panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.LaunchAtSignIn); 701Assert.Contains(panel.Scene.Commands.OfType<TextCommand>(), text => text.Text == TraySettingsText.StableNativeInstallationRequired); 710var launch = panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.LaunchAtSignIn); 713Assert.Contains(panel.Scene.Commands.OfType<TextCommand>(), 734Assert.Null(Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.Back).HitBounds).Action); 777_ = panel.Scene; 828var scene = new TrayPanel(TrayPanelSamples.Errors(), TrayPanelPalette.Light).Scene; 863var scene = panel.Scene; 894var scene = new TrayPanel(state, TrayPanelPalette.Light).Scene; 910Assert.Contains(withNotice.Scene.Commands.OfType<TextCommand>(), text => text.Text.StartsWith("Unable to save", StringComparison.Ordinal)); 1024Click(panel, panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ClearRecent).HitBounds); 1025var accept = panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ConfirmAccept); 1026var label = Assert.Single(panel.Scene.Commands.OfType<TextCommand>(), text => text.Bounds == accept.Bounds); 1027var fill = panel.Scene.Commands.OfType<FillPathCommand>().Last(fill => fill.Path.GetControlBounds().Contains(accept.Bounds.CenterX, accept.Bounds.CenterY) 1130var scene = new TrayPanel(TrayPanelSamples.Errors(), palette).Scene; 1142var svg = TrayPanelSvgRenderer.Render(CreatePanel(name, TrayPanelPalette.Dark).Scene); 1171var row = panel.Scene.Targets.Where(target => target.Kind == PanelTargetKind.Row).ElementAt(1); 1180File.WriteAllText(path, TrayPanelSvgRenderer.Render(panel.Scene, logo, margin: 24)); 1192var scene = CreatePanel(name, TrayPanelPalette.Light).Scene; 1205var scene = new TrayPanel(state, TrayPanelPalette.Light).Scene; 1223panel.Invoke(panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ClearRecent).Key); 1225var strip = panel.Scene.Accessibility.SkipWhile(element => element.Key.Label != "confirm.question").Take(4).ToList(); 1242Assert.Null(panel.Invoke(panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ClearRecent).Key).Action); 1246var accept = panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ConfirmAccept).Key; 1269var last = panel.Scene.Accessibility.Last(element => element.Target?.Kind == PanelTargetKind.Row); 1271var status = panel.Scene.Accessibility.Single(element => element.Key.Label == "header.status"); 1278var visible = panel.Scene.Accessibility.Single(element => element.Key == last.Key); 1281Assert.True(panel.Scene.Accessibility.Single(element => element.Key.Label == "section.running").IsOffscreen); 1290var launch = panel.Scene.Accessibility.Single(element => element.Target?.Kind == PanelTargetKind.LaunchAtSignIn); 1297panel.Scene.Accessibility.Take(3).Select(element => element.Name)); 1313panel.Scene.Targets.TakeLast(3).Select(target => target.Tooltip)); 1314Assert.All(panel.Scene.Targets.Where(target => target.Kind is PanelTargetKind.Row or PanelTargetKind.ToggleRecent or PanelTargetKind.ClearRecent), 1320Assert.Equal("Back", panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.Back).Tooltip); 1321Assert.Equal("Close settings", panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.Settings).Tooltip); 1330var quit = panel.Scene.Accessibility.Single(element => element.Target?.Kind == PanelTargetKind.Quit); 1341var scene = new TrayPanel(TrayPanelSamples.Typical(), TrayPanelPalette.Light).Scene; 1351=> panel.Scene.Targets.Single(target => target.Kind == kind && target.Host == host);