pw_base64: Fix variable style; reduce tests
- Rename constexpr variables to use constant style.
- Reduce the number of randomly generated tests. There is plenty of
with the reduced number of tests.
Change-Id: Ifa3179427872fc38921417992080d50972ffa281
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/65500
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
diff --git a/pw_base64/base64.cc b/pw_base64/base64.cc
index 7b2396c..77baf37 100644
--- a/pw_base64/base64.cc
+++ b/pw_base64/base64.cc
@@ -26,7 +26,7 @@
constexpr char kPadding = '=';
// Table that encodes a 6-bit pattern as a Base64 character
-constexpr char encode_bits[64] = {
+constexpr char kEncodeTable[64] = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
@@ -34,16 +34,18 @@
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', kChar62, kChar63};
constexpr char BitGroup0Char(uint8_t byte0) {
- return encode_bits[(byte0 & 0b11111100) >> 2];
+ return kEncodeTable[(byte0 & 0b11111100) >> 2];
}
constexpr char BitGroup1Char(uint8_t byte0, uint8_t byte1 = 0) {
- return encode_bits[((byte0 & 0b00000011) << 4) | ((byte1 & 0b11110000) >> 4)];
+ return kEncodeTable[((byte0 & 0b00000011) << 4) |
+ ((byte1 & 0b11110000) >> 4)];
}
constexpr char BitGroup2Char(uint8_t byte1, uint8_t byte2 = 0) {
- return encode_bits[((byte1 & 0b00001111) << 2) | ((byte2 & 0b11000000) >> 6)];
+ return kEncodeTable[((byte1 & 0b00001111) << 2) |
+ ((byte2 & 0b11000000) >> 6)];
}
constexpr char BitGroup3Char(uint8_t byte2) {
- return encode_bits[byte2 & 0b00111111];
+ return kEncodeTable[byte2 & 0b00111111];
}
// Decoding functions
@@ -54,7 +56,7 @@
// Table that decodes a Base64 character to its 6-bit value. Supports the
// standard (+/) and URL-safe (-_) alphabets. Starts from the lowest-value valid
// character, which is +.
-constexpr uint8_t decode_char[] = {
+constexpr uint8_t kDecodeTable[] = {
62, kX, 62, kX, 63, 52, 53, 54, 55, 56, // 0 - 09
57, 58, 59, 60, 61, kX, kX, kX, 0, kX, // 10 - 19
kX, kX, 0, 1, 2, 3, 4, 5, 6, 7, // 20 - 29
@@ -66,7 +68,7 @@
};
constexpr uint8_t CharToBits(char ch) {
- return decode_char[ch - kMinValidChar];
+ return kDecodeTable[ch - kMinValidChar];
}
constexpr uint8_t Byte0(uint8_t bits0, uint8_t bits1) {
diff --git a/pw_base64/base64_test.cc b/pw_base64/base64_test.cc
index 32f7d7b..7447831 100644
--- a/pw_base64/base64_test.cc
+++ b/pw_base64/base64_test.cc
@@ -152,104 +152,24 @@
};
constexpr EncodedData kRandomTestData[] = {
- {2, "\x63\xa9", "Y6k="},
- {2, "\xa1\x49", "oUk="},
- {2, "\x14\x58", "FFg="},
- {2, "\x5d\xa2", "XaI="},
- {2, "\x7c\x80", "fIA="},
- {2, "\xc1\xbb", "wbs="},
- {2, "\x08\x00", "CAA="},
- {2, "\xd8\x88", "2Ig="},
{2, "\x74\x6d", "dG0="},
{2, "\x22\x86", "IoY="},
- {3, "\x69\x89\x03", "aYkD"},
- {3, "\x6c\xcb\xc5", "bMvF"},
- {3, "\x72\x36\x8b", "cjaL"},
- {3, "\xd3\xdc\xe0", "09zg"},
- {3, "\x5d\x1f\x8a", "XR+K"},
- {3, "\x0d\xc0\x5b", "DcBb"},
- {3, "\xe3\x11\x1e", "4xEe"},
- {3, "\xbc\x3c\xb9", "vDy5"},
{3, "\xc0\xa2\x1c", "wKIc"},
{3, "\xa9\x67\xfb", "qWf7"},
- {4, "\x80\xf5\xc8\xd4", "gPXI1A=="},
- {4, "\xa3\x54\x4a\xfa", "o1RK+g=="},
- {4, "\x69\xdb\x14\x4c", "adsUTA=="},
- {4, "\x95\x20\x23\x1a", "lSAjGg=="},
- {4, "\xb9\x2c\x00\x11", "uSwAEQ=="},
- {4, "\xef\xeb\x23\x44", "7+sjRA=="},
- {4, "\xcf\xa9\xe6\x85", "z6nmhQ=="},
- {4, "\xc5\xe0\x36\xde", "xeA23g=="},
{4, "\x77\xe1\x63\x51", "d+FjUQ=="},
{4, "\x7d\xa6\x8c\x5e", "faaMXg=="},
- {5, "\x6e\xb8\x91\x3f\xac", "briRP6w="},
- {5, "\xd1\x16\x7f\x1d\xef", "0RZ/He8="}, // inclusive-language: ignore
- {5, "\x42\x95\xfb\x24\xee", "QpX7JO4="},
- {5, "\x19\xfd\xe5\x96\xc1", "Gf3llsE="},
- {5, "\x42\x5a\xb3\xfe\x13", "Qlqz/hM="},
- {5, "\x2b\xf7\x1a\xcc\x13", "K/cazBM="},
- {5, "\xba\x8f\x0d\xf7\xc1", "uo8N98E="},
- {5, "\x28\xa6\x77\x2d\xfc", "KKZ3Lfw="},
{5, "\x68\xaa\x19\x59\xd0", "aKoZWdA="},
{5, "\x46\x73\xd3\x54\x7e", "RnPTVH4="},
- {6, "\x1f\x88\x91\xbb\xd7\x10", "H4iRu9cQ"},
- {6, "\x37\x23\x3b\x5a\x26\xe4", "NyM7Wibk"},
- {6, "\xd2\xa0\xf4\x13\x91\xe6", "0qD0E5Hm"},
- {6, "\x55\xe8\xe9\x06\x5d\xc3", "VejpBl3D"},
- {6, "\xeb\xf5\xd8\x62\x3c\x5e", "6/XYYjxe"},
- {6, "\xee\xad\x7e\xc4\x66\x83", "7q1+xGaD"},
- {6, "\xbb\x07\x2c\x26\x3f\xb7", "uwcsJj+3"},
- {6, "\xed\xf3\x34\x94\xab\x41", "7fM0lKtB"},
{6, "\x3f\xe8\x18\x4c\xe8\xf4", "P+gYTOj0"},
{6, "\x0a\xdd\x39\xbc\x1f\x65", "Ct05vB9l"},
- {7, "\xac\xcf\xb2\xd5\xee\xa2\x8e", "rM+y1e6ijg=="},
- {7, "\x78\x63\xeb\x3f\x07\xde\x04", "eGPrPwfeBA=="},
- {7, "\x7a\xd7\x3b\x5c\x09\xc2\x93", "etc7XAnCkw=="},
- {7, "\xd4\xe4\xda\xe3\xf3\x4d\xe9", "1OTa4/NN6Q=="},
- {7, "\xa6\xc6\x7c\x47\xd5\xbe\xd3", "psZ8R9W+0w=="},
- {7, "\x34\xad\x5d\x02\x47\xa1\x39", "NK1dAkehOQ=="},
- {7, "\x33\x98\xd7\x02\x46\x4e\xad", "M5jXAkZOrQ=="},
- {7, "\x08\x4d\x48\x48\xb1\x3d\x05", "CE1ISLE9BQ=="},
{7, "\xc4\x5e\x4a\x6d\x4a\x04\xb6", "xF5KbUoEtg=="},
{7, "\x12\xe9\xf4\xaa\x2e\x4c\x31", "Eun0qi5MMQ=="},
- {8, "\xff\x15\x25\x7e\x7b\xc9\x7b\x60", "/xUlfnvJe2A="},
- {8, "\xc7\xbb\x0b\x62\x5c\x62\x41\xc2", "x7sLYlxiQcI="},
- {8, "\x48\x49\x6d\x7c\xca\xb7\xae\xed", "SEltfMq3ru0="},
- {8, "\xfd\xec\x13\xd6\x93\x9f\xba\xe0", "/ewT1pOfuuA="},
- {8, "\x7e\xff\xd2\xdd\x0e\xe2\x6c\x60", "fv/S3Q7ibGA="},
- {8, "\xe5\xba\x41\x65\xa0\x46\x17\x27", "5bpBZaBGFyc="},
- {8, "\xce\xec\xd5\x68\x3a\xb7\xb4\x16", "zuzVaDq3tBY="},
- {8, "\xbe\x33\x9a\xc9\xfd\xcc\x29\xe8", "vjOayf3MKeg="},
{8, "\x55\x8c\x60\xcc\xc4\x7d\x99\x1f", "VYxgzMR9mR8="},
{8, "\xee\x21\x88\x2a\x0f\x7e\x76\xd7", "7iGIKg9+dtc="},
- {9, "\xd5\xab\xd9\xa6\xae\xaa\x33\x9f\x66", "1avZpq6qM59m"},
- {9, "\x6f\xe8\x06\xcf\xfd\x79\x3a\x4e\xdb", "b+gGz/15Ok7b"},
- {9, "\x61\x00\x0a\x51\xad\x5b\xf1\xf9\x37", "YQAKUa1b8fk3"},
- {9, "\x4f\x40\x0b\x79\x10\xa4\x12\x25\x3e", "T0ALeRCkEiU+"},
- {9, "\xb1\x37\xb3\x41\x5b\xd7\xe8\xa4\xda", "sTezQVvX6KTa"},
- {9, "\x82\xa5\x22\xd3\x48\xd8\xf7\x62\x7a", "gqUi00jY92J6"},
- {9, "\xfd\x05\x33\x92\x2c\xd3\x85\x29\xa2", "/QUzkizThSmi"},
- {9, "\x32\x93\x53\x06\x9c\xbb\x96\xbb\xf3", "MpNTBpy7lrvz"},
{9, "\xba\x40\x1d\x06\x92\xce\xc2\x8a\x28", "ukAdBpLOwooo"},
{9, "\xcc\x89\xf5\xeb\x49\x91\xa6\xa6\x88", "zIn160mRpqaI"},
- {10, "\x6b\xfd\x95\xc5\x4a\xc7\xc2\x39\x45\xdc", "a/2VxUrHwjlF3A=="},
- {10, "\x34\x50\xab\x78\xaf\x92\x47\x56\x8a\xb6", "NFCreK+SR1aKtg=="},
- {10, "\x07\x14\x0a\xe8\x49\xca\x3a\x36\x80\xb0", "BxQK6EnKOjaAsA=="},
- {10, "\xde\x79\x3d\xa7\xab\x22\xa9\xaa\xfc\x05", "3nk9p6siqar8BQ=="},
- {10, "\x73\x62\x02\x77\x41\x91\xe6\x8b\x3f\x89", "c2ICd0GR5os/iQ=="},
- {10, "\xf2\x09\xa9\x8b\x7c\x30\x26\x54\xf0\xd3", "8gmpi3wwJlTw0w=="},
- {10, "\x32\xc8\xcc\xfc\x47\xa3\xac\x20\x37\x39", "MsjM/EejrCA3OQ=="},
- {10, "\x32\x1b\x2b\x36\x07\x76\x90\xfa\xe0\x04", "MhsrNgd2kPrgBA=="},
{10, "\x55\x6b\x11\xe4\xc2\x22\xb0\x40\x14\x53", "VWsR5MIisEAUUw=="},
{10, "\xd3\x1e\xc4\xe5\x06\x60\x37\x51\x10\x48", "0x7E5QZgN1EQSA=="},
- {11, "\x4c\xde\xee\xb8\x68\x0d\x9c\x66\x3e\xea\x46", "TN7uuGgNnGY+6kY="},
- {11, "\x36\x79\x11\x5c\xce\xd0\xdf\x3c\xd2\xc9\x45", "NnkRXM7Q3zzSyUU="},
- {11, "\xa0\x78\xc3\xc0\x79\xaf\xa1\xc3\xef\xd5\xf3", "oHjDwHmvocPv1fM="},
- {11, "\xdd\x6b\x78\x18\x95\x80\x99\x7a\x02\x41\xe8", "3Wt4GJWAmXoCQeg="},
- {11, "\x18\xfa\x19\xe0\xce\x3b\x0a\xa1\xec\x2b\x30", "GPoZ4M47CqHsKzA="},
- {11, "\x74\xf2\x96\x90\x95\xbe\x14\x64\xbf\x10\xd9", "dPKWkJW+FGS/ENk="},
- {11, "\x7f\xe8\x18\xab\xeb\x28\x86\xf1\x7c\x75\x47", "f+gYq+sohvF8dUc="},
- {11, "\xa4\xc9\x62\x73\x0e\x89\xe1\x51\x8b\xf0\x96", "pMlicw6J4VGL8JY="},
{11, "\x98\xae\x09\x8c\x61\x40\xbf\x77\xde\xd9\x0d", "mK4JjGFAv3fe2Q0="},
{11, "\x86\x39\x06\xa1\xc6\xfc\xcf\x30\x21\xba\xdf", "hjkGocb8zzAhut8="},
};