diff options
Diffstat (limited to 'tests/test_itoa.c')
-rw-r--r-- | tests/test_itoa.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/test_itoa.c b/tests/test_itoa.c index 76df145..837b77a 100644 --- a/tests/test_itoa.c +++ b/tests/test_itoa.c @@ -1,13 +1,34 @@ #include "stdlib.h" #include "string.h" +#include "limits.h" int main( void ) { char *res; - char buf[11]; + char buf[12]; + // simple conversion without sign res = itoa( 568876, buf, 10 ); + if( strcmp( buf, "568876" ) ) return 1; + + // test if the returned pointer points to the buffer if( strcmp( res, buf ) ) return 1; + + // conversion with sign + res = itoa( -568876, buf, 10 ); + if( strcmp( buf, "-568876" ) ) return 1; + + // convert upper limit + res = itoa( INT_MAX, buf, 10 ); + if( strcmp( buf, "2147483647" ) ) return 1; + + // convert lower limit + res = itoa( INT_MIN+1, buf, 10 ); + if( strcmp( buf, "-2147483647" ) ) return 1; + + // convert to hex + res = itoa( 568876, buf, 16 ); + if( strcmp( buf, "8AE2C" ) ) return 1; return 0; } |