mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 18:36:15 -08:00
* feat(settings): add external player arguments * fix(settings): address external player argument review * fix(settings): require external player argument settings * feat(settings): add external player argument placeholders Closes https://github.com/4gray/iptvnator/issues/835
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
import {
|
|
normalizeExternalPlayerArguments,
|
|
parseExternalPlayerArguments,
|
|
} from './external-player-arguments.utils';
|
|
|
|
describe('external player arguments utils', () => {
|
|
it('parses one argument per non-empty trimmed line', () => {
|
|
expect(
|
|
parseExternalPlayerArguments(
|
|
' --screen=1\n\n--geometry=1280x720\r\n --hwdec=auto-safe '
|
|
)
|
|
).toEqual(['--screen=1', '--geometry=1280x720', '--hwdec=auto-safe']);
|
|
});
|
|
|
|
it('normalizes arguments to newline-separated trimmed lines', () => {
|
|
expect(
|
|
normalizeExternalPlayerArguments([
|
|
' --screen=1 ',
|
|
'',
|
|
' --geometry=1280x720 ',
|
|
])
|
|
).toBe('--screen=1\n--geometry=1280x720');
|
|
});
|
|
|
|
it('treats missing or unsupported values as empty arguments', () => {
|
|
expect(parseExternalPlayerArguments(undefined)).toEqual([]);
|
|
expect(parseExternalPlayerArguments(null)).toEqual([]);
|
|
expect(parseExternalPlayerArguments(123 as unknown as string)).toEqual(
|
|
[]
|
|
);
|
|
expect(normalizeExternalPlayerArguments(' \n ')).toBe('');
|
|
});
|
|
});
|