7
7
#-----------------------------------------------------------------------------
8
8
9
9
import argparse
10
+ import sys
10
11
from nose .tools import assert_equal
11
12
12
13
from IPython .core .magic_arguments import (argument , argument_group , kwds ,
@@ -74,7 +75,12 @@ def foo(self, args):
74
75
75
76
76
77
def test_magic_arguments ():
77
- assert_equal (magic_foo1 .__doc__ , '::\n \n %foo1 [-f FOO]\n \n A docstring.\n \n optional arguments:\n -f FOO, --foo FOO an argument\n ' )
78
+ # “optional arguments” was replaced with “options” in argparse help
79
+ # https://docs.python.org/3/whatsnew/3.10.html#argparse
80
+ # https://bugs.python.org/issue9694
81
+ options = "optional arguments" if sys .version_info < (3 , 10 ) else "options"
82
+
83
+ assert_equal (magic_foo1 .__doc__ , f"::\n \n %foo1 [-f FOO]\n \n A docstring.\n \n { options } :\n -f FOO, --foo FOO an argument\n " )
78
84
assert_equal (getattr (magic_foo1 , 'argcmd_name' , None ), None )
79
85
assert_equal (real_name (magic_foo1 ), 'foo1' )
80
86
assert_equal (magic_foo1 (None , '' ), argparse .Namespace (foo = None ))
@@ -86,32 +92,32 @@ def test_magic_arguments():
86
92
assert_equal (magic_foo2 (None , '' ), argparse .Namespace ())
87
93
assert hasattr (magic_foo2 , 'has_arguments' )
88
94
89
- assert_equal (magic_foo3 .__doc__ , ' ::\n \n %foo3 [-f FOO] [-b BAR] [-z BAZ]\n \n A docstring.\n \n optional arguments :\n -f FOO, --foo FOO an argument\n \n Group:\n -b BAR, --bar BAR a grouped argument\n \n Second Group:\n -z BAZ, --baz BAZ another grouped argument\n ' )
95
+ assert_equal (magic_foo3 .__doc__ , f" ::\n \n %foo3 [-f FOO] [-b BAR] [-z BAZ]\n \n A docstring.\n \n { options } :\n -f FOO, --foo FOO an argument\n \n Group:\n -b BAR, --bar BAR a grouped argument\n \n Second Group:\n -z BAZ, --baz BAZ another grouped argument\n " )
90
96
assert_equal (getattr (magic_foo3 , 'argcmd_name' , None ), None )
91
97
assert_equal (real_name (magic_foo3 ), 'foo3' )
92
98
assert_equal (magic_foo3 (None , '' ),
93
99
argparse .Namespace (bar = None , baz = None , foo = None ))
94
100
assert hasattr (magic_foo3 , 'has_arguments' )
95
101
96
- assert_equal (magic_foo4 .__doc__ , ' ::\n \n %foo4 [-f FOO]\n \n A docstring.\n \n optional arguments :\n -f FOO, --foo FOO an argument\n ' )
102
+ assert_equal (magic_foo4 .__doc__ , f" ::\n \n %foo4 [-f FOO]\n \n A docstring.\n \n { options } :\n -f FOO, --foo FOO an argument\n " )
97
103
assert_equal (getattr (magic_foo4 , 'argcmd_name' , None ), None )
98
104
assert_equal (real_name (magic_foo4 ), 'foo4' )
99
105
assert_equal (magic_foo4 (None , '' ), argparse .Namespace ())
100
106
assert hasattr (magic_foo4 , 'has_arguments' )
101
107
102
- assert_equal (magic_foo5 .__doc__ , ' ::\n \n %frobnicate [-f FOO]\n \n A docstring.\n \n optional arguments :\n -f FOO, --foo FOO an argument\n ' )
108
+ assert_equal (magic_foo5 .__doc__ , f" ::\n \n %frobnicate [-f FOO]\n \n A docstring.\n \n { options } :\n -f FOO, --foo FOO an argument\n " )
103
109
assert_equal (getattr (magic_foo5 , 'argcmd_name' , None ), 'frobnicate' )
104
110
assert_equal (real_name (magic_foo5 ), 'frobnicate' )
105
111
assert_equal (magic_foo5 (None , '' ), argparse .Namespace (foo = None ))
106
112
assert hasattr (magic_foo5 , 'has_arguments' )
107
113
108
- assert_equal (magic_magic_foo .__doc__ , ' ::\n \n %magic_foo [-f FOO]\n \n A docstring.\n \n optional arguments :\n -f FOO, --foo FOO an argument\n ' )
114
+ assert_equal (magic_magic_foo .__doc__ , f" ::\n \n %magic_foo [-f FOO]\n \n A docstring.\n \n { options } :\n -f FOO, --foo FOO an argument\n " )
109
115
assert_equal (getattr (magic_magic_foo , 'argcmd_name' , None ), None )
110
116
assert_equal (real_name (magic_magic_foo ), 'magic_foo' )
111
117
assert_equal (magic_magic_foo (None , '' ), argparse .Namespace (foo = None ))
112
118
assert hasattr (magic_magic_foo , 'has_arguments' )
113
119
114
- assert_equal (foo .__doc__ , ' ::\n \n %foo [-f FOO]\n \n A docstring.\n \n optional arguments :\n -f FOO, --foo FOO an argument\n ' )
120
+ assert_equal (foo .__doc__ , f" ::\n \n %foo [-f FOO]\n \n A docstring.\n \n { options } :\n -f FOO, --foo FOO an argument\n " )
115
121
assert_equal (getattr (foo , 'argcmd_name' , None ), None )
116
122
assert_equal (real_name (foo ), 'foo' )
117
123
assert_equal (foo (None , '' ), argparse .Namespace (foo = None ))
0 commit comments