From 5b3dbcfa49cbcbe1b7fd064a5555b81757074a2a Mon Sep 17 00:00:00 2001 From: garret1317 Date: Mon, 18 Aug 2025 22:37:58 +0100 Subject: [PATCH] add basic dataclass tests (just a string) --- test/test_traversal.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/test_traversal.py b/test/test_traversal.py index 52215f5a7b..a67f91e918 100644 --- a/test/test_traversal.py +++ b/test/test_traversal.py @@ -1,4 +1,5 @@ import http.cookies +import dataclasses import re import xml.etree.ElementTree @@ -439,6 +440,17 @@ class TestTraversal: assert traverse_obj(data, [..., filter]) == [True, 1, 1.1, 'str', {0: 0}, [1]], \ '`filter` should filter falsy values' + def test_traversal_dataclass(self): + @dataclasses.dataclass + class _TEST_DATACLASS: + string: str + + dataclass = _TEST_DATACLASS(string='yt-dlp') + assert traverse_obj(dataclass, ('string')) == 'yt-dlp', \ + 'Dataclasses should be traversable' + assert traverse_obj({'dataclass': dataclass}, ('dataclass', 'string')) == 'yt-dlp', \ + 'Dataclasses inside other objects should be traversable' + class TestTraversalHelpers: def test_traversal_require(self):