GCC Code Coverage Report


Directory: src/gate/
File: src/gate/encode/tests/gateencode_cpp_test/test_base64.cpp
Date: 2026-08-06 22:46:24
Exec Total Coverage
Lines: 24 24 100.0%
Functions: 4 4 100.0%
Branches: 54 147 36.7%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/encode/base64.hpp"
3
4 using namespace gate;
5 using namespace gate::enc;
6
7 2 void testBase64(String const& content, String const& content_encoded)
8 {
9 {
10 char encoded_buffer[256];
11 char decoded_buffer[256];
12
1/2
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
2 gate::size_t encoded_buffer_used = Base64::encode(content.c_str(), content.size(), encoded_buffer, sizeof(encoded_buffer));
13
1/2
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
2 gate::size_t decoded_buffer_used = Base64::decode(content_encoded.c_str(), content_encoded.size(), decoded_buffer, sizeof(decoded_buffer));
14 4 String encoded_sample = String::createStatic(encoded_buffer, encoded_buffer_used);
15 4 String decoded_sample = String::createStatic(decoded_buffer, decoded_buffer_used);
16
4/12
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK_EQUAL(encoded_sample, content_encoded);
17
4/12
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK_EQUAL(decoded_sample, content);
18 }
19
20 {
21
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
4 StringBuilder builder;
22
10/30
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 31 taken 2 times.
✗ Branch 32 not taken.
✓ Branch 35 taken 2 times.
✗ Branch 36 not taken.
✗ Branch 40 not taken.
✗ Branch 41 not taken.
✗ Branch 43 not taken.
✗ Branch 44 not taken.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
4 GATEXX_TEST_CHECK_NOTHROW(
23 {
24 Base64::encode(content, builder);
25 String encoded = builder.toString();
26 GATEXX_TEST_CHECK_EQUAL(encoded, content_encoded);
27 Base64::decode(encoded, builder);
28 });
29
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
4 String decoded = builder.toString();
30
31
4/12
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK_EQUAL(decoded, content);
32 }
33
34 {
35
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
4 StringStream decoded;
36
12/34
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 2 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 2 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 2 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✓ Branch 26 taken 2 times.
✗ Branch 27 not taken.
✓ Branch 29 taken 2 times.
✗ Branch 30 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✓ Branch 38 taken 2 times.
✗ Branch 39 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 44 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
4 GATEXX_TEST_CHECK_NOTHROW(
37 {
38 StringStream input(content);
39 StringStream encoded;
40 Base64::encode(input, encoded);
41 GATEXX_TEST_CHECK_EQUAL(encoded.toView(), content_encoded);
42 Base64::decode(encoded, decoded);
43 });
44
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
4 String decodec_content = decoded.toString();
45
46
4/12
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK_EQUAL(decodec_content, content);
47 }
48
49 2 }
50
51
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(Base64)
52 {
53
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 static StaticString const content = "Hello World, world of Hellos!";
54
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 static StaticString const content_encoded = "SGVsbG8gV29ybGQsIHdvcmxkIG9mIEhlbGxvcyE=";
55 2 testBase64(content, content_encoded);
56
57
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 static StaticString const content2 = "Hello World, world of Hellos";
58
2/4
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 static StaticString const content2_encoded = "SGVsbG8gV29ybGQsIHdvcmxkIG9mIEhlbGxvcw==";
59 2 testBase64(content2, content2_encoded);
60 2 }
61