Enlightenment CVS committal Author : mej Project : eterm Module : libast
Dir : eterm/libast/test Modified Files: test.c Log Message: Tue Apr 25 10:19:10 2006 Michael Jennings (mej) Added sprintf() routines for string classes. Began work on UTF-8/Unicode strings. ---------------------------------------------------------------------- =================================================================== RCS file: /cvs/e/eterm/libast/test/test.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- test.c 20 Apr 2006 21:44:40 -0000 1.49 +++ test.c 25 Apr 2006 15:18:41 -0000 1.50 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -static const char cvs_ident[] = "$Id: test.c,v 1.49 2006/04/20 21:44:40 mej Exp $"; +static const char cvs_ident[] = "$Id: test.c,v 1.50 2006/04/25 15:18:41 mej Exp $"; #if defined(HAVE_CONFIG_H) && (HAVE_CONFIG_H != 0) # include <config.h> @@ -888,6 +888,17 @@ spif_str_del(teststr); TEST_PASS(); + TEST_BEGIN("spif_str_sprintf() function"); + teststr = spif_str_new(); + TEST_FAIL_IF(!spif_str_sprintf(teststr, "")); + TEST_FAIL_IF(!SPIF_PTR_ISNULL(SPIF_STR_STR(teststr))); + TEST_FAIL_IF(!spif_str_sprintf(teststr, "E")); + TEST_FAIL_IF(spif_str_cmp_with_ptr(teststr, "E")); + TEST_FAIL_IF(!spif_str_sprintf(teststr, "float %3.2f int %d string %s", 1.0, 17, "hot")); + TEST_FAIL_IF(spif_str_cmp_with_ptr(teststr, "float 1.00 int 17 string hot")); + spif_str_del(teststr); + TEST_PASS(); + TEST_BEGIN("spif_str_reverse() function"); teststr = spif_str_new_from_buff(buff, sizeof(buff)); spif_str_reverse(teststr); @@ -1193,6 +1204,17 @@ spif_mbuff_del(testmbuff); TEST_PASS(); + TEST_BEGIN("spif_mbuff_sprintf() function"); + testmbuff = spif_mbuff_new(); + TEST_FAIL_IF(!spif_mbuff_sprintf(testmbuff, "")); + TEST_FAIL_IF(!SPIF_PTR_ISNULL(SPIF_MBUFF_BUFF(testmbuff))); + TEST_FAIL_IF(!spif_mbuff_sprintf(testmbuff, "E")); + TEST_FAIL_IF(spif_mbuff_cmp_with_ptr(testmbuff, "E", 2)); + TEST_FAIL_IF(!spif_mbuff_sprintf(testmbuff, "float %3.2f int %d string %s", 1.0, 17, "hot")); + TEST_FAIL_IF(spif_mbuff_cmp_with_ptr(testmbuff, "float 1.00 int 17 string hot", 29)); + spif_mbuff_del(testmbuff); + TEST_PASS(); + TEST_BEGIN("spif_mbuff_reverse() function"); testmbuff = spif_mbuff_new_from_buff(buff, 6, 0); spif_mbuff_reverse(testmbuff); @@ -1209,13 +1231,14 @@ int test_ustr(void) { - spif_ustr_t testustr, test2ustr; + spif_ustr_t testustr, test2ustr, test3ustr; spif_strclass_t cls; char tmp[] = "this is a test"; spif_char_t buff[4096] = "abcde"; char tmp2[] = "string #1\nstring #2"; + char tmp3[] = "ASCII\316\272\341\275\271\317\203\316\274\316ASCII"; FILE *fp; - int fd, mypipe[2]; + int i, fd, mypipe[2]; spif_charptr_t foo; TEST_BEGIN("spif_ustr_new() function"); @@ -1459,6 +1482,17 @@ spif_ustr_del(testustr); TEST_PASS(); + TEST_BEGIN("spif_ustr_sprintf() function"); + testustr = spif_ustr_new(); + TEST_FAIL_IF(!spif_ustr_sprintf(testustr, "")); + TEST_FAIL_IF(!SPIF_PTR_ISNULL(SPIF_USTR_STR(testustr))); + TEST_FAIL_IF(!spif_ustr_sprintf(testustr, "E")); + TEST_FAIL_IF(spif_ustr_cmp_with_ptr(testustr, "E")); + TEST_FAIL_IF(!spif_ustr_sprintf(testustr, "float %3.2f int %d string %s", 1.0, 17, "hot")); + TEST_FAIL_IF(spif_ustr_cmp_with_ptr(testustr, "float 1.00 int 17 string hot")); + spif_ustr_del(testustr); + TEST_PASS(); + TEST_BEGIN("spif_ustr_reverse() function"); testustr = spif_ustr_new_from_buff(buff, sizeof(buff)); spif_ustr_reverse(testustr); @@ -1466,6 +1500,23 @@ TEST_FAIL_IF(spif_ustr_get_size(testustr) != sizeof(buff)); TEST_FAIL_IF(spif_ustr_get_len(testustr) != 5); spif_ustr_del(testustr); + TEST_PASS(); + + TEST_BEGIN("SPIF_UTF8_CHAR_LEN() macro"); + for (i = 0; i < 5; i++) { + TEST_FAIL_IF(SPIF_UTF8_CHAR_LEN(&tmp3[i]) != 1); + } + TEST_FAIL_IF(SPIF_UTF8_CHAR_LEN(&tmp3[i]) != 3); + i+=3; + TEST_FAIL_IF(SPIF_UTF8_CHAR_LEN(&tmp3[i]) != 2); + i+=2; + TEST_FAIL_IF(SPIF_UTF8_CHAR_LEN(&tmp3[i]) != 3); + i+=3; + TEST_FAIL_IF(SPIF_UTF8_CHAR_LEN(&tmp3[i]) != 2); + i+=2; + for (; i < 21; i++) { + TEST_FAIL_IF(SPIF_UTF8_CHAR_LEN(&tmp3[i]) != 1); + } TEST_PASS(); TEST_PASSED("spif_ustr_t"); ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs