Add tests for enum values and static const member variables chars containing escape sequences
This commit is contained in:
parent
2ad0e784ab
commit
62c34fc9d9
5 changed files with 85 additions and 1 deletions
|
|
@ -12,4 +12,23 @@ char GetUnprintableChar() {
|
|||
return 0x7F;
|
||||
}
|
||||
|
||||
static const char globchar0 = '\0';
|
||||
static const char globchar1 = '\1';
|
||||
static const char globchar2 = '\n';
|
||||
static const char globcharA = 'A';
|
||||
static const char globcharB = '\102'; // B
|
||||
static const char globcharC = '\x43'; // C
|
||||
static const char globcharD = 0x44; // D
|
||||
static const char globcharE = 69; // E
|
||||
|
||||
struct CharTestClass {
|
||||
static const char memberchar0 = '\0';
|
||||
static const char memberchar1 = '\1';
|
||||
static const char memberchar2 = '\n';
|
||||
static const char membercharA = 'A';
|
||||
static const char membercharB = '\102'; // B
|
||||
static const char membercharC = '\x43'; // C
|
||||
static const char membercharD = 0x44; // D
|
||||
static const char membercharE = 69; // E
|
||||
};
|
||||
%}
|
||||
|
|
|
|||
|
|
@ -379,6 +379,7 @@ CPP_TEST_CASES += \
|
|||
static_array_member \
|
||||
static_const_member \
|
||||
static_const_member_2 \
|
||||
string_constants \
|
||||
struct_initialization_cpp \
|
||||
struct_value \
|
||||
symbol_clash \
|
||||
|
|
|
|||
|
|
@ -77,6 +77,10 @@
|
|||
// char
|
||||
char chartest1(char c = 'x') { return c; }
|
||||
char chartest2(char c = '\0') { return c; }
|
||||
char chartest3(char c = '\1') { return c; }
|
||||
char chartest4(char c = '\n') { return c; }
|
||||
char chartest5(char c = '\102') { return c; } // 'B'
|
||||
char chartest6(char c = '\x43') { return c; } // 'C'
|
||||
|
||||
// namespaces
|
||||
namespace AType {
|
||||
|
|
|
|||
|
|
@ -585,7 +585,50 @@ enum {
|
|||
};
|
||||
int globalDifferentTypesTest(int n) { return n; }
|
||||
}
|
||||
%}
|
||||
|
||||
#if defined(SWIGJAVA)
|
||||
%javaconst(0) enumcharC;
|
||||
%javaconst(0) globalenumcharC;
|
||||
#elif defined(SWIGCSHARP)
|
||||
%csconstvalue("1") globalenumchar1;
|
||||
%csconstvalue("'B'") globalenumcharB;
|
||||
%csconstvalue("1") enumchar1;
|
||||
%csconstvalue("'B'") enumcharB;
|
||||
#endif
|
||||
%inline %{
|
||||
enum {
|
||||
globalenumchar0 = '\0',
|
||||
globalenumchar1 = '\1',
|
||||
globalenumchar2 = '\n',
|
||||
globalenumcharA = 'A',
|
||||
globalenumcharB = '\102', // B
|
||||
globalenumcharC = '\x43', // C
|
||||
globalenumcharD = 0x44, // D
|
||||
globalenumcharE = 69 // E
|
||||
};
|
||||
enum EnumChar {
|
||||
enumchar0 = '\0',
|
||||
enumchar1 = '\1',
|
||||
enumchar2 = '\n',
|
||||
enumcharA = 'A',
|
||||
enumcharB = '\102', // B
|
||||
enumcharC = '\x43', // C
|
||||
enumcharD = 0x44, // D
|
||||
enumcharE = 69 // E
|
||||
};
|
||||
struct EnumCharStruct {
|
||||
enum EnumChar {
|
||||
enumchar0 = '\0',
|
||||
enumchar1 = '\1',
|
||||
enumchar2 = '\n',
|
||||
enumcharA = 'A',
|
||||
enumcharB = '\102', // B
|
||||
enumcharC = '\x43', // C
|
||||
enumcharD = 0x44, // D
|
||||
enumcharE = 69 // E
|
||||
};
|
||||
};
|
||||
%}
|
||||
|
||||
#if defined(SWIGJAVA)
|
||||
|
|
@ -614,5 +657,4 @@ enum {
|
|||
global_typedefaultint_noconst
|
||||
};
|
||||
}
|
||||
|
||||
%}
|
||||
|
|
|
|||
|
|
@ -136,5 +136,23 @@ def run(module_name):
|
|||
if default_args.CDA().cdefaultargs_test2() != 1:
|
||||
raise RuntimeError
|
||||
|
||||
if default_args.chartest1() != 'x':
|
||||
raise RuntimeError
|
||||
|
||||
if default_args.chartest2() != '\0':
|
||||
raise RuntimeError
|
||||
|
||||
if default_args.chartest3() != '\1':
|
||||
raise RuntimeError
|
||||
|
||||
if default_args.chartest4() != '\n':
|
||||
raise RuntimeError
|
||||
|
||||
if default_args.chartest5() != 'B':
|
||||
raise RuntimeError
|
||||
|
||||
if default_args.chartest6() != 'C':
|
||||
raise RuntimeError
|
||||
|
||||
if __name__ == "__main__":
|
||||
run('default_args')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue