[utils] Allow partial application for even more functions (#11437)

Fixes b6dc2c49e8

Authored by: Grub4K
This commit is contained in:
Simon Sawicki 2024-11-02 21:42:00 +01:00 committed by GitHub
parent a6783a3b99
commit 422195ec70
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 0 deletions

View file

@ -9,6 +9,7 @@ from yt_dlp.utils import (
determine_ext,
dict_get,
int_or_none,
join_nonempty,
str_or_none,
)
from yt_dlp.utils.traversal import (
@ -16,6 +17,7 @@ from yt_dlp.utils.traversal import (
subs_list_to_dict,
traverse_obj,
trim_str,
unpack,
)
_TEST_DATA = {
@ -510,6 +512,15 @@ class TestTraversalHelpers:
assert trim_str(start='abc', end='abc')('abc') == ''
assert trim_str(start='', end='')('abc') == 'abc'
def test_unpack(self):
assert unpack(lambda *x: ''.join(map(str, x)))([1, 2, 3]) == '123'
assert unpack(join_nonempty)([1, 2, 3]) == '1-2-3'
assert unpack(join_nonempty(delim=' '))([1, 2, 3]) == '1 2 3'
with pytest.raises(TypeError):
unpack(join_nonempty)()
with pytest.raises(TypeError):
unpack()
class TestDictGet:
def test_dict_get(self):