scilab: truncates too long identifier names (in addition to display warnings)

This commit is contained in:
Simon Marchetto 2014-09-25 14:29:52 +02:00
commit 3ca185197c
4 changed files with 86 additions and 18 deletions

View file

@ -14,6 +14,7 @@ top_builddir = ../@top_builddir@
C_TEST_CASES += \
scilab_consts \
scilab_enums \
scilab_identifier_name \
CPP_TEST_CASES += \
inout \

View file

@ -0,0 +1,19 @@
exec("swigtest.start", -1);
// Not truncated identifier names
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
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
checkequal(SC_CONST_IDENTIFIER_NAME, int32(-12), "SC_TOO_LONG_IDENTIF");
checkequal(SC_TOO_LONG_CONST_IDENTI, int32(14), "SC_TOO_LONG_IDENTIF");
exec("swigtest.quit", -1);

View file

@ -0,0 +1,35 @@
%module scilab_identifier_name
// Test identifier name truncating
// (when variables, fonctions, constants names exceed 24 charaters long)
%inline %{
// 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
int too_long_gvar_identifier_name_1 = 1;
int too_long_gvar_identifier_name_2 = 2;
#define TOO_LONG_CONST_IDENTIFIER_NAME_1 11
#define TOO_LONG_CONST_IDENTIFIER_NAME_2 12
int too_long_function_identifier_name_1() { return 21; };
int too_long_function_identifier_name_2() { return 22; };
%}
// Test when %scilabconst mode is activated
%scilabconst(1);
%inline %{
#define SC_CONST_IDENTIFIER_NAME -12;
#define SC_TOO_LONG_CONST_IDENTIFIER_NAME_1 13
#define SC_TOO_LONG_CONST_IDENTIFIER_NAME_2 14
%}