mirror of https://github.com/swig/swig
180 lines
4.8 KiB
Python
180 lines
4.8 KiB
Python
from autodoc import *
|
|
import sys
|
|
|
|
def check(got, expected):
|
|
if expected != got:
|
|
raise RuntimeError("\n" + "Expected: [" + str(expected) + "]\n" + "Got : [" + str(got) + "]")
|
|
|
|
check(A.__doc__, "Proxy of C++ A class")
|
|
check(A.funk.__doc__, "just a string")
|
|
check(A.func0.__doc__, "func0(self, arg2, hello) -> int")
|
|
check(A.func1.__doc__, "func1(A self, short arg2, Tuple hello) -> int")
|
|
check(A.func2.__doc__, "\n"
|
|
" func2(self, arg2, hello) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" arg2: short\n"
|
|
" hello: int tuple[2]\n"
|
|
"\n"
|
|
" "
|
|
)
|
|
check(A.func3.__doc__, "\n"
|
|
" func3(A self, short arg2, Tuple hello) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" arg2: short\n"
|
|
" hello: int tuple[2]\n"
|
|
"\n"
|
|
" "
|
|
)
|
|
|
|
check(A.func0default.__doc__, "\n"
|
|
" func0default(self, e, arg3, hello, f=2) -> int\n"
|
|
" func0default(self, e, arg3, hello) -> int\n"
|
|
" "
|
|
)
|
|
check(A.func1default.__doc__, "\n"
|
|
" func1default(A self, A e, short arg3, Tuple hello, double f=2) -> int\n"
|
|
" func1default(A self, A e, short arg3, Tuple hello) -> int\n"
|
|
" "
|
|
)
|
|
check(A.func2default.__doc__, "\n"
|
|
" func2default(self, e, arg3, hello, f=2) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" e: A *\n"
|
|
" arg3: short\n"
|
|
" hello: int tuple[2]\n"
|
|
" f: double\n"
|
|
"\n"
|
|
" func2default(self, e, arg3, hello) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" e: A *\n"
|
|
" arg3: short\n"
|
|
" hello: int tuple[2]\n"
|
|
"\n"
|
|
" "
|
|
)
|
|
check(A.func3default.__doc__, "\n"
|
|
" func3default(A self, A e, short arg3, Tuple hello, double f=2) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" e: A *\n"
|
|
" arg3: short\n"
|
|
" hello: int tuple[2]\n"
|
|
" f: double\n"
|
|
"\n"
|
|
" func3default(A self, A e, short arg3, Tuple hello) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" e: A *\n"
|
|
" arg3: short\n"
|
|
" hello: int tuple[2]\n"
|
|
"\n"
|
|
" "
|
|
)
|
|
|
|
check(A.func0static.__doc__, "\n"
|
|
" func0static(e, arg2, hello, f=2) -> int\n"
|
|
" func0static(e, arg2, hello) -> int\n"
|
|
" "
|
|
)
|
|
check(A.func1static.__doc__, "\n"
|
|
" func1static(A e, short arg2, Tuple hello, double f=2) -> int\n"
|
|
" func1static(A e, short arg2, Tuple hello) -> int\n"
|
|
" "
|
|
)
|
|
check(A.func2static.__doc__, "\n"
|
|
" func2static(e, arg2, hello, f=2) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" e: A *\n"
|
|
" arg2: short\n"
|
|
" hello: int tuple[2]\n"
|
|
" f: double\n"
|
|
"\n"
|
|
" func2static(e, arg2, hello) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" e: A *\n"
|
|
" arg2: short\n"
|
|
" hello: int tuple[2]\n"
|
|
"\n"
|
|
" "
|
|
)
|
|
check(A.func3static.__doc__, "\n"
|
|
" func3static(A e, short arg2, Tuple hello, double f=2) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" e: A *\n"
|
|
" arg2: short\n"
|
|
" hello: int tuple[2]\n"
|
|
" f: double\n"
|
|
"\n"
|
|
" func3static(A e, short arg2, Tuple hello) -> int\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" e: A *\n"
|
|
" arg2: short\n"
|
|
" hello: int tuple[2]\n"
|
|
"\n"
|
|
" "
|
|
)
|
|
|
|
if sys.version_info[0:2] > (2, 4):
|
|
# Python 2.4 does not seem to work
|
|
check(A.variable_a.__doc__, "A_variable_a_get(self) -> int")
|
|
check(A.variable_b.__doc__, "A_variable_b_get(A self) -> int")
|
|
check(A.variable_c.__doc__, "\n"
|
|
"A_variable_c_get(self) -> int\n"
|
|
"\n"
|
|
"Parameters:\n"
|
|
" self: A *\n"
|
|
"\n"
|
|
)
|
|
check(A.variable_d.__doc__, "\n"
|
|
"A_variable_d_get(A self) -> int\n"
|
|
"\n"
|
|
"Parameters:\n"
|
|
" self: A *\n"
|
|
"\n"
|
|
)
|
|
|
|
check(B.__doc__, "Proxy of C++ B class")
|
|
check(C.__init__.__doc__, "__init__(self, a, b, h) -> C")
|
|
check(D.__init__.__doc__, "__init__(D self, int a, int b, Hola h) -> D")
|
|
check(E.__init__.__doc__, "\n"
|
|
" __init__(self, a, b, h) -> E\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" a: special comment for parameter a\n"
|
|
" b: another special comment for parameter b\n"
|
|
" h: enum Hola\n"
|
|
"\n"
|
|
" "
|
|
)
|
|
check(F.__init__.__doc__, "\n"
|
|
" __init__(F self, int a, int b, Hola h) -> F\n"
|
|
"\n"
|
|
" Parameters:\n"
|
|
" a: special comment for parameter a\n"
|
|
" b: another special comment for parameter b\n"
|
|
" h: enum Hola\n"
|
|
"\n"
|
|
" "
|
|
)
|
|
|
|
check(B.funk.__doc__, "funk(B self, int c, int d) -> int")
|
|
check(funk.__doc__, "funk(A e, short arg2, int c, int d) -> int")
|
|
check(funkdefaults.__doc__, "\n"
|
|
" funkdefaults(A e, short arg2, int c, int d, double f=2) -> int\n"
|
|
" funkdefaults(A e, short arg2, int c, int d) -> int\n"
|
|
" "
|
|
)
|
|
|
|
check(func_input.__doc__, "func_input(int * INPUT) -> int")
|
|
check(func_output.__doc__, "func_output() -> int")
|
|
check(func_inout.__doc__, "func_inout(int * INOUT) -> int")
|
|
check(banana.__doc__, "banana(S a, S b, int c, Integer d)")
|