@ -45,6 +45,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
# include "asterisk/stringfields.h"
# include "asterisk/stringfields.h"
# include "asterisk/threadstorage.h"
# include "asterisk/threadstorage.h"
# include "asterisk/test.h"
# include "asterisk/test.h"
# include "asterisk/vector.h"
static enum ast_test_result_state test_chan_integer ( struct ast_test * test ,
static enum ast_test_result_state test_chan_integer ( struct ast_test * test ,
struct ast_channel * c , int * ifield , const char * expression )
struct ast_channel * c , int * ifield , const char * expression )
@ -227,6 +228,7 @@ AST_TEST_DEFINE(test_substitution)
struct ast_channel * c ;
struct ast_channel * c ;
int i ;
int i ;
enum ast_test_result_state res = AST_TEST_PASS ;
enum ast_test_result_state res = AST_TEST_PASS ;
struct ast_vector_string * funcs ;
switch ( cmd ) {
switch ( cmd ) {
case TEST_INIT :
case TEST_INIT :
@ -304,11 +306,12 @@ AST_TEST_DEFINE(test_substitution)
# undef TEST
# undef TEST
/* For testing dialplan functions */
/* For testing dialplan functions */
for ( i = 0 ; ; i + + ) {
funcs = ast_cli_completion_vector ( " core show function " , " " ) ;
char * cmd = ast_cli_generator ( " core show function " , " " , i ) ;
if ( cmd = = NULL ) {
/* Skip "best match" element 0 */
break ;
for ( i = 1 ; funcs & & i < AST_VECTOR_SIZE ( funcs ) ; i + + ) {
}
char * cmd = AST_VECTOR_GET ( funcs , i ) ;
if ( strcmp ( cmd , " CHANNEL " ) & & strcmp ( cmd , " CALLERID " ) & & strncmp ( cmd , " CURL " , 4 ) & &
if ( strcmp ( cmd , " CHANNEL " ) & & strcmp ( cmd , " CALLERID " ) & & strncmp ( cmd , " CURL " , 4 ) & &
strncmp ( cmd , " AES " , 3 ) & & strncmp ( cmd , " BASE64 " , 6 ) & &
strncmp ( cmd , " AES " , 3 ) & & strncmp ( cmd , " BASE64 " , 6 ) & &
strcmp ( cmd , " CDR " ) & & strcmp ( cmd , " ENV " ) & & strcmp ( cmd , " GLOBAL " ) & &
strcmp ( cmd , " CDR " ) & & strcmp ( cmd , " ENV " ) & & strcmp ( cmd , " GLOBAL " ) & &
@ -323,10 +326,14 @@ AST_TEST_DEFINE(test_substitution)
}
}
}
}
}
}
ast_free ( cmd ) ;
}
}
if ( funcs ) {
AST_VECTOR_CALLBACK_VOID ( funcs , ast_free ) ;
AST_VECTOR_PTR_FREE ( funcs ) ;
}
ast_hangup ( c ) ;
ast_hangup ( c ) ;
return res ;
return res ;
}
}