diff --git a/tests/run/cpp_custom_string.srctree b/tests/run/cpp_custom_string.srctree index 11541d307d80d5ac2aeda670db12212aeac4040c..d70860d6ebb10e0ddd3b3bcab723b3a8361bd044 100644 --- a/tests/run/cpp_custom_string.srctree +++ b/tests/run/cpp_custom_string.srctree @@ -36,6 +36,8 @@ class MyString2 : public MyString { MyString2(const char* data, size_t size) : MyString(data, size) { } }; +typedef MyString MyTypedefString; + ######## a.pyx ######## # distutils: language = c++ @@ -44,19 +46,26 @@ cdef extern from "my_string.cpp": cdef cppclass MyString: pass -cdef extern from "my_string.cpp": cdef cppclass MyString2: pass + ctypedef MyString2 MyTypedefString # really a MyString + def do_convert(MyString value): return value def do_convert2(MyString2 value): return value +def do_convert_typedef(MyTypedefString value): + return value + def test_convert(): assert do_convert(b"abc") == b"abc" assert do_convert(b"ab\0c") == b"ab\0c" assert do_convert2(b"abc") == b"abc" assert do_convert2(b"ab\0c") == b"ab\0c" + + assert do_convert_typedef(b"abc") == "abc" + assert do_convert_typedef(b"ab\0c") == b"ab\0c"