scilab: truncates too long (struct, class) member names

This commit is contained in:
Simon Marchetto 2014-09-26 17:23:27 +02:00
commit 8b998cb538
3 changed files with 102 additions and 24 deletions

View file

@ -1,19 +1,29 @@
exec("swigtest.start", -1);
// Not truncated identifier names
// Test truncating variables, constants, functions identifier names
// not truncated
gvar_identifier_name_set(-101);
checkequal(gvar_identifier_name_get(), -101, "gvar_identifier_name_get()");
checkequal(CONS_IDENTIFIER_NAME_get(), -11, "CONS_IDENTIFIER_NAME_get()");
checkequal(function_identifier_name(), -21, "function_identifier_name()");
// Truncated identifier names
// truncated
too_long_gvar_identi_set(101);
checkequal(too_long_gvar_identi_get(), 101, "too_long_variable_id_get()");
checkequal(TOO_LONG_CONST_IDENT_get(), 11, "TOO_LONG_CONST_IDENT_get()");
checkequal(too_long_function_identi(), 21, "too_long_function_identi()");
// Test identifier names in scilabconst mode
// Test truncating when %scilabconst mode is activated
checkequal(SC_CONST_IDENTIFIER_NAME, int32(-12), "SC_TOO_LONG_IDENTIF");
checkequal(SC_TOO_LONG_CONST_IDENTI, int32(14), "SC_TOO_LONG_IDENTIF");
// Test truncating in the case of struct
st = new_st();
st_m_identifier_name_set(st, 15);
checkequal(st_m_identifier_name_get(st), 15, "st_m_identifier_name_get(st)");
st_too_long_member_i_set(st, 25);
checkequal(st_too_long_member_i_get(st), 25, "st_too_long_member_i_get(st)");
delete_st(st);
exec("swigtest.quit", -1);

View file

@ -1,17 +1,18 @@
%module scilab_identifier_name
//
// Test long identifier name (> 24 characters) truncating
//
// Test identifier name truncating
// (when variables, fonctions, constants names exceed 24 charaters long)
// Test truncating variables, constants, functions identifier names
%inline %{
// These identifier names wont be truncated
// these identifier names wont be truncated
int gvar_identifier_name = -1;
#define CONS_IDENTIFIER_NAME -11
int function_identifier_name() { return -21; };
// These identifier names will be truncated
// these identifier names will be truncated
int too_long_gvar_identifier_name_1 = 1;
int too_long_gvar_identifier_name_2 = 2;
@ -20,11 +21,9 @@ int too_long_gvar_identifier_name_2 = 2;
int too_long_function_identifier_name_1() { return 21; };
int too_long_function_identifier_name_2() { return 22; };
%}
// Test when %scilabconst mode is activated
// Test truncating when %scilabconst mode is activated
%scilabconst(1);
%inline %{
@ -33,3 +32,25 @@ int too_long_function_identifier_name_2() { return 22; };
#define SC_TOO_LONG_CONST_IDENTIFIER_NAME_1 13
#define SC_TOO_LONG_CONST_IDENTIFIER_NAME_2 14
%}
%scilabconst(0);
// Test truncating in the case of struct
%inline %{
struct st {
int m_identifier_name;
int too_long_member_identifier_name;
int too_long_member_function_name() { return 31; };
};
%}