mirror of https://github.com/swig/swig
%apply signed char test added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9234 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
3730b3ee07
commit
18715d1471
|
@ -0,0 +1,35 @@
|
|||
/* Test %apply for char */
|
||||
|
||||
%module(directors="1") apply_signed_char
|
||||
|
||||
%warnfilter(SWIGWARN_TYPEMAP_THREAD_UNSAFE,SWIGWARN_TYPEMAP_DIRECTOROUT_PTR) DirectorTest;
|
||||
|
||||
%apply signed char {char, const char};
|
||||
%apply const signed char & {const char &};
|
||||
|
||||
%inline %{
|
||||
char CharValFunction(char number) { return number; }
|
||||
const char CCharValFunction(const char number) { return number; }
|
||||
const char & CCharRefFunction(const char & number) { return number; }
|
||||
char globalchar = -109;
|
||||
const char globalconstchar = -110;
|
||||
%}
|
||||
|
||||
// Director test
|
||||
%feature("director");
|
||||
|
||||
%inline %{
|
||||
struct DirectorTest {
|
||||
|
||||
DirectorTest() : memberchar(-111), memberconstchar(-112) {}
|
||||
|
||||
virtual char CharValFunction(char number) { return number; }
|
||||
virtual const char CCharValFunction(const char number) { return number; }
|
||||
virtual const char & CCharRefFunction(const char & number) { return number; }
|
||||
|
||||
char memberchar;
|
||||
const char memberconstchar;
|
||||
|
||||
virtual ~DirectorTest() {}
|
||||
};
|
||||
%}
|
|
@ -75,6 +75,7 @@ CPP_TEST_CASES += \
|
|||
aggregate \
|
||||
allowexcept \
|
||||
anonymous_bitfield \
|
||||
apply_signed_char \
|
||||
apply_strings \
|
||||
argout \
|
||||
array_member \
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
import apply_signed_char.*;
|
||||
|
||||
public class apply_signed_char_runme {
|
||||
|
||||
static {
|
||||
try {
|
||||
System.loadLibrary("apply_signed_char");
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String argv[]) {
|
||||
byte smallnum = -127;
|
||||
if (apply_signed_char.CharValFunction(smallnum) != smallnum) throw new RuntimeException("failed");
|
||||
if (apply_signed_char.CCharValFunction(smallnum) != smallnum) throw new RuntimeException("failed");
|
||||
if (apply_signed_char.CCharRefFunction(smallnum) != smallnum) throw new RuntimeException("failed");
|
||||
|
||||
apply_signed_char.setGlobalchar(smallnum);
|
||||
if (apply_signed_char.getGlobalchar() != smallnum) throw new RuntimeException("failed");
|
||||
if (apply_signed_char.getGlobalconstchar() != -110) throw new RuntimeException("failed");
|
||||
|
||||
DirectorTest d = new DirectorTest();
|
||||
if (d.CharValFunction(smallnum) != smallnum) throw new RuntimeException("failed");
|
||||
if (d.CCharValFunction(smallnum) != smallnum) throw new RuntimeException("failed");
|
||||
if (d.CCharRefFunction(smallnum) != smallnum) throw new RuntimeException("failed");
|
||||
|
||||
d.setMemberchar(smallnum);
|
||||
if (d.getMemberchar() != smallnum) throw new RuntimeException("failed");
|
||||
if (d.getMemberconstchar() != -112) throw new RuntimeException("failed");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue