77#-----------------------------------------------------------------------------
88
99import argparse
10+ import sys
1011from nose .tools import assert_equal
1112
1213from IPython .core .magic_arguments import (argument , argument_group , kwds ,
@@ -74,7 +75,12 @@ def foo(self, args):
7475
7576
7677def 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 " )
7884 assert_equal (getattr (magic_foo1 , 'argcmd_name' , None ), None )
7985 assert_equal (real_name (magic_foo1 ), 'foo1' )
8086 assert_equal (magic_foo1 (None , '' ), argparse .Namespace (foo = None ))
@@ -86,32 +92,32 @@ def test_magic_arguments():
8692 assert_equal (magic_foo2 (None , '' ), argparse .Namespace ())
8793 assert hasattr (magic_foo2 , 'has_arguments' )
8894
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 " )
9096 assert_equal (getattr (magic_foo3 , 'argcmd_name' , None ), None )
9197 assert_equal (real_name (magic_foo3 ), 'foo3' )
9298 assert_equal (magic_foo3 (None , '' ),
9399 argparse .Namespace (bar = None , baz = None , foo = None ))
94100 assert hasattr (magic_foo3 , 'has_arguments' )
95101
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 " )
97103 assert_equal (getattr (magic_foo4 , 'argcmd_name' , None ), None )
98104 assert_equal (real_name (magic_foo4 ), 'foo4' )
99105 assert_equal (magic_foo4 (None , '' ), argparse .Namespace ())
100106 assert hasattr (magic_foo4 , 'has_arguments' )
101107
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 " )
103109 assert_equal (getattr (magic_foo5 , 'argcmd_name' , None ), 'frobnicate' )
104110 assert_equal (real_name (magic_foo5 ), 'frobnicate' )
105111 assert_equal (magic_foo5 (None , '' ), argparse .Namespace (foo = None ))
106112 assert hasattr (magic_foo5 , 'has_arguments' )
107113
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 " )
109115 assert_equal (getattr (magic_magic_foo , 'argcmd_name' , None ), None )
110116 assert_equal (real_name (magic_magic_foo ), 'magic_foo' )
111117 assert_equal (magic_magic_foo (None , '' ), argparse .Namespace (foo = None ))
112118 assert hasattr (magic_magic_foo , 'has_arguments' )
113119
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 " )
115121 assert_equal (getattr (foo , 'argcmd_name' , None ), None )
116122 assert_equal (real_name (foo ), 'foo' )
117123 assert_equal (foo (None , '' ), argparse .Namespace (foo = None ))
0 commit comments