diff --git a/tests/string/ltrim.bas b/tests/string/ltrim.bas index 3c991cac3..614cd3659 100644 --- a/tests/string/ltrim.bas +++ b/tests/string/ltrim.bas @@ -161,4 +161,211 @@ SUITE( fbc_tests.string_.ltrim_ ) END_TEST + TEST( ltrim_var_len ) + + #macro chk_ltrimDef( expr, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = ltrim( expr ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + #macro chk_ltrimPat( expr, pattern, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = ltrim( expr, pattern ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + #macro chk_ltrimAny( expr, filter, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = ltrim( expr, any filter ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + dim as const string n = "" + dim as const string z = chr( 0 ) + dim as const string s = chr( 32 ) + dim as const string c = "c" + dim as const string d = "d" + dim as const string t = "abc" + + '' sanity checks on strings + CU_ASSERT( len(n) = 0 ) + CU_ASSERT( len(z) = 1 ) + CU_ASSERT( len(s) = 1 ) + CU_ASSERT( len(c) = 1 ) + CU_ASSERT( len(d) = 1 ) + CU_ASSERT( len(t) = 3 ) + CU_ASSERT( len(z+z) = 2 ) + CU_ASSERT( len(z+z+t+z+z) = 7 ) + + '' + chk_ltrimDef( n , n ) + + '' + chk_ltrimDef( t , t ) + + chk_ltrimDef( z+t , z+t ) + chk_ltrimDef( s+t , t ) + chk_ltrimDef( d+t , d+t ) + + chk_ltrimDef( z+z+t, z+z+t ) + chk_ltrimDef( s+z+t, z+t ) + chk_ltrimDef( d+z+t, d+z+t ) + + chk_ltrimDef( z+s+t, z+s+t ) + chk_ltrimDef( s+s+t, t ) + chk_ltrimDef( d+s+t, d+s+t ) + + chk_ltrimDef( z+d+t, z+d+t ) + chk_ltrimDef( s+d+t, d+t ) + chk_ltrimDef( d+d+t, d+d+t ) + + '' + chk_ltrimPat( n, n, n ) + chk_ltrimPat( n, z, n ) + chk_ltrimPat( n, s, n ) + chk_ltrimPat( n, d, n ) + chk_ltrimPat( n, t, n ) + + chk_ltrimPat( t, n, t ) + chk_ltrimPat( t, z, t ) + chk_ltrimPat( t, s, t ) + chk_ltrimPat( t, d, t ) + chk_ltrimPat( t, t, n ) + + chk_ltrimPat( z+t, n, z+t ) + chk_ltrimPat( s+t, n, s+t ) + chk_ltrimPat( d+t, n, d+t ) + + chk_ltrimPat( z+t, z, t ) + chk_ltrimPat( s+t, z, s+t ) + chk_ltrimPat( d+t, z, d+t ) + + chk_ltrimPat( z+t, s, z+t ) + chk_ltrimPat( s+t, s, t ) + chk_ltrimPat( d+t, s, d+t ) + + chk_ltrimPat( z+t, d, z+t ) + chk_ltrimPat( s+t, d, s+t ) + chk_ltrimPat( d+t, d, t ) + + chk_ltrimPat( z+z+t, n, z+z+t ) + chk_ltrimPat( z+s+t, n, z+s+t ) + chk_ltrimPat( z+d+t, n, z+d+t ) + chk_ltrimPat( s+z+t, n, s+z+t ) + chk_ltrimPat( s+s+t, n, s+s+t ) + chk_ltrimPat( s+d+t, n, s+d+t ) + chk_ltrimPat( d+z+t, n, d+z+t ) + chk_ltrimPat( d+s+t, n, d+s+t ) + chk_ltrimPat( d+d+t, n, d+d+t ) + + chk_ltrimPat( z+z+t, z, t ) + chk_ltrimPat( z+s+t, z, s+t ) + chk_ltrimPat( z+d+t, z, d+t ) + chk_ltrimPat( s+z+t, z, s+z+t ) + chk_ltrimPat( s+s+t, z, s+s+t ) + chk_ltrimPat( s+d+t, z, s+d+t ) + chk_ltrimPat( d+z+t, z, d+z+t ) + chk_ltrimPat( d+s+t, z, d+s+t ) + chk_ltrimPat( d+d+t, z, d+d+t ) + + chk_ltrimPat( z+z+t, s, z+z+t ) + chk_ltrimPat( z+s+t, s, z+s+t ) + chk_ltrimPat( z+d+t, s, z+d+t ) + chk_ltrimPat( s+z+t, s, z+t ) + chk_ltrimPat( s+s+t, s, t ) + chk_ltrimPat( s+d+t, s, d+t ) + chk_ltrimPat( d+z+t, s, d+z+t ) + chk_ltrimPat( d+s+t, s, d+s+t ) + chk_ltrimPat( d+d+t, s, d+d+t ) + + chk_ltrimPat( z+z+t, d, z+z+t ) + chk_ltrimPat( z+s+t, d, z+s+t ) + chk_ltrimPat( z+d+t, d, z+d+t ) + chk_ltrimPat( s+z+t, d, s+z+t ) + chk_ltrimPat( s+s+t, d, s+s+t ) + chk_ltrimPat( s+d+t, d, s+d+t ) + chk_ltrimPat( d+z+t, d, z+t ) + chk_ltrimPat( d+s+t, d, s+t ) + chk_ltrimPat( d+d+t, d, t ) + + '' + chk_ltrimAny( n, n, n ) + chk_ltrimAny( n, z, n ) + chk_ltrimAny( n, s, n ) + chk_ltrimAny( n, d, n ) + chk_ltrimAny( n, t, n ) + + chk_ltrimAny( t, n, t ) + chk_ltrimAny( t, z, t ) + chk_ltrimAny( t, s, t ) + chk_ltrimAny( t, d, t ) + chk_ltrimAny( t, t, n ) + + chk_ltrimAny( z+t, n, z+t ) + chk_ltrimAny( s+t, n, s+t ) + chk_ltrimAny( d+t, n, d+t ) + + chk_ltrimAny( z+t, z, t ) + chk_ltrimAny( s+t, z, s+t ) + chk_ltrimAny( d+t, z, d+t ) + + chk_ltrimAny( z+t, s, z+t ) + chk_ltrimAny( s+t, s, t ) + chk_ltrimAny( d+t, s, d+t ) + + chk_ltrimAny( z+t, d, z+t ) + chk_ltrimAny( s+t, d, s+t ) + chk_ltrimAny( d+t, d, t ) + + chk_ltrimAny( z+z+t, n, z+z+t ) + chk_ltrimAny( z+s+t, n, z+s+t ) + chk_ltrimAny( z+d+t, n, z+d+t ) + chk_ltrimAny( s+z+t, n, s+z+t ) + chk_ltrimAny( s+s+t, n, s+s+t ) + chk_ltrimAny( s+d+t, n, s+d+t ) + chk_ltrimAny( d+z+t, n, d+z+t ) + chk_ltrimAny( d+s+t, n, d+s+t ) + chk_ltrimAny( d+d+t, n, d+d+t ) + + chk_ltrimAny( z+z+t, z, t ) + chk_ltrimAny( z+s+t, z, s+t ) + chk_ltrimAny( z+d+t, z, d+t ) + chk_ltrimAny( s+z+t, z, s+z+t ) + chk_ltrimAny( s+s+t, z, s+s+t ) + chk_ltrimAny( s+d+t, z, s+d+t ) + chk_ltrimAny( d+z+t, z, d+z+t ) + chk_ltrimAny( d+s+t, z, d+s+t ) + chk_ltrimAny( d+d+t, z, d+d+t ) + + chk_ltrimAny( z+z+t, s, z+z+t ) + chk_ltrimAny( z+s+t, s, z+s+t ) + chk_ltrimAny( z+d+t, s, z+d+t ) + chk_ltrimAny( s+z+t, s, z+t ) + chk_ltrimAny( s+s+t, s, t ) + chk_ltrimAny( s+d+t, s, d+t ) + chk_ltrimAny( d+z+t, s, d+z+t ) + chk_ltrimAny( d+s+t, s, d+s+t ) + chk_ltrimAny( d+d+t, s, d+d+t ) + + chk_ltrimAny( z+z+t, d, z+z+t ) + chk_ltrimAny( z+s+t, d, z+s+t ) + chk_ltrimAny( z+d+t, d, z+d+t ) + chk_ltrimAny( s+z+t, d, s+z+t ) + chk_ltrimAny( s+s+t, d, s+s+t ) + chk_ltrimAny( s+d+t, d, s+d+t ) + chk_ltrimAny( d+z+t, d, z+t ) + chk_ltrimAny( d+s+t, d, s+t ) + chk_ltrimAny( d+d+t, d, t ) + END_TEST + END_SUITE diff --git a/tests/string/rtrim.bas b/tests/string/rtrim.bas index 2227f5d39..297ed5bf1 100644 --- a/tests/string/rtrim.bas +++ b/tests/string/rtrim.bas @@ -161,4 +161,211 @@ SUITE( fbc_tests.string_.rtrim_ ) END_TEST + TEST( rtrim_var_len ) + + #macro chk_rtrimDef( expr, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = rtrim( expr ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + #macro chk_rtrimPat( expr, pattern, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = rtrim( expr, pattern ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + #macro chk_rtrimAny( expr, filter, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = rtrim( expr, any filter ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + dim as const string n = "" + dim as const string z = chr( 0 ) + dim as const string s = chr( 32 ) + dim as const string c = "c" + dim as const string d = "d" + dim as const string t = "abc" + + '' sanity checks on strings + CU_ASSERT( len(n) = 0 ) + CU_ASSERT( len(z) = 1 ) + CU_ASSERT( len(s) = 1 ) + CU_ASSERT( len(c) = 1 ) + CU_ASSERT( len(d) = 1 ) + CU_ASSERT( len(t) = 3 ) + CU_ASSERT( len(z+z) = 2 ) + CU_ASSERT( len(z+z+t+z+z) = 7 ) + + '' + chk_rtrimDef( n , n ) + + '' + chk_rtrimDef( t , t ) + + chk_rtrimDef( t+z , t ) '' !!!INFO!!! - default is to trim chr(0) and chr(32) + chk_rtrimDef( t+s , t ) + chk_rtrimDef( t+d , t+d ) + + chk_rtrimDef( t+z+z, t ) '' !!!INFO!!! - default is to trim chr(0) and chr(32) + chk_rtrimDef( t+s+z, t ) '' !!!INFO!!! - default is to trim chr(0) and chr(32) + chk_rtrimDef( t+d+z, t+d ) '' !!!INFO!!! - default is to trim chr(0) and chr(32) + + chk_rtrimDef( t+z+s, t ) '' !!!INFO!!! - default is to trim chr(0) and chr(32) + chk_rtrimDef( t+s+s, t ) + chk_rtrimDef( t+d+s, t+d ) + + chk_rtrimDef( t+z+d, t+z+d ) + chk_rtrimDef( t+s+d, t+s+d ) + chk_rtrimDef( t+d+d, t+d+d ) + + '' + chk_rtrimPat( n, n, n ) + chk_rtrimPat( n, z, n ) + chk_rtrimPat( n, s, n ) + chk_rtrimPat( n, d, n ) + chk_rtrimPat( n, t, n ) + + chk_rtrimPat( t, n, t ) + chk_rtrimPat( t, z, t ) + chk_rtrimPat( t, s, t ) + chk_rtrimPat( t, d, t ) + chk_rtrimPat( t, t, n ) + + chk_rtrimPat( t+z, n, t+z ) + chk_rtrimPat( t+s, n, t+s ) + chk_rtrimPat( t+d, n, t+d ) + + chk_rtrimPat( t+z, z, t ) + chk_rtrimPat( t+s, z, t+s ) + chk_rtrimPat( t+d, z, t+d ) + + chk_rtrimPat( t+z, s, t ) '' !!!FIXME!!! - expected 't+z', pattern is chr(32) only + chk_rtrimPat( t+s, s, t ) + chk_rtrimPat( t+d, s, t+d ) + + chk_rtrimPat( t+z, d, t ) '' !!!FIXME!!! - expected 't+z', pattern is "d" only + chk_rtrimPat( t+s, d, t+s ) + chk_rtrimPat( t+d, d, t ) + + chk_rtrimPat( t+z+z, n, t+z+z ) + chk_rtrimPat( t+z+s, n, t+z+s ) + chk_rtrimPat( t+z+d, n, t+z+d ) + chk_rtrimPat( t+s+z, n, t+s+z ) + chk_rtrimPat( t+s+s, n, t+s+s ) + chk_rtrimPat( t+s+d, n, t+s+d ) + chk_rtrimPat( t+d+z, n, t+d+z ) + chk_rtrimPat( t+d+s, n, t+d+s ) + chk_rtrimPat( t+d+d, n, t+d+d ) + + chk_rtrimPat( t+z+z, z, t ) + chk_rtrimPat( t+z+s, z, t+z+s ) + chk_rtrimPat( t+z+d, z, t+z+d ) + chk_rtrimPat( t+s+z, z, t+s ) + chk_rtrimPat( t+s+s, z, t+s+s ) + chk_rtrimPat( t+s+d, z, t+s+d ) + chk_rtrimPat( t+d+z, z, t+d ) + chk_rtrimPat( t+d+s, z, t+d+s ) + chk_rtrimPat( t+d+d, z, t+d+d ) + + chk_rtrimPat( t+z+z, s, t ) '' !!!FIXME!!! - expected 't+z+z', pattern is chr(32) only + chk_rtrimPat( t+z+s, s, t ) '' !!!FIXME!!! - expected 't+z', pattern is chr(32) only + chk_rtrimPat( t+z+d, s, t+z+d ) + chk_rtrimPat( t+s+z, s, t ) '' !!!FIXME!!! - expected 't+s+z', pattern is chr(32) only + chk_rtrimPat( t+s+s, s, t ) + chk_rtrimPat( t+s+d, s, t+s+d ) + chk_rtrimPat( t+d+z, s, t+d ) '' !!!FIXME!!! - expected 't+d+z', pattern is chr(32) only + chk_rtrimPat( t+d+s, s, t+d ) + chk_rtrimPat( t+d+d, s, t+d+d ) + + chk_rtrimPat( t+z+z, d, t ) '' !!!FIXME!!! - expected 't+z+z', pattern is "d" only + chk_rtrimPat( t+z+s, d, t+z+s ) + chk_rtrimPat( t+z+d, d, t ) '' !!!FIXME!!! - expected 't+z', pattern is "d" only + chk_rtrimPat( t+s+z, d, t+s ) '' !!!FIXME!!! - expected 't+s+z', pattern is "d" only + chk_rtrimPat( t+s+s, d, t+s+s ) + chk_rtrimPat( t+s+d, d, t+s ) + chk_rtrimPat( t+d+z, d, t ) '' !!!FIXME!!! - expected 't+d+z', pattern is "d" only + chk_rtrimPat( t+d+s, d, t+d+s ) + chk_rtrimPat( t+d+d, d, t ) + + '' + chk_rtrimAny( n, n, n ) + chk_rtrimAny( n, z, n ) + chk_rtrimAny( n, s, n ) + chk_rtrimAny( n, d, n ) + chk_rtrimAny( n, t, n ) + + chk_rtrimAny( t, n, t ) + chk_rtrimAny( t, z, t ) + chk_rtrimAny( t, s, t ) + chk_rtrimAny( t, d, t ) + chk_rtrimAny( t, t, n ) + + chk_rtrimAny( t+z, n, t+z ) + chk_rtrimAny( t+s, n, t+s ) + chk_rtrimAny( t+d, n, t+d ) + + chk_rtrimAny( t+z, z, t ) + chk_rtrimAny( t+s, z, t+s ) + chk_rtrimAny( t+d, z, t+d ) + + chk_rtrimAny( t+z, s, t+z ) + chk_rtrimAny( t+s, s, t ) + chk_rtrimAny( t+d, s, t+d ) + + chk_rtrimAny( t+z, d, t+z ) + chk_rtrimAny( t+s, d, t+s ) + chk_rtrimAny( t+d, d, t ) + + chk_rtrimAny( t+z+z, n, t+z+z ) + chk_rtrimAny( t+z+s, n, t+z+s ) + chk_rtrimAny( t+z+d, n, t+z+d ) + chk_rtrimAny( t+s+z, n, t+s+z ) + chk_rtrimAny( t+s+s, n, t+s+s ) + chk_rtrimAny( t+s+d, n, t+s+d ) + chk_rtrimAny( t+d+z, n, t+d+z ) + chk_rtrimAny( t+d+s, n, t+d+s ) + chk_rtrimAny( t+d+d, n, t+d+d ) + + chk_rtrimAny( t+z+z, z, t ) + chk_rtrimAny( t+z+s, z, t+z+s ) + chk_rtrimAny( t+z+d, z, t+z+d ) + chk_rtrimAny( t+s+z, z, t+s ) + chk_rtrimAny( t+s+s, z, t+s+s ) + chk_rtrimAny( t+s+d, z, t+s+d ) + chk_rtrimAny( t+d+z, z, t+d ) + chk_rtrimAny( t+d+s, z, t+d+s ) + chk_rtrimAny( t+d+d, z, t+d+d ) + + chk_rtrimAny( t+z+z, s, t+z+z ) + chk_rtrimAny( t+z+s, s, t+z ) + chk_rtrimAny( t+z+d, s, t+z+d ) + chk_rtrimAny( t+s+z, s, t+s+z ) + chk_rtrimAny( t+s+s, s, t ) + chk_rtrimAny( t+s+d, s, t+s+d ) + chk_rtrimAny( t+d+z, s, t+d+z ) + chk_rtrimAny( t+d+s, s, t+d ) + chk_rtrimAny( t+d+d, s, t+d+d ) + + chk_rtrimAny( t+z+z, d, t+z+z ) + chk_rtrimAny( t+z+s, d, t+z+s ) + chk_rtrimAny( t+z+d, d, t+z ) + chk_rtrimAny( t+s+z, d, t+s+z ) + chk_rtrimAny( t+s+s, d, t+s+s ) + chk_rtrimAny( t+s+d, d, t+s ) + chk_rtrimAny( t+d+z, d, t+d+z ) + chk_rtrimAny( t+d+s, d, t+d+s ) + chk_rtrimAny( t+d+d, d, t ) + END_TEST + END_SUITE diff --git a/tests/string/trim.bas b/tests/string/trim.bas index b7556ccaa..165649e4e 100644 --- a/tests/string/trim.bas +++ b/tests/string/trim.bas @@ -297,4 +297,211 @@ SUITE( fbc_tests.string_.trim_ ) END_TEST + TEST( trim_var_len ) + + #macro chk_trimDef( expr, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = trim( expr ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + #macro chk_trimPat( expr, pattern, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = trim( expr, pattern ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + #macro chk_trimAny( expr, filter, expected ) + scope + dim as string a = expr + dim as string e = expected + dim as string r = trim( expr, any filter ) + CU_ASSERT_EQUAL( r, expected ) + end scope + #endmacro + + dim as const string n = "" + dim as const string z = chr( 0 ) + dim as const string s = chr( 32 ) + dim as const string c = "c" + dim as const string d = "d" + dim as const string t = "abc" + + '' sanity checks on strings + CU_ASSERT( len(n) = 0 ) + CU_ASSERT( len(z) = 1 ) + CU_ASSERT( len(s) = 1 ) + CU_ASSERT( len(c) = 1 ) + CU_ASSERT( len(d) = 1 ) + CU_ASSERT( len(t) = 3 ) + CU_ASSERT( len(z+z) = 2 ) + CU_ASSERT( len(z+z+t+z+z) = 7 ) + + '' + chk_trimDef( n , n ) + + '' + chk_trimDef( t , t ) + + chk_trimDef( z+t+z , z+t ) '' !!!INFO!!! - default is to trim chr(32) from left and right and chr(0) only from right + chk_trimDef( s+t+s , t ) + chk_trimDef( d+t+d , d+t+d ) + + chk_trimDef( z+z+t+z+z, z+z+t ) '' !!!INFO!!! - default is to trim chr(32) from left and right and chr(0) only from right + chk_trimDef( s+z+t+z+s, z+t ) '' !!!INFO!!! - default is to trim chr(32) from left and right and chr(0) only from right + chk_trimDef( d+z+t+z+d, d+z+t+z+d ) + + chk_trimDef( z+s+t+s+z, z+s+t ) '' !!!INFO!!! - default is to trim chr(32) from left and right and chr(0) only from right + chk_trimDef( s+s+t+s+s, t ) + chk_trimDef( d+s+t+s+d, d+s+t+s+d ) + + chk_trimDef( z+d+t+d+z, z+d+t+d ) '' !!!INFO!!! - default is to trim chr(32) from left and right and chr(0) only from right + chk_trimDef( s+d+t+d+s, d+t+d ) + chk_trimDef( d+d+t+d+d, d+d+t+d+d ) + + '' + chk_trimPat( n, n, n ) + chk_trimPat( n, z, n ) + chk_trimPat( n, s, n ) + chk_trimPat( n, d, n ) + chk_trimPat( n, t, n ) + + chk_trimPat( t, n, t ) + chk_trimPat( t, z, t ) + chk_trimPat( t, s, t ) + chk_trimPat( t, d, t ) + chk_trimPat( t, t, n ) + + chk_trimPat( z+t+z, n, z+t+z ) + chk_trimPat( s+t+s, n, s+t+s ) + chk_trimPat( d+t+d, n, d+t+d ) + + chk_trimPat( z+t+z, z, t ) + chk_trimPat( s+t+s, z, s+t+s ) + chk_trimPat( d+t+d, z, d+t+d ) + + chk_trimPat( z+t+z, s, z+t ) '' !!!FIXME!!! - expected z+t+z, pattern is chr(32) only + chk_trimPat( s+t+s, s, t ) + chk_trimPat( d+t+d, s, d+t+d ) + + chk_trimPat( z+t+z, d, z+t ) '' !!!FIXME!!! - expected z+t+z, pattern is "d" only + chk_trimPat( s+t+s, d, s+t+s ) + chk_trimPat( d+t+d, d, t ) + + chk_trimPat( z+z+t+z+z, n, z+z+t+z+z ) + chk_trimPat( z+s+t+s+z, n, z+s+t+s+z ) + chk_trimPat( z+d+t+d+z, n, z+d+t+d+z ) + chk_trimPat( s+z+t+z+s, n, s+z+t+z+s ) + chk_trimPat( s+s+t+s+s, n, s+s+t+s+s ) + chk_trimPat( s+d+t+d+s, n, s+d+t+d+s ) + chk_trimPat( d+z+t+z+d, n, d+z+t+z+d ) + chk_trimPat( d+s+t+s+d, n, d+s+t+s+d ) + chk_trimPat( d+d+t+d+d, n, d+d+t+d+d ) + + chk_trimPat( z+z+t+z+z, z, t ) + chk_trimPat( z+s+t+s+z, z, s+t+s ) + chk_trimPat( z+d+t+d+z, z, d+t+d ) + chk_trimPat( s+z+t+z+s, z, s+z+t+z+s ) + chk_trimPat( s+s+t+s+s, z, s+s+t+s+s ) + chk_trimPat( s+d+t+d+s, z, s+d+t+d+s ) + chk_trimPat( d+z+t+z+d, z, d+z+t+z+d ) + chk_trimPat( d+s+t+s+d, z, d+s+t+s+d ) + chk_trimPat( d+d+t+d+d, z, d+d+t+d+d ) + + chk_trimPat( z+z+t+z+z, s, z+z+t ) '' !!!FIXME!!! - expected z+z+t+z+z, pattern is chr(32) only + chk_trimPat( z+s+t+s+z, s, z+s+t ) '' !!!FIXME!!! - expected z+s+t+s+z, pattern is chr(32) only + chk_trimPat( z+d+t+d+z, s, z+d+t+d ) '' !!!FIXME!!! - expected z+d+t+d+z, pattern is chr(32) only + chk_trimPat( s+z+t+z+s, s, z+t ) '' !!!FIXME!!! - expected z+t+z, pattern is chr(32) only + chk_trimPat( s+s+t+s+s, s, t ) + chk_trimPat( s+d+t+d+s, s, d+t+d ) + chk_trimPat( d+z+t+z+d, s, d+z+t+z+d ) + chk_trimPat( d+s+t+s+d, s, d+s+t+s+d ) + chk_trimPat( d+d+t+d+d, s, d+d+t+d+d ) + + chk_trimPat( z+z+t+z+z, d, z+z+t ) '' !!!FIXME!!! - expected z+z+t+z+z, pattern is 'd" only + chk_trimPat( z+s+t+s+z, d, z+s+t+s ) '' !!!FIXME!!! - expected z+s+t+s+z, pattern is 'd" only + chk_trimPat( z+d+t+d+z, d, z+d+t ) '' !!!FIXME!!! - expected z+d+t+d+z, pattern is 'd" only + chk_trimPat( s+z+t+z+s, d, s+z+t+z+s ) + chk_trimPat( s+s+t+s+s, d, s+s+t+s+s ) + chk_trimPat( s+d+t+d+s, d, s+d+t+d+s ) + chk_trimPat( d+z+t+z+d, d, z+t ) '' !!!FIXME!!! - expected z+t+z, pattern is 'd" only + chk_trimPat( d+s+t+s+d, d, s+t+s ) + chk_trimPat( d+d+t+d+d, d, t ) + + '' + chk_trimAny( n, n, n ) + chk_trimAny( n, z, n ) + chk_trimAny( n, s, n ) + chk_trimAny( n, d, n ) + chk_trimAny( n, t, n ) + + chk_trimAny( t, n, t ) + chk_trimAny( t, z, t ) + chk_trimAny( t, s, t ) + chk_trimAny( t, d, t ) + chk_trimAny( t, t, n ) + + chk_trimAny( z+t+z, n, z+t+z ) + chk_trimAny( s+t+s, n, s+t+s ) + chk_trimAny( d+t+d, n, d+t+d ) + + chk_trimAny( z+t+z, z, t ) + chk_trimAny( s+t+s, z, s+t+s ) + chk_trimAny( d+t+d, z, d+t+d ) + + chk_trimAny( z+t+z, s, z+t+z ) + chk_trimAny( s+t+s, s, t ) + chk_trimAny( d+t+d, s, d+t+d ) + + chk_trimAny( z+t+z, d, z+t+z ) + chk_trimAny( s+t+s, d, s+t+s ) + chk_trimAny( d+t+d, d, t ) + + chk_trimAny( z+z+t+z+z, n, z+z+t+z+z ) + chk_trimAny( z+s+t+s+z, n, z+s+t+s+z ) + chk_trimAny( z+d+t+d+z, n, z+d+t+d+z ) + chk_trimAny( s+z+t+z+s, n, s+z+t+z+s ) + chk_trimAny( s+s+t+s+s, n, s+s+t+s+s ) + chk_trimAny( s+d+t+d+s, n, s+d+t+d+s ) + chk_trimAny( d+z+t+z+d, n, d+z+t+z+d ) + chk_trimAny( d+s+t+s+d, n, d+s+t+s+d ) + chk_trimAny( d+d+t+d+d, n, d+d+t+d+d ) + + chk_trimAny( z+z+t+z+z, z, t ) + chk_trimAny( z+s+t+s+z, z, s+t+s ) + chk_trimAny( z+d+t+d+z, z, d+t+d ) + chk_trimAny( s+z+t+z+s, z, s+z+t+z+s ) + chk_trimAny( s+s+t+s+s, z, s+s+t+s+s ) + chk_trimAny( s+d+t+d+s, z, s+d+t+d+s ) + chk_trimAny( d+z+t+z+d, z, d+z+t+z+d ) + chk_trimAny( d+s+t+s+d, z, d+s+t+s+d ) + chk_trimAny( d+d+t+d+d, z, d+d+t+d+d ) + + chk_trimAny( z+z+t+z+z, s, z+z+t+z+z ) + chk_trimAny( z+s+t+s+z, s, z+s+t+s+z ) + chk_trimAny( z+d+t+d+z, s, z+d+t+d+z ) + chk_trimAny( s+z+t+z+s, s, z+t+z ) + chk_trimAny( s+s+t+s+s, s, t ) + chk_trimAny( s+d+t+d+s, s, d+t+d ) + chk_trimAny( d+z+t+z+d, s, d+z+t+z+d ) + chk_trimAny( d+s+t+s+d, s, d+s+t+s+d ) + chk_trimAny( d+d+t+d+d, s, d+d+t+d+d ) + + chk_trimAny( z+z+t+z+z, d, z+z+t+z+z ) + chk_trimAny( z+s+t+s+z, d, z+s+t+s+z ) + chk_trimAny( z+d+t+d+z, d, z+d+t+d+z ) + chk_trimAny( s+z+t+z+s, d, s+z+t+z+s ) + chk_trimAny( s+s+t+s+s, d, s+s+t+s+s ) + chk_trimAny( s+d+t+d+s, d, s+d+t+d+s ) + chk_trimAny( d+z+t+z+d, d, z+t+z ) + chk_trimAny( d+s+t+s+d, d, s+t+s ) + chk_trimAny( d+d+t+d+d, d, t ) + END_TEST + END_SUITE