blob: 99df4d65c41e46adb5f19c801b1e6a445c6f0cfb [file]
import cpp11_ref_qualifiers
from swig_test_utils import swig_assert
h = cpp11_ref_qualifiers.Host()
# Basic testing
h.h1()
h.h2()
h.h6()
h.h7()
h.h()
th = cpp11_ref_qualifiers.TypedefHost()
th.t1()
swig_assert(not hasattr(th, "t2"), "t2 should be ignored")
swig_assert(not hasattr(th, "t3"), "t3 should be ignored")
# %feature testing
f = cpp11_ref_qualifiers.Features()
if f.F1() != "F1":
raise RuntimeException("Fail")
if f.F2() != "F2":
raise RuntimeException("Fail")
if f.F3() != "F3":
raise RuntimeException("Fail")
if f.C1(0) != "C1":
raise RuntimeException("Fail")
if f.C2(0) != "C2":
raise RuntimeException("Fail")
if f.C3(0) != "C3":
raise RuntimeException("Fail")
# %rename testing
r = cpp11_ref_qualifiers.Renames()
r.RR1()
r.RR2()
r.RR3()
r.SS1(0)
r.SS2(0)
r.SS3(0)
# Conversion operators
co = cpp11_ref_qualifiers.ConversionOperators()
s = co.StringConvertCopy()
s = co.StringConvertMove()
co2 = cpp11_ref_qualifiers.ConversionOperators2()
s = co2.StringConvertMove()
# Default arguments
from swig_test_utils import swig_assert, swig_check
d = cpp11_ref_qualifiers.DefaultArgs()
swig_check(d.vol(), 100)
swig_check(d.vol(10), 100)
swig_check(d.vol(10, 20), 100)
swig_check(d.lref(), 200)
swig_check(d.lref(10), 200)
swig_check(d.lref(10, 20), 200)
swig_check(d.cvref_renamed(), 3)
swig_check(d.cvref_renamed(10), 12)
swig_check(d.cvref_renamed(10, 20), 30)
swig_check(d.rv(), 3)
swig_check(d.rv(10), 12)
swig_check(d.rv(10, 20), 30)
swig_assert(not hasattr(d, "cvref"), "cvref should be renamed")
swig_assert(not hasattr(d, "crv"), "crv should not be wrapped")