mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 09:35:39 +00:00
a8f32a845f
- Added session management features to synchronize media capture and input handling across active tabs. - Updated audio handling to respect session activity and mute states. - Improved clipboard functionality to only allow copying to local clipboard from the active session. - Refactored input capture logic to ensure it only activates for the active viewer tab. - Introduced a new `syncSessionMediaCapture` function to manage media input across sessions.
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
const {
|
|
BACKGROUND_FPS,
|
|
sanitizePrefs,
|
|
getActiveFpsForQuality,
|
|
getPresetForQuality,
|
|
loadRemoteViewerPrefs,
|
|
saveRemoteViewerPrefs,
|
|
} = require('../lib/remoteViewerPrefs');
|
|
|
|
describe('remoteViewerPrefs', () => {
|
|
it('defaults Best quality to 60fps preset', () => {
|
|
expect(getPresetForQuality('Best')).toBe('best');
|
|
expect(getActiveFpsForQuality('Best')).toBe(60);
|
|
});
|
|
|
|
it('sanitizes unknown values', () => {
|
|
const clean = sanitizePrefs({ quality: 'Invalid', scale: 'fit', codec: 'Auto' });
|
|
expect(clean.quality).toBe('Best');
|
|
expect(clean.scale).toBe('fit');
|
|
expect(clean.backgroundFps).toBe(BACKGROUND_FPS);
|
|
});
|
|
|
|
it('persists via in-memory storage', () => {
|
|
const storage = new Map();
|
|
const store = {
|
|
getItem: (k) => storage.get(k) || null,
|
|
setItem: (k, v) => storage.set(k, v),
|
|
};
|
|
saveRemoteViewerPrefs(7, { quality: 'Balanced', scale: '1:1' }, store);
|
|
const loaded = loadRemoteViewerPrefs(7, store);
|
|
expect(loaded.quality).toBe('Balanced');
|
|
expect(loaded.scale).toBe('1:1');
|
|
expect(getActiveFpsForQuality(loaded.quality)).toBe(30);
|
|
});
|
|
});
|