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;
|
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_array_member \
|
||||||
static_const_member \
|
static_const_member \
|
||||||
static_const_member_2 \
|
static_const_member_2 \
|
||||||
|
string_constants \
|
||||||
struct_initialization_cpp \
|
struct_initialization_cpp \
|
||||||
struct_value \
|
struct_value \
|
||||||
symbol_clash \
|
symbol_clash \
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,10 @@
|
||||||
// char
|
// char
|
||||||
char chartest1(char c = 'x') { return c; }
|
char chartest1(char c = 'x') { return c; }
|
||||||
char chartest2(char c = '\0') { 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
|
// namespaces
|
||||||
namespace AType {
|
namespace AType {
|
||||||
|
|
|
||||||
|
|
@ -585,7 +585,50 @@ enum {
|
||||||
};
|
};
|
||||||
int globalDifferentTypesTest(int n) { return n; }
|
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)
|
#if defined(SWIGJAVA)
|
||||||
|
|
@ -614,5 +657,4 @@ enum {
|
||||||
global_typedefaultint_noconst
|
global_typedefaultint_noconst
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
|
||||||
|
|
@ -136,5 +136,23 @@ def run(module_name):
|
||||||
if default_args.CDA().cdefaultargs_test2() != 1:
|
if default_args.CDA().cdefaultargs_test2() != 1:
|
||||||
raise RuntimeError
|
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__":
|
if __name__ == "__main__":
|
||||||
run('default_args')
|
run('default_args')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue