refactor: share focus chrome and simplify the TV picker and browse paths
Focus chrome was implemented twice, once in the focusable wrapper and once in the focus builders; both now go through FocusChrome. TvColorPicker's channel row was a copy of TvNumberSpinner and is now that widget in compact density. Also trims unused helpers and fields and simplifies the Jellyfin browse paths.
This commit is contained in:
@@ -123,27 +123,16 @@ void main() {
|
||||
expect(m.serverIds, isEmpty);
|
||||
expect(m.onlineServerIds, isEmpty);
|
||||
expect(m.offlineServerIds, isEmpty);
|
||||
expect(m.plexServers, isEmpty);
|
||||
expect(m.onlineClients, isEmpty);
|
||||
});
|
||||
|
||||
test('getClient/getPlexServer return null for unknown ids', () {
|
||||
test('getClient returns null for unknown ids', () {
|
||||
final m = MultiServerManager();
|
||||
addTearDown(m.dispose);
|
||||
|
||||
expect(m.getClient(ServerId('nope')), isNull);
|
||||
expect(m.getPlexServer(ServerId('nope')), isNull);
|
||||
expect(m.isServerOnline(ServerId('nope')), isFalse);
|
||||
});
|
||||
|
||||
test('plexServers map is unmodifiable', () {
|
||||
final m = MultiServerManager();
|
||||
addTearDown(m.dispose);
|
||||
|
||||
// Map.unmodifiable rejects every mutating operation — clear() is the
|
||||
// simplest no-arg one to exercise the wrapper.
|
||||
expect(() => m.plexServers.clear(), throwsUnsupportedError);
|
||||
});
|
||||
});
|
||||
|
||||
// ============================================================
|
||||
|
||||
Reference in New Issue
Block a user