summaryrefslogtreecommitdiff
path: root/dev-python/makefun/files/makefun-1.15.3-test.patch
blob: bed2b01c01d49838814278fa9e30b4c8a5928795 (plain)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
diff --git a/tests/test_partial_and_macros.py b/tests/test_partial_and_macros.py
index 6fd4503..3ce0a33 100644
--- a/tests/test_partial_and_macros.py
+++ b/tests/test_partial_and_macros.py
@@ -1,5 +1,6 @@
 import functools
 import pytest
+import re
 import sys
 
 import makefun
@@ -11,6 +12,11 @@ except ImportError:
 
 PY2 = sys.version_info < (3, )
 
+# Python 3.13 dedents docstrings, earlier versions just strip initial
+# whitespace.  Use a regexp to get a consistently dedented docstring
+# for comparison across Python versions.
+DOCSTRING_NORMALIZE_RE = re.compile(r"^ +", re.MULTILINE)
+
 
 def test_doc():
     def foo(x, y):
@@ -41,15 +47,15 @@ def test_doc():
 
     sig_actual_call = ref_sig_str.replace("*, ", "")
 
-    assert bar.__doc__ \
+    assert DOCSTRING_NORMALIZE_RE.sub("", bar.__doc__) \
            == """<This function is equivalent to 'foo%s', see original 'foo' doc below.>
 
-        a `foo` function
+a `foo` function
 
-        :param x:
-        :param y:
-        :return:
-        """ % sig_actual_call
+:param x:
+:param y:
+:return:
+""" % sig_actual_call
 
 
 def test_partial():
@@ -78,16 +84,16 @@ def test_partial():
 
     sig_actual_call = "(x, y='hello', a)"  # if PY2 else "(x, *, y='hello', a)"
 
-    assert foo.__doc__.replace("=KW_ONLY_ARG!", "") \
+    assert DOCSTRING_NORMALIZE_RE.sub("", foo.__doc__.replace("=KW_ONLY_ARG!", "")) \
            == """<This function is equivalent to 'foo%s', see original 'foo' doc below.>
 
-        a `foo` function
+a `foo` function
 
-        :param x:
-        :param y:
-        :param a:
-        :return:
-        """ % sig_actual_call
+:param x:
+:param y:
+:param a:
+:return:
+""" % sig_actual_call
 
 
 def test_issue_57():
@@ -127,9 +133,7 @@ def test_create_with_partial():
     assert m() == -1
     assert m.i == 1
     # the doc remains untouched in create_function as opposed to wraps, this is normal
-    assert m.__doc__ == """partial(func, *args, **keywords) - new function with partial application
-    of the given arguments and keywords.
-"""
+    assert m.__doc__ == functools.partial.__doc__
 
 
 def test_args_order_and_kind():