GCC Code Coverage Report


Directory: src/gate/
File: src/gate/encode/tests/gateencode_cpp_test/test_base64.cpp
Date: 2025-09-14 13:10:38
Exec Total Coverage
Lines: 16 16 100.0%
Functions: 3 3 100.0%
Branches: 46 131 35.1%

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 static String const content = String::createStaticFrom("Hello World, world of Hellos!");
8 static String const content_encoded = String::createStaticFrom("SGVsbG8gV29ybGQsIHdvcmxkIG9mIEhlbGxvcyE=");
9
10
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)
11 {
12 {
13 char encoded_buffer[256];
14 char decoded_buffer[256];
15
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 gate::size_t encoded_buffer_used = Base64::encode(content.c_str(), content.size(), encoded_buffer, sizeof(encoded_buffer));
16
1/2
✓ Branch 3 taken 1 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));
17 4 String encoded_sample = String::createStatic(encoded_buffer, encoded_buffer_used);
18 4 String decoded_sample = String::createStatic(decoded_buffer, decoded_buffer_used);
19
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 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);
20
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 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);
21 }
22
23 {
24
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 StringBuilder builder;
25
10/30
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 35 taken 1 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(
26 {
27 Base64::encode(content, builder);
28 String encoded = builder.toString();
29 GATEXX_TEST_CHECK_EQUAL(encoded, content_encoded);
30 Base64::decode(encoded, builder);
31 });
32
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 String decoded = builder.toString();
33
34
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 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);
35 }
36
37 {
38
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 StringStream decoded;
39
12/34
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 29 taken 1 times.
✗ Branch 30 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✓ Branch 38 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 43 taken 1 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(
40 {
41 StringStream input(content);
42 StringStream encoded;
43 Base64::encode(input, encoded);
44 GATEXX_TEST_CHECK_EQUAL(encoded.toView(), content_encoded);
45 Base64::decode(encoded, decoded);
46 });
47
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 String decodec_content = decoded.toString();
48
49
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 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);
50 }
51
52 2 }
53