1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| | Taken from upstream: https://github.com/pdoc3/pdoc/commit/4aa70de2221a34a3003a7e5f52a9b91965f0e359.patch.
From 4aa70de2221a34a3003a7e5f52a9b91965f0e359 Mon Sep 17 00:00:00 2001
From: Spencer Baugh <sbaugh@catern.com>
Date: Thu, 23 Sep 2021 09:00:25 -0400
Subject: [PATCH] TST: use explicit ClassWithNew instead of typing.Generic
typing.Generic doesn't have a __new__ method in 3.9.
Fixes https://github.com/pdoc3/pdoc/issues/355
---
pdoc/test/__init__.py | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/pdoc/test/__init__.py b/pdoc/test/__init__.py
index e8c3d94..8b67ab7 100644
--- a/pdoc/test/__init__.py
+++ b/pdoc/test/__init__.py
@@ -1043,16 +1043,20 @@ class C2:
self.assertEqual(pdoc.Class('C2', mod, C2).params(), ['a', 'b', 'c=None', '*', 'd=1', 'e'])
- class G(typing.Generic[T]):
+ class ClassWithNew:
+ def __new__(self, arg):
+ pass
+
+ class G(ClassWithNew):
def __init__(self, a, b, c=100):
pass
self.assertEqual(pdoc.Class('G', mod, G).params(), ['a', 'b', 'c=100'])
- class G2(typing.Generic[T]):
+ class G2(ClassWithNew):
pass
- self.assertEqual(pdoc.Class('G2', mod, G2).params(), ['*args', '**kwds'])
+ self.assertEqual(pdoc.Class('G2', mod, G2).params(), ['arg'])
def test_url(self):
mod = pdoc.Module(EXAMPLE_MODULE)
|