From a52145e52a7eb85b8484424ffcb0afe9c70ff6c2 Mon Sep 17 00:00:00 2001 From: Elijah Ahianyo Date: Mon, 17 Apr 2023 17:08:43 +0000 Subject: [PATCH] Python 3.10 tag issubclass bug: (#832) --- pynecone/components/tags/tag.py | 2 +- tests/components/test_tag.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pynecone/components/tags/tag.py b/pynecone/components/tags/tag.py index cdd8f9434..eedee4bb0 100644 --- a/pynecone/components/tags/tag.py +++ b/pynecone/components/tags/tag.py @@ -67,7 +67,7 @@ class Tag(Base): if isinstance(prop, Var): if not prop.is_local or prop.is_string: return str(prop) - if issubclass(prop.type_, str): + if types._issubclass(prop.type_, str): return format.json_dumps(prop.full_name) prop = prop.full_name diff --git a/tests/components/test_tag.py b/tests/components/test_tag.py index d9029df85..417121959 100644 --- a/tests/components/test_tag.py +++ b/tests/components/test_tag.py @@ -1,4 +1,4 @@ -from typing import Dict +from typing import Any, Dict import pytest @@ -41,6 +41,16 @@ def mock_event(arg): ), ({"a": "red", "b": "blue"}, '{{"a": "red", "b": "blue"}}'), (BaseVar(name="var", type_="int"), "{var}"), + ( + BaseVar( + name="_", + type_=Any, + state="", + is_local=True, + is_string=False, + ), + "{_}", + ), (BaseVar(name='state.colors["a"]', type_="str"), '{state.colors["a"]}'), ({"a": BaseVar(name="val", type_="str")}, '{{"a": val}}'), ({"a": BaseVar(name='"val"', type_="str")}, '{{"a": "val"}}'),