File py39.patch of Package python-prestring

Index: prestring-0.9.0/prestring/tests/test_lazy_object.py
===================================================================
--- prestring-0.9.0.orig/prestring/tests/test_lazy_object.py
+++ prestring-0.9.0/prestring/tests/test_lazy_object.py
@@ -29,23 +29,27 @@ class LazyArgumentsTests(unittest.TestCa
         self.assertEqual(str(target), "x: int, y: bool, *")
 
     def test_with_actual_types2(self):
-        try:
-            import typing as t
+        import typing as t
 
-            target = self._makeOne(
-                ["x", "y", "z"],
-                types={
-                    "x": int,
-                    "y": t.Optional[int],
-                    "z": t.Sequence[t.Optional[int]],
-                },
-            )
-            self.assertEqual(
-                str(target),
-                "x: int, y: 'typing.Union[int, NoneType]', z: 'typing.Sequence[typing.Union[int, NoneType]]'",
-            )
-        except ImportError:
-            pass
+        target = self._makeOne(
+            ["x", "y", "z"],
+            types={
+                "x": int,
+                "y": t.Optional[int],
+                "z": t.Sequence[t.Optional[int]],
+            },
+        )
+
+        # TODO: fix, this is work-around
+        import sys
+
+        if sys.version_info[:2] >= (3, 14):
+            match = "x: int, y: 'int | None', z: 'typing.Sequence[int | None]'"
+        elif sys.version_info[:2] > (3, 9):
+            match = "x: int, y: 'typing.Optional[int]', z: 'typing.Sequence[typing.Optional[int]]'"
+        else:
+            match = "x: int, y: 'typing.Union[int, NoneType]', z: 'typing.Sequence[typing.Union[int, NoneType]]'"
+        self.assertEqual(str(target), match)
 
 
 @test_target("prestring:LazyKeywords")
openSUSE Build Service is sponsored by