##// END OF EJS Templates
Update tests for new magic_arguments docstrings
Thomas Kluyver -
Show More
@@ -1,118 +1,118 b''
1 1 #-----------------------------------------------------------------------------
2 2 # Copyright (C) 2010-2011, IPython Development Team.
3 3 #
4 4 # Distributed under the terms of the Modified BSD License.
5 5 #
6 6 # The full license is in the file COPYING.txt, distributed with this software.
7 7 #-----------------------------------------------------------------------------
8 8
9 9 import argparse
10 10 from nose.tools import assert_equal
11 11
12 12 from IPython.core.magic_arguments import (argument, argument_group, kwds,
13 13 magic_arguments, parse_argstring, real_name)
14 14
15 15
16 16 @magic_arguments()
17 17 @argument('-f', '--foo', help="an argument")
18 18 def magic_foo1(self, args):
19 19 """ A docstring.
20 20 """
21 21 return parse_argstring(magic_foo1, args)
22 22
23 23
24 24 @magic_arguments()
25 25 def magic_foo2(self, args):
26 26 """ A docstring.
27 27 """
28 28 return parse_argstring(magic_foo2, args)
29 29
30 30
31 31 @magic_arguments()
32 32 @argument('-f', '--foo', help="an argument")
33 33 @argument_group('Group')
34 34 @argument('-b', '--bar', help="a grouped argument")
35 35 @argument_group('Second Group')
36 36 @argument('-z', '--baz', help="another grouped argument")
37 37 def magic_foo3(self, args):
38 38 """ A docstring.
39 39 """
40 40 return parse_argstring(magic_foo3, args)
41 41
42 42
43 43 @magic_arguments()
44 44 @kwds(argument_default=argparse.SUPPRESS)
45 45 @argument('-f', '--foo', help="an argument")
46 46 def magic_foo4(self, args):
47 47 """ A docstring.
48 48 """
49 49 return parse_argstring(magic_foo4, args)
50 50
51 51
52 52 @magic_arguments('frobnicate')
53 53 @argument('-f', '--foo', help="an argument")
54 54 def magic_foo5(self, args):
55 55 """ A docstring.
56 56 """
57 57 return parse_argstring(magic_foo5, args)
58 58
59 59
60 60 @magic_arguments()
61 61 @argument('-f', '--foo', help="an argument")
62 62 def magic_magic_foo(self, args):
63 63 """ A docstring.
64 64 """
65 65 return parse_argstring(magic_magic_foo, args)
66 66
67 67
68 68 @magic_arguments()
69 69 @argument('-f', '--foo', help="an argument")
70 70 def foo(self, args):
71 71 """ A docstring.
72 72 """
73 73 return parse_argstring(foo, args)
74 74
75 75
76 76 def test_magic_arguments():
77 assert_equal(magic_foo1.__doc__, '%foo1 [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
77 assert_equal(magic_foo1.__doc__, '::\n\n %foo1 [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
78 78 assert_equal(getattr(magic_foo1, 'argcmd_name', None), None)
79 79 assert_equal(real_name(magic_foo1), 'foo1')
80 80 assert_equal(magic_foo1(None, ''), argparse.Namespace(foo=None))
81 81 assert hasattr(magic_foo1, 'has_arguments')
82 82
83 assert_equal(magic_foo2.__doc__, '%foo2\n\n A docstring.\n')
83 assert_equal(magic_foo2.__doc__, '::\n\n %foo2\n\n A docstring.\n')
84 84 assert_equal(getattr(magic_foo2, 'argcmd_name', None), None)
85 85 assert_equal(real_name(magic_foo2), 'foo2')
86 86 assert_equal(magic_foo2(None, ''), argparse.Namespace())
87 87 assert hasattr(magic_foo2, 'has_arguments')
88 88
89 assert_equal(magic_foo3.__doc__, '%foo3 [-f FOO] [-b BAR] [-z BAZ]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n\nGroup:\n -b BAR, --bar BAR a grouped argument\n\nSecond Group:\n -z BAZ, --baz BAZ another grouped argument\n')
89 assert_equal(magic_foo3.__doc__, '::\n\n %foo3 [-f FOO] [-b BAR] [-z BAZ]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n\nGroup:\n -b BAR, --bar BAR a grouped argument\n\nSecond Group:\n -z BAZ, --baz BAZ another grouped argument\n')
90 90 assert_equal(getattr(magic_foo3, 'argcmd_name', None), None)
91 91 assert_equal(real_name(magic_foo3), 'foo3')
92 92 assert_equal(magic_foo3(None, ''),
93 93 argparse.Namespace(bar=None, baz=None, foo=None))
94 94 assert hasattr(magic_foo3, 'has_arguments')
95 95
96 assert_equal(magic_foo4.__doc__, '%foo4 [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
96 assert_equal(magic_foo4.__doc__, '::\n\n %foo4 [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
97 97 assert_equal(getattr(magic_foo4, 'argcmd_name', None), None)
98 98 assert_equal(real_name(magic_foo4), 'foo4')
99 99 assert_equal(magic_foo4(None, ''), argparse.Namespace())
100 100 assert hasattr(magic_foo4, 'has_arguments')
101 101
102 assert_equal(magic_foo5.__doc__, '%frobnicate [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
102 assert_equal(magic_foo5.__doc__, '::\n\n %frobnicate [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
103 103 assert_equal(getattr(magic_foo5, 'argcmd_name', None), 'frobnicate')
104 104 assert_equal(real_name(magic_foo5), 'frobnicate')
105 105 assert_equal(magic_foo5(None, ''), argparse.Namespace(foo=None))
106 106 assert hasattr(magic_foo5, 'has_arguments')
107 107
108 assert_equal(magic_magic_foo.__doc__, '%magic_foo [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
108 assert_equal(magic_magic_foo.__doc__, '::\n\n %magic_foo [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
109 109 assert_equal(getattr(magic_magic_foo, 'argcmd_name', None), None)
110 110 assert_equal(real_name(magic_magic_foo), 'magic_foo')
111 111 assert_equal(magic_magic_foo(None, ''), argparse.Namespace(foo=None))
112 112 assert hasattr(magic_magic_foo, 'has_arguments')
113 113
114 assert_equal(foo.__doc__, '%foo [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
114 assert_equal(foo.__doc__, '::\n\n %foo [-f FOO]\n\n A docstring.\n\noptional arguments:\n -f FOO, --foo FOO an argument\n')
115 115 assert_equal(getattr(foo, 'argcmd_name', None), None)
116 116 assert_equal(real_name(foo), 'foo')
117 117 assert_equal(foo(None, ''), argparse.Namespace(foo=None))
118 118 assert hasattr(foo, 'has_arguments')
General Comments 0
You need to be logged in to leave comments. Login now