From 96419fa7064c7f77ccb1909e23150fde603f9f36 Mon Sep 17 00:00:00 2001 From: dirkf Date: Fri, 31 Oct 2025 12:20:26 +0000 Subject: [utils] Support `filter` traversal key Thx yt-dlp/yt-dlp#10653 --- test/test_traversal.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'test/test_traversal.py') 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') -- cgit v1.2.3