79 lines
1.8 KiB
C
79 lines
1.8 KiB
C
void do_tests() {
|
|
string tmp = "this is a test";
|
|
mixed *ret;
|
|
|
|
ret = explode(tmp, "");
|
|
ASSERT(sizeof(ret) == sizeof(filter(ret, (: strlen($1) == 1 :))));
|
|
ret = explode(tmp, " ");
|
|
ASSERT(sizeof(ret) == 4);
|
|
ASSERT(ret[1] == "is");
|
|
ASSERT(ret[3] == "test");
|
|
|
|
ret = explode(" " + tmp, " ");
|
|
#ifndef __REVERSIBLE_EXPLODE_STRING__
|
|
ASSERT(sizeof(ret) == 4);
|
|
ASSERT(ret[1] == "is");
|
|
ASSERT(ret[3] == "test");
|
|
#else
|
|
ASSERT(sizeof(ret) == 5);
|
|
ASSERT(ret[2] == "is");
|
|
ASSERT(ret[4] == "test");
|
|
#endif
|
|
|
|
ret = explode(" " + tmp, " ");
|
|
#ifndef __REVERSIBLE_EXPLODE_STRING__
|
|
#ifdef __SANE_EXPLODE_STRING__
|
|
ASSERT(sizeof(ret) == 8);
|
|
ASSERT(ret[5] == "is");
|
|
ASSERT(ret[7] == "test");
|
|
#else
|
|
ASSERT(sizeof(ret) == 4);
|
|
ASSERT(ret[1] == "is");
|
|
ASSERT(ret[3] == "test");
|
|
#endif
|
|
#else
|
|
ASSERT(sizeof(ret) == 9);
|
|
ASSERT(ret[6] == "is");
|
|
ASSERT(ret[8] == "test");
|
|
#endif
|
|
|
|
tmp = "this is a test ";
|
|
ret = explode(tmp, " ");
|
|
#ifndef __REVERSIBLE_EXPLODE_STRING__
|
|
ASSERT(sizeof(ret) == 4);
|
|
#else
|
|
ASSERT(sizeof(ret) == 5);
|
|
#endif
|
|
ASSERT(ret[1] == "is");
|
|
ASSERT(ret[3] == "test");
|
|
|
|
ret = explode(" " + tmp, " ");
|
|
#ifndef __REVERSIBLE_EXPLODE_STRING__
|
|
ASSERT(sizeof(ret) == 4);
|
|
ASSERT(ret[1] == "is");
|
|
ASSERT(ret[3] == "test");
|
|
#else
|
|
ASSERT(sizeof(ret) == 6);
|
|
ASSERT(ret[2] == "is");
|
|
ASSERT(ret[4] == "test");
|
|
#endif
|
|
|
|
ret = explode(" " + tmp, " ");
|
|
#ifndef __REVERSIBLE_EXPLODE_STRING__
|
|
#ifdef __SANE_EXPLODE_STRING__
|
|
ASSERT(sizeof(ret) == 6);
|
|
ASSERT(ret[3] == "is");
|
|
ASSERT(ret[5] == "test");
|
|
#else
|
|
ASSERT(sizeof(ret) == 4);
|
|
ASSERT(ret[1] == "is");
|
|
ASSERT(ret[3] == "test");
|
|
#endif
|
|
#else
|
|
ASSERT(sizeof(ret) == 8);
|
|
ASSERT(ret[4] == "is");
|
|
ASSERT(ret[6] == "test");
|
|
#endif
|
|
|
|
}
|