util: add unittests for constant bases
Make sure that base 8/10/16 constants work.
Bug: None
Test: `make check` passes
Change-Id: I6047959e8bda706b07aba92eaf0131fde8908246
diff --git a/util_unittest.cc b/util_unittest.cc
index f84df8e..35a99e5 100644
--- a/util_unittest.cc
+++ b/util_unittest.cc
@@ -160,6 +160,27 @@
minijail_free_env(env);
}
+TEST(parse_single_constant, formats) {
+ char *end;
+ long int c = 0;
+ std::string constant;
+
+ // Check base 10 works.
+ constant = "1234";
+ c = parse_constant(const_cast<char*>(constant.data()), &end);
+ EXPECT_EQ(1234, c);
+
+ // Check base 16 works.
+ constant = "0x1234";
+ c = parse_constant(const_cast<char*>(constant.data()), &end);
+ EXPECT_EQ(0x1234, c);
+
+ // Check base 8 works.
+ constant = "01234";
+ c = parse_constant(const_cast<char*>(constant.data()), &end);
+ EXPECT_EQ(01234, c);
+}
+
TEST(parse_constant, unsigned) {
char *end;
long int c = 0;