]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] Add test checking value of a TypedDict's __total__ attribute when there is...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 22 Feb 2025 18:33:20 +0000 (19:33 +0100)
committerGitHub <noreply@github.com>
Sat, 22 Feb 2025 18:33:20 +0000 (18:33 +0000)
Add test checking value of a TypedDict's __total__ attribute when there is an assignment in the class body. (GH-130460)

In relation to GH-109544 which changed this behavior.
(cherry picked from commit d8ce092fe4e98fec414f4e60cfc958b3ac3ec9a3)

Signed-off-by: Daniel Sperber <github.blurry@9ox.net>
Co-authored-by: Daraan <github.blurry@9ox.net>
Lib/test/test_typing.py

index 89a32c7a1a0d14fb01ea577f4510061adb5e0750..9d499319662873f907f71d692246db99c3cc27ed 100644 (file)
@@ -8356,6 +8356,22 @@ class TypedDictTests(BaseTestCase):
 
         self.assertIs(TD2.__total__, True)
 
+    def test_total_with_assigned_value(self):
+        class TD(TypedDict):
+            __total__ = "some_value"
+
+        self.assertIs(TD.__total__, True)
+
+        class TD2(TypedDict, total=True):
+            __total__ = "some_value"
+
+        self.assertIs(TD2.__total__, True)
+
+        class TD3(TypedDict, total=False):
+            __total__ = "some value"
+
+        self.assertIs(TD3.__total__, False)
+
     def test_optional_keys(self):
         class Point2Dor3D(Point2D, total=False):
             z: int