2020-07-07 03:43:28 -04:00
# include "xmpp/resource.h"
2020-07-07 07:53:30 -04:00
# include "common.h"
2013-12-14 11:07:57 -05:00
# include <stdarg.h>
# include <stddef.h>
2020-07-07 07:53:30 -04:00
# include <setjmp.h>
# include <cmocka.h>
2013-12-14 11:07:57 -05:00
# include <stdlib.h>
2012-04-19 17:26:12 -04:00
2020-07-07 07:53:30 -04:00
void replace_one_substr ( void * * state )
2012-04-19 17:26:12 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " it is a string " ;
char * sub = " is " ;
char * new = " was " ;
2012-04-19 17:26:12 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:26:12 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " it was a string " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:26:12 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_one_substr_beginning ( void * * state )
2012-04-19 17:26:12 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " it is a string " ;
char * sub = " it " ;
char * new = " that " ;
2012-04-19 17:26:12 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:26:12 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " that is a string " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:26:12 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_one_substr_end ( void * * state )
2012-04-19 17:26:12 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " it is a string " ;
char * sub = " string " ;
char * new = " thing " ;
2012-04-19 17:26:12 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:26:12 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " it is a thing " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:26:12 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_two_substr ( void * * state )
2012-04-19 17:26:12 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " it is a is string " ;
char * sub = " is " ;
char * new = " was " ;
2012-04-19 17:26:12 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:26:12 -04:00
2014-01-18 21:14:28 -05:00
assert_string_equal ( " it was a was string " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:26:12 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_char ( void * * state )
2012-04-19 17:26:12 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " some & a thing & something else " ;
char * sub = " & " ;
char * new = " & " ;
2012-04-19 17:26:12 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:26:12 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " some & a thing & something else " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:26:12 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_when_none ( void * * state )
2012-04-19 17:57:22 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " its another string " ;
char * sub = " haha " ;
char * new = " replaced " ;
2012-04-19 17:57:22 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:57:22 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " its another string " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:57:22 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_when_match ( void * * state )
2012-04-19 17:57:22 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " hello " ;
char * sub = " hello " ;
char * new = " goodbye " ;
2012-04-19 17:57:22 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:57:22 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " goodbye " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:57:22 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_when_string_empty ( void * * state )
2012-04-19 17:57:22 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " " ;
char * sub = " hello " ;
char * new = " goodbye " ;
2012-04-19 17:57:22 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:57:22 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:57:22 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_when_string_null ( void * * state )
2012-04-19 17:57:22 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = NULL ;
char * sub = " hello " ;
char * new = " goodbye " ;
2012-04-19 17:57:22 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:57:22 -04:00
2013-12-14 11:07:57 -05:00
assert_null ( result ) ;
2012-04-19 17:57:22 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_when_sub_empty ( void * * state )
2012-04-19 17:57:22 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " hello " ;
char * sub = " " ;
char * new = " goodbye " ;
2012-04-19 17:57:22 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:57:22 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " hello " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:57:22 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_when_sub_null ( void * * state )
2012-04-19 17:57:22 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " hello " ;
char * sub = NULL ;
char * new = " goodbye " ;
2012-04-19 17:57:22 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:57:22 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " hello " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:57:22 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_when_new_empty ( void * * state )
2012-04-19 17:57:22 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " hello " ;
char * sub = " hello " ;
char * new = " " ;
2012-04-19 17:57:22 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:57:22 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:57:22 -04:00
}
2020-07-07 07:53:30 -04:00
void replace_when_new_null ( void * * state )
2012-04-19 17:57:22 -04:00
{
2020-07-07 07:53:30 -04:00
char * string = " hello " ;
char * sub = " hello " ;
char * new = NULL ;
2012-04-19 17:57:22 -04:00
2020-07-07 07:53:30 -04:00
char * result = str_replace ( string , sub , new ) ;
2012-04-19 17:57:22 -04:00
2013-12-14 11:07:57 -05:00
assert_string_equal ( " hello " , result ) ;
2014-01-21 16:07:35 -05:00
free ( result ) ;
2012-04-19 17:57:22 -04:00
}
2020-07-07 07:53:30 -04:00
void test_online_is_valid_resource_presence_string ( void * * state )
2013-12-17 17:58:27 -05:00
{
assert_true ( valid_resource_presence_string ( " online " ) ) ;
}
2020-07-07 07:53:30 -04:00
void test_chat_is_valid_resource_presence_string ( void * * state )
2013-12-17 17:58:27 -05:00
{
assert_true ( valid_resource_presence_string ( " chat " ) ) ;
}
2020-07-07 07:53:30 -04:00
void test_away_is_valid_resource_presence_string ( void * * state )
2013-12-17 17:58:27 -05:00
{
assert_true ( valid_resource_presence_string ( " away " ) ) ;
}
2020-07-07 07:53:30 -04:00
void test_xa_is_valid_resource_presence_string ( void * * state )
2013-12-17 17:58:27 -05:00
{
assert_true ( valid_resource_presence_string ( " xa " ) ) ;
}
2020-07-07 07:53:30 -04:00
void test_dnd_is_valid_resource_presence_string ( void * * state )
2013-12-17 17:58:27 -05:00
{
assert_true ( valid_resource_presence_string ( " dnd " ) ) ;
}
2020-07-07 07:53:30 -04:00
void test_available_is_not_valid_resource_presence_string ( void * * state )
2013-12-17 17:58:27 -05:00
{
assert_false ( valid_resource_presence_string ( " available " ) ) ;
}
2020-07-07 07:53:30 -04:00
void test_unavailable_is_not_valid_resource_presence_string ( void * * state )
2013-12-17 17:58:27 -05:00
{
assert_false ( valid_resource_presence_string ( " unavailable " ) ) ;
}
2020-07-07 07:53:30 -04:00
void test_blah_is_not_valid_resource_presence_string ( void * * state )
2013-12-17 17:58:27 -05:00
{
assert_false ( valid_resource_presence_string ( " blah " ) ) ;
}
2014-05-01 17:18:04 -04:00
2020-07-07 07:53:30 -04:00
void utf8_display_len_null_str ( void * * state )
2015-01-17 16:09:40 -05:00
{
int result = utf8_display_len ( NULL ) ;
assert_int_equal ( 0 , result ) ;
}
2020-07-07 07:53:30 -04:00
void utf8_display_len_1_non_wide ( void * * state )
2015-01-17 16:09:40 -05:00
{
int result = utf8_display_len ( " 1 " ) ;
assert_int_equal ( 1 , result ) ;
}
2020-07-07 07:53:30 -04:00
void utf8_display_len_1_wide ( void * * state )
2015-01-17 16:09:40 -05:00
{
int result = utf8_display_len ( " 四 " ) ;
assert_int_equal ( 2 , result ) ;
}
2020-07-07 07:53:30 -04:00
void utf8_display_len_non_wide ( void * * state )
2015-01-17 16:09:40 -05:00
{
int result = utf8_display_len ( " 123456789abcdef " ) ;
assert_int_equal ( 15 , result ) ;
}
2020-07-07 07:53:30 -04:00
void utf8_display_len_wide ( void * * state )
2015-01-17 16:09:40 -05:00
{
int result = utf8_display_len ( " 12三四56 " ) ;
assert_int_equal ( 8 , result ) ;
}
2020-07-07 07:53:30 -04:00
void utf8_display_len_all_wide ( void * * state )
2015-01-17 16:09:40 -05:00
{
int result = utf8_display_len ( " ひらがな " ) ;
assert_int_equal ( 8 , result ) ;
}
2020-07-07 07:53:30 -04:00
void strip_quotes_does_nothing_when_no_quoted ( void * * state )
2015-02-08 15:59:51 -05:00
{
2020-07-07 07:53:30 -04:00
char * input = " /cmd test string " ;
2015-02-08 15:59:51 -05:00
2020-07-07 07:53:30 -04:00
char * result = strip_arg_quotes ( input ) ;
2015-02-08 15:59:51 -05:00
assert_string_equal ( " /cmd test string " , result ) ;
free ( result ) ;
}
2020-07-07 07:53:30 -04:00
void strip_quotes_strips_first ( void * * state )
2015-02-08 15:59:51 -05:00
{
2020-07-07 07:53:30 -04:00
char * input = " /cmd \" test string " ;
2015-02-08 15:59:51 -05:00
2020-07-07 07:53:30 -04:00
char * result = strip_arg_quotes ( input ) ;
2015-02-08 15:59:51 -05:00
assert_string_equal ( " /cmd test string " , result ) ;
2015-10-09 06:49:17 -04:00
2015-02-08 15:59:51 -05:00
free ( result ) ;
}
2020-07-07 07:53:30 -04:00
void strip_quotes_strips_last ( void * * state )
2015-02-08 15:59:51 -05:00
{
2020-07-07 07:53:30 -04:00
char * input = " /cmd test string \" " ;
2015-02-08 15:59:51 -05:00
2020-07-07 07:53:30 -04:00
char * result = strip_arg_quotes ( input ) ;
2015-02-08 15:59:51 -05:00
assert_string_equal ( " /cmd test string " , result ) ;
free ( result ) ;
}
2020-07-07 07:53:30 -04:00
void strip_quotes_strips_both ( void * * state )
2015-02-08 15:59:51 -05:00
{
2020-07-07 07:53:30 -04:00
char * input = " /cmd \" test string \" " ;
2015-02-08 15:59:51 -05:00
2020-07-07 07:53:30 -04:00
char * result = strip_arg_quotes ( input ) ;
2015-02-08 15:59:51 -05:00
assert_string_equal ( " /cmd test string " , result ) ;
free ( result ) ;
}
2016-04-06 20:01:27 -04:00
gboolean
2020-07-07 07:53:30 -04:00
_lists_equal ( GSList * a , GSList * b )
2016-04-06 20:01:27 -04:00
{
if ( g_slist_length ( a ) ! = g_slist_length ( b ) ) {
return FALSE ;
}
2020-07-07 07:53:30 -04:00
GSList * curra = a ;
GSList * currb = b ;
2016-04-06 20:01:27 -04:00
while ( curra ) {
int aval = GPOINTER_TO_INT ( curra - > data ) ;
int bval = GPOINTER_TO_INT ( currb - > data ) ;
if ( aval ! = bval ) {
return FALSE ;
}
2018-10-31 12:35:59 -04:00
curra = g_slist_next ( curra ) ;
currb = g_slist_next ( currb ) ;
2016-04-06 20:01:27 -04:00
}
return TRUE ;
}
2020-07-07 07:53:30 -04:00
void prof_partial_occurrences_tests ( void * * state )
2016-04-06 20:01:27 -04:00
{
2020-07-07 07:53:30 -04:00
GSList * actual = NULL ;
GSList * expected = NULL ;
2020-07-07 03:43:28 -04:00
assert_true ( _lists_equal ( prof_occurrences ( NULL , NULL , 0 , FALSE , & actual ) , expected ) ) ;
2020-07-07 07:53:30 -04:00
g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( NULL , " some string " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , NULL , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( NULL , NULL , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " Boothj5 " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " Boothj5 " , " boothj5 " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 0 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5 " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5hello " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5 hello " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 5 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " helloboothj5 " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " helloboothj5hello " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 6 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hello boothj5 " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hello boothj5 hello " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 0 ) ) ;
expected = g_slist_append ( expected , GINT_TO_POINTER ( 7 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5boothj5 " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 0 ) ) ;
expected = g_slist_append ( expected , GINT_TO_POINTER ( 12 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5helloboothj5 " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 0 ) ) ;
expected = g_slist_append ( expected , GINT_TO_POINTER ( 14 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5 hello boothj5 " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 2 ) ) ;
expected = g_slist_append ( expected , GINT_TO_POINTER ( 16 ) ) ;
expected = g_slist_append ( expected , GINT_TO_POINTER ( 29 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hiboothj5 hello boothj5there boothj5s " , 0 , FALSE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
}
2020-07-07 07:53:30 -04:00
void prof_whole_occurrences_tests ( void * * state )
2016-04-06 20:01:27 -04:00
{
2020-07-07 07:53:30 -04:00
GSList * actual = NULL ;
GSList * expected = NULL ;
2016-04-06 20:01:27 -04:00
assert_true ( _lists_equal ( prof_occurrences ( NULL , NULL , 0 , FALSE , & actual ) , expected ) ) ;
2020-07-07 07:53:30 -04:00
g_slist_free ( actual ) ; actual = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 0 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5 hi " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5: hi " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5, hi " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
2017-01-25 19:52:13 -05:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 0 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " 我能吞下玻璃而 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " 我能吞下玻璃而 hi " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " 我能吞下玻璃而: hi " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " 我能吞下玻璃而, hi " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2017-01-25 19:52:13 -05:00
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 6 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hello boothj5 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hello boothj5 there " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " heyy @boothj5, there " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
2017-01-25 19:52:13 -05:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 6 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hello 我能吞下玻璃而 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hello 我能吞下玻璃而 there " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " heyy @我能吞下玻璃而, there " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2017-01-25 19:52:13 -05:00
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 6 ) ) ;
expected = g_slist_append ( expected , GINT_TO_POINTER ( 26 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hello boothj5 some more a boothj5 stuff " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hello boothj5 there ands #boothj5 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " heyy @boothj5, there hows boothj5? " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
2017-01-25 19:52:13 -05:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 6 ) ) ;
expected = g_slist_append ( expected , GINT_TO_POINTER ( 26 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hello 我能吞下玻璃而 some more a 我能吞下玻璃而 stuff " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hello 我能吞下玻璃而 there ands #我能吞下玻璃而 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " heyy @我能吞下玻璃而, there hows 我能吞下玻璃而? " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2017-01-25 19:52:13 -05:00
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 6 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " p " , " ppppp p " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 0 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " p " , " p ppppp " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = g_slist_append ( expected , GINT_TO_POINTER ( 4 ) ) ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " p " , " ppp p ppp " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2016-04-06 20:01:27 -04:00
expected = NULL ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5hello " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " heyboothj5 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " heyboothj5hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hey boothj5hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " hey @boothj5hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " heyboothj5 hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " heyboothj5, hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5boothj5 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " boothj5 " , " boothj5fillboothj5 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " k " , " dont know " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " k " , " kick " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " k " , " kick kick " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " k " , " kick kickk " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " k " , " kic " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " k " , " ick " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " k " , " kk " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " k " , " kkkkkkk " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2017-01-25 19:52:13 -05:00
expected = NULL ;
2020-07-07 07:53:30 -04:00
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " 我能吞下玻璃而hello " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hey我能吞下玻璃而 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hey我能吞下玻璃而hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hey 我能吞下玻璃而hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hey @我能吞下玻璃而hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hey我能吞下玻璃而 hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " hey我能吞下玻璃而, hithere " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " 我能吞下玻璃而我能吞下玻璃而 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
assert_true ( _lists_equal ( prof_occurrences ( " 我能吞下玻璃而 " , " 我能吞下玻璃而fill我能吞下玻璃而 " , 0 , TRUE , & actual ) , expected ) ) ; g_slist_free ( actual ) ; actual = NULL ;
g_slist_free ( expected ) ; expected = NULL ;
2015-08-26 18:52:40 -04:00
}