aboutsummaryrefslogtreecommitdiff
path: root/test/test_traversal.py
diff options
context:
space:
mode:
authordirkf <fieldhouse@gmx.net>2025-10-31 12:20:26 +0000
committerdirkf <fieldhouse@gmx.net>2025-11-21 01:52:11 +0000
commit96419fa7064c7f77ccb1909e23150fde603f9f36 (patch)
treefd85f62f91de11c2887dc7c102203bb8b3d1eab7 /test/test_traversal.py
parentcca41c9d2ca51fbfdc9a8c16f2f7b049b577300b (diff)
[utils] Support `filter` traversal key
Thx yt-dlp/yt-dlp#10653
Diffstat (limited to 'test/test_traversal.py')
-rw-r--r--test/test_traversal.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/test_traversal.py b/test/test_traversal.py
index 2987970ba..21f81136f 100644
--- a/test/test_traversal.py
+++ b/test/test_traversal.py
@@ -473,6 +473,14 @@ class TestTraversal(_TestCase):
self.assertIs(traverse_obj(morsel, [(None,), any]), morsel,
msg='Morsel should not be implicitly changed to dict on usage')
+ def test_traversal_filter(self):
+ data = [None, False, True, 0, 1, 0.0, 1.1, '', 'str', {}, {0: 0}, [], [1]]
+
+ self.assertEqual(
+ traverse_obj(data, (Ellipsis, filter)),
+ [True, 1, 1.1, 'str', {0: 0}, [1]],
+ '`filter` should filter falsy values')
+
def test_get_first(self):
self.assertEqual(get_first([{'a': None}, {'a': 'spam'}], 'a'), 'spam')