Index: src/OFString.h ================================================================== --- src/OFString.h +++ src/OFString.h @@ -131,6 +131,16 @@ /** * Reverse the OFString. */ - reverse; + +/** + * Upper the OFString. + */ +- upper; + +/** + * Lower the OFString. + */ +- lower; @end Index: src/OFString.m ================================================================== --- src/OFString.m +++ src/OFString.m @@ -207,8 +207,28 @@ string[i] ^= string[j]; string[j] ^= string[i]; string[i] ^= string[j]; } + return self; +} + +- upper +{ + size_t i = length; + + while (i--) + string[i] = towupper(string[i]); + + return self; +} + +- lower +{ + size_t i = length; + + while (i--) + string[i] = towlower(string[i]); + return self; } @end Index: tests/OFString/OFString.m ================================================================== --- tests/OFString/OFString.m +++ tests/OFString/OFString.m @@ -61,13 +61,27 @@ puts("Reversed s1 is expected string! GOOD!"); else { puts("Reversed s1 is NOT the expected string!"); return 1; } + + if (!strcmp([[s1 upper] cString], "321TSET")) + puts("Upper s1 is expected string! GOOD!"); + else { + puts("Upper s1 is NOT expected string!"); + return 1; + } + + if (!strcmp([[s1 lower] cString], "321tset")) + puts("Lower s1 is expected string! GOOD!"); + else { + puts("Lower s1 is NOT expected string!"); + return 1; + } [s1 free]; [s2 free]; [s3 free]; [s4 free]; return 0; }