diff options
Diffstat (limited to 'tests/libc/test_itoa.c')
-rw-r--r-- | tests/libc/test_itoa.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/libc/test_itoa.c b/tests/libc/test_itoa.c new file mode 100644 index 0000000..837b77a --- /dev/null +++ b/tests/libc/test_itoa.c @@ -0,0 +1,34 @@ +#include "stdlib.h" +#include "string.h" +#include "limits.h" + +int main( void ) +{ + char *res; + 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; +} |