summaryrefslogtreecommitdiffstats
path: root/tests/util/hex.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/util/hex.c')
-rw-r--r--tests/util/hex.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/util/hex.c b/tests/util/hex.c
new file mode 100644
index 0000000..c5fea0a
--- /dev/null
+++ b/tests/util/hex.c
@@ -0,0 +1,22 @@
+#include "clar_libgit2.h"
+#include "util.h"
+
+void test_hex__fromhex(void)
+{
+ /* Passing cases */
+ cl_assert(git__fromhex('0') == 0x0);
+ cl_assert(git__fromhex('1') == 0x1);
+ cl_assert(git__fromhex('3') == 0x3);
+ cl_assert(git__fromhex('9') == 0x9);
+ cl_assert(git__fromhex('A') == 0xa);
+ cl_assert(git__fromhex('C') == 0xc);
+ cl_assert(git__fromhex('F') == 0xf);
+ cl_assert(git__fromhex('a') == 0xa);
+ cl_assert(git__fromhex('c') == 0xc);
+ cl_assert(git__fromhex('f') == 0xf);
+
+ /* Failing cases */
+ cl_assert(git__fromhex('g') == -1);
+ cl_assert(git__fromhex('z') == -1);
+ cl_assert(git__fromhex('X') == -1);
+}