7 instantiations of TraySavedState
Aspire.Tray.Tests (7)
src\Aspire.Tray\Common\TraySavedState.cs (1)
16
public static TraySavedState Empty { get; } =
new
([]);
TrayControllerPreferencesTests.cs (3)
39
var saved = new
TraySavedState
(paths.Select(path => new SavedAppHost(path, true, true)).ToArray());
55
var saved = new
TraySavedState
(Enumerable.Range(0, 20)
71
var saved = new
TraySavedState
(paths.Select(path => new SavedAppHost(path, false, true)).ToArray());
TraySavedStateTests.cs (2)
102
var state = new
TraySavedState
(paths.Select(path => new SavedAppHost(path, false, true)).ToArray());
112
var state = new
TraySavedState
(Enumerable.Range(0, 51)
TrayUserPreferencesTests.cs (1)
28
var saved = new
TraySavedState
([new(host, true, true)]);
88 references to TraySavedState
Aspire.Tray.Tests (88)
Helpers\TestTraySavedStateStore.cs (4)
6
internal sealed class TestTraySavedStateStore(
TraySavedState
state) : ITraySavedStateStore
9
private
TraySavedState
_state = state;
35
public
TraySavedState
Load()
43
public void Save(
TraySavedState
state)
src\Aspire.Tray\Common\FileTraySavedStateStore.cs (6)
39
public
TraySavedState
Load()
51
var state = contents is null ?
TraySavedState
.Empty
76
public void Save(
TraySavedState
state)
166
private static void Validate(
TraySavedState
state)
184
|| (host.IsRecent && ++recent >
TraySavedState
.MaximumRecentAppHosts))
194
[JsonSerializable(typeof(
TraySavedState
))]
src\Aspire.Tray\Common\TrayConfiguration.cs (4)
85
return
TraySavedState
.DefaultRecentAppHostLimit;
94
if (!valid || limit is < 0 or >
TraySavedState
.MaximumRecentAppHosts)
102
return
TraySavedState
.DefaultRecentAppHostLimit;
131
+ $"and {RecentAppHostLimitKey} must be an integer from 0 to {
TraySavedState
.MaximumRecentAppHosts}. "
src\Aspire.Tray\Common\TrayController.cs (10)
20
private
TraySavedState
_savedState =
TraySavedState
.Empty;
36
: this(client, savedStateStore,
TraySavedState
.DefaultRecentAppHostLimit)
48
ArgumentOutOfRangeException.ThrowIfGreaterThan(recentAppHostLimit,
TraySavedState
.MaximumRecentAppHosts);
62
var
trimmed = _savedState.Trim(_recentAppHostLimit);
171
private void UpdateSavedState(Func<
TraySavedState
,
TraySavedState
> update)
179
var
next = update(_savedState);
527
var
state = _savedState;
541
private bool TrySaveStateLocked(
TraySavedState
state)
src\Aspire.Tray\Common\TraySavedState.cs (14)
16
public static
TraySavedState
Empty { get; } = new([]);
27
public
TraySavedState
Remember(string appHostPath) => Remember(appHostPath, DefaultRecentAppHostLimit);
29
public
TraySavedState
Remember(string appHostPath, int recentAppHostLimit)
39
public
TraySavedState
SetPinned(string appHostPath, bool pinned)
53
public
TraySavedState
ClearRecent()
56
public
TraySavedState
RemoveRecent(string appHostPath)
64
public
TraySavedState
RemoveMissingPins(IReadOnlySet<string> missingPaths)
67
public
TraySavedState
Trim(int recentAppHostLimit)
88
TraySavedState
Load();
89
void Save(
TraySavedState
state);
94
private
TraySavedState
_state =
TraySavedState
.Empty;
96
public
TraySavedState
Load() => _state;
98
public void Save(
TraySavedState
state) => _state = state;
TrayControllerPinPruningTests.cs (10)
22
store.Save(
TraySavedState
.Empty.Remember(retained).SetPinned(retained, true)
41
var
reloaded = new FileTraySavedStateStore(directory.StatePath).Load();
53
store.Save(
TraySavedState
.Empty.Remember(path).SetPinned(path, true));
80
store.Save(
TraySavedState
.Empty.Remember(path).SetPinned(path, true));
111
store.Save(
TraySavedState
.Empty.Remember(path).SetPinned(path, true));
137
store.Save(
TraySavedState
.Empty.Remember(path));
161
store.Save(
TraySavedState
.Empty.Remember(path).SetPinned(path, true));
200
store.Save(
TraySavedState
.Empty.Remember(path).SetPinned(path, true));
240
store.Save(
TraySavedState
.Empty.Remember(restricted).Remember(deleted));
265
store.Save(
TraySavedState
.Empty.Remember(path).SetPinned(path, true));
TrayControllerPreferencesTests.cs (7)
39
var
saved = new TraySavedState(paths.Select(path => new SavedAppHost(path, true, true)).ToArray());
43
var
reloaded = new FileTraySavedStateStore(directory.StatePath).Load();
55
var
saved = new TraySavedState(Enumerable.Range(0, 20)
61
var
reloaded = new FileTraySavedStateStore(directory.StatePath).Load();
71
var
saved = new TraySavedState(paths.Select(path => new SavedAppHost(path, false, true)).ToArray());
95
var store = new TestTraySavedStateStore(
TraySavedState
.Empty);
123
var store = new TestTraySavedStateStore(
TraySavedState
.Empty);
TrayControllerSavedStateTests.cs (2)
181
store.Save(
TraySavedState
.Empty.Remember(pinned).Remember(recent).SetPinned(pinned, true));
429
store.Save(
TraySavedState
.Empty.Remember(path).SetPinned(path, true));
TraySavedStateTests.cs (24)
27
var
saved =
TraySavedState
.Empty.Remember(first).Remember(second).SetPinned(first, true);
30
var
reloaded = new FileTraySavedStateStore(directory.StatePath).Load();
44
var
saved =
TraySavedState
.Empty.Remember(paths[0]).SetPinned(paths[0], true);
68
var
state =
TraySavedState
.Empty.SetPinned(paths[0], true);
87
var
loaded = new FileTraySavedStateStore(directory.StatePath).Load();
102
var
state = new TraySavedState(paths.Select(path => new SavedAppHost(path, false, true)).ToArray());
112
var
state = new TraySavedState(Enumerable.Range(0, 51)
115
store.Save(
TraySavedState
.Empty);
128
var
saved =
TraySavedState
.Empty.Remember(original).SetPinned(original, true).Remember(differentlyCased);
147
var
saved =
TraySavedState
.Empty.Remember(missing).SetPinned(missing, true).Remember(recent);
165
var
state =
TraySavedState
.Empty.Remember(pinned).SetPinned(pinned, true)
190
Assert.Throws<InvalidDataException>(() => store.Save(
TraySavedState
.Empty.Remember(Path.GetFullPath("apphost.cs"))));
199
store.Save(
TraySavedState
.Empty);
202
Assert.Throws<IOException>(() => store.Save(
TraySavedState
.Empty.Remember(Path.GetFullPath("apphost.cs"))));
212
store.Save(
TraySavedState
.Empty.Remember(path));
213
store.Save(
TraySavedState
.Empty.Remember(path).SetPinned(path, true));
214
store.Save(
TraySavedState
.Empty);
228
new FileTraySavedStateStore(directory.StatePath).Save(
TraySavedState
.Empty);
TrayUserPreferencesTests.cs (7)
17
store.Save(
TraySavedState
.Empty.Remember(host).SetPinned(host, true));
28
var
saved = new TraySavedState([new(host, true, true)]);
32
var
loaded = FileTraySavedStateStore.CreateWithLegacyMigration(directory.UserStatePath, directory.LegacyDirectory).Load();
45
.Save(
TraySavedState
.Empty.Remember(legacyHost));
46
new FileTraySavedStateStore(directory.UserStatePath).Save(
TraySavedState
.Empty);
48
var
loaded = FileTraySavedStateStore.CreateWithLegacyMigration(directory.UserStatePath, directory.LegacyDirectory).Load();
63
Assert.Throws<InvalidDataException>(() => store.Save(
TraySavedState
.Empty));