@@ -23,6 +23,7 @@ class DependencyTestState(State):
2323 count : rx .Field [int ] = rx .field (default = 0 )
2424 name : rx .Field [str ] = rx .field (default = "test" )
2525 items : rx .Field [list [str ]] = rx .field (default_factory = list )
26+ board : rx .Field [list [list [int ]]] = rx .field (default_factory = list )
2627
2728
2829class AnotherTestState (State ):
@@ -102,6 +103,18 @@ def func_with_comprehension(self: DependencyTestState):
102103 assert tracker .dependencies == expected_deps
103104
104105
106+ def test_list_comprehension_dependencies_2 ():
107+ """Test tracking dependencies in list comprehensions."""
108+
109+ def func_with_comprehension (self : DependencyTestState ):
110+ return [[self .board [r ][c ] for r in range (3 )] for c in range (5 )]
111+
112+ tracker = DependencyTracker (func_with_comprehension , DependencyTestState )
113+
114+ expected_deps = {DependencyTestState .get_full_name (): {"board" }}
115+ assert tracker .dependencies == expected_deps
116+
117+
105118def test_invalid_attribute_access ():
106119 """Test that accessing invalid attributes raises VarValueError."""
107120
@@ -167,6 +180,24 @@ async def get_state_import_from(self: DependencyTestState):
167180 assert tracker .dependencies == expected_deps
168181
169182
183+ def test_get_state_with_import_from_multiple ():
184+ """Test that get_state with function-local `from ... import ...` finds correct dependency."""
185+
186+ async def get_state_import_from (self : DependencyTestState ):
187+ from tests .units .states .upload import ChildFileUploadState , SubUploadState
188+
189+ return (await self .get_state (SubUploadState )).img , (
190+ await self .get_state (ChildFileUploadState )
191+ ).img_list
192+
193+ tracker = DependencyTracker (get_state_import_from , DependencyTestState )
194+ expected_deps = {
195+ tus_upload .SubUploadState .get_full_name (): {"img" },
196+ tus_upload .ChildFileUploadState .get_full_name (): {"img_list" },
197+ }
198+ assert tracker .dependencies == expected_deps
199+
200+
170201def test_get_state_with_import_from_as ():
171202 """Test that get_state with function-local `from ... import ... as ...` finds correct dependency."""
172203
0 commit comments