소스 검색

Fixup deduped package names in collapse()

Masen Furer 1 년 전
부모
커밋
fe4a4ee81b
2개의 변경된 파일10개의 추가작업 그리고 7개의 파일을 삭제
  1. 4 1
      reflex/utils/imports.py
  2. 6 6
      tests/components/core/test_banner.py

+ 4 - 1
reflex/utils/imports.py

@@ -284,7 +284,10 @@ class ImportList(List[ImportVar]):
                     f"Imports from {lib} have conflicting version specifiers: "
                     f"{packages} {imps}"
                 )
-            deduped[list(packages)[0] or ""] = list(imps.values())
+            package = lib
+            if packages:
+                package = packages.pop() or ""
+            deduped[package] = list(imps.values())
         return deduped
 
 

+ 6 - 6
tests/components/core/test_banner.py

@@ -15,12 +15,12 @@ def test_websocket_target_url():
 
 def test_connection_banner():
     banner = ConnectionBanner.create()
-    _imports = banner._get_all_imports()
-    assert [i.library for i in _imports] == [
+    _imports = banner._get_all_imports().collapse()
+    assert list(_imports) == [
         "react",
         "/utils/context",
         "/utils/state",
-        "@radix-ui/themes",
+        "@radix-ui/themes@^3.0.0",
         "/env.json",
     ]
 
@@ -31,12 +31,12 @@ def test_connection_banner():
 
 def test_connection_modal():
     modal = ConnectionModal.create()
-    _imports = modal._get_all_imports()
-    assert [i.library for i in _imports] == [
+    _imports = modal._get_all_imports().collapse()
+    assert list(_imports) == [
         "react",
         "/utils/context",
         "/utils/state",
-        "@radix-ui/themes",
+        "@radix-ui/themes@^3.0.0",
         "/env.json",
     ]