GCC Code Coverage Report


Directory: src/gate/
File: src/gate/encode/tests/gateencode_cpp_test/test_compression.cpp
Date: 2025-12-12 23:40:09
Exec Total Coverage
Lines: 79 79 100.0%
Functions: 13 13 100.0%
Branches: 180 499 36.1%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/encode/zlibstreams.hpp"
3 #include "gate/encode/zipstreams.hpp"
4
5 #if !defined(GATE_ENCODE_NO_ADVANCED_COMPRESSION)
6 #include "gate/encode/bzip2streams.hpp"
7 #include "gate/encode/xzstreams.hpp"
8 #endif
9
10 using namespace gate;
11 using namespace gate::enc;
12
13 static StaticString const content =
14 "What is Lorem Ipsum? "
15 "Lorem Ipsum is simply dummy text of the printing and typesetting industry. "
16 "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, "
17 "when an unknown printer took a galley of type and scrambled it to make a type "
18 "specimen book. It has survived not only five centuries, but also the leap into "
19 "electronic typesetting, remaining essentially unchanged. It was popularised "
20 "in the 1960s with the release of Letraset sheets containing Lorem Ipsum "
21 "passages, and more recently with desktop publishing software like "
22 "Aldus PageMaker including versions of Lorem Ipsum."
23 "Why do we use it? "
24 "It is a long established fact that a reader will be distracted by the "
25 "readable content of a page when looking at its layout. The point of using "
26 "Lorem Ipsum is that it has a more-or-less normal distribution of letters, "
27 "as opposed to using 'Content here, content here', making it look like readable "
28 "English. Many desktop publishing packages and web page editors now use "
29 "Lorem Ipsum as their default model text, and a search for 'lorem ipsum' "
30 "will uncover many web sites still in their infancy. Various versions have "
31 "evolved over the years, sometimes by accident, sometimes on purpose "
32 "(injected humour and the like)."
33 ;
34
35 6 static void transcode_data_streams(Stream& instream, Stream& outstream)
36 {
37 char buffer[128];
38
4/14
✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 6 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
6 GATEXX_TEST_CHECK_NOTHROW(Stream::transferViaBuffer(instream, outstream, buffer, sizeof(buffer)));
39
4/14
✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 6 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
6 GATEXX_TEST_CHECK_NOTHROW(outstream.flush());
40 6 }
41
42 template<class ENCODER, class DECODER>
43 6 void test_encoder_decoder()
44 {
45
1/2
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
12 StringStream plainData(content);
46
1/2
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
12 MemFileStream encodedData;
47
48 12 Stream encoder = NullStream();
49 {
50
4/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 3 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
6 GATEXX_TEST_CHECK_NOTHROW(encoder = ENCODER::create(encodedData));
51
4/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
6 GATEXX_TEST_CHECK_NOTHROW(transcode_data_streams(plainData, encoder));
52
5/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 3 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
6 GATEXX_TEST_CHECK(!encoder.getInterfaceName().empty());
53 char buffer[64];
54
5/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 3 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 17 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 3 times.
✗ Branch 21 not taken.
12 GATEXX_TEST_CHECK_THROW(encoder.peek(buffer, sizeof(buffer)));
55
5/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 3 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 17 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 3 times.
✗ Branch 21 not taken.
12 GATEXX_TEST_CHECK_THROW(encoder.read(buffer, sizeof(buffer)));
56 }
57
58
1/2
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
6 encodedData.seek(0, ControlStream::Seek_Begin);
59
60
1/2
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
12 StringStream decodedData;
61
62 12 Stream decoder = NullStream();
63 {
64
4/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 12 taken 3 times.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
6 GATEXX_TEST_CHECK_NOTHROW(decoder = DECODER::create(encodedData));
65
3/4
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 1 times.
6 if (decoder.implementsInterface(GATE_INTERFACE_NAME_CONTROLSTREAM))
66 {
67 4 gate_controlstream_t* ptr_control = (gate_controlstream_t*)(decoder.c_impl());
68
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
8 ControlStream control(ptr_control);
69
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
4 gate_object_retain(ptr_control);
70
4/14
✓ 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 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
4 GATEXX_TEST_CHECK_NOTHROW(control.canRead());
71
4/14
✓ 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 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
4 GATEXX_TEST_CHECK_NOTHROW(control.canWrite());
72
4/14
✓ 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 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
4 GATEXX_TEST_CHECK_NOTHROW(control.getSize());
73
4/14
✓ 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 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
4 GATEXX_TEST_CHECK_NOTHROW(control.getAvailable());
74
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
4 control.seek(0, ControlStream::Seek_Current);
75 }
76
4/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
6 GATEXX_TEST_CHECK_NOTHROW(transcode_data_streams(decoder, decodedData));
77
5/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 11 taken 3 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 3 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
6 GATEXX_TEST_CHECK(!decoder.getInterfaceName().empty());
78
5/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 3 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 17 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 3 times.
✗ Branch 21 not taken.
12 GATEXX_TEST_CHECK_THROW(decoder.write("test", 4));
79
5/14
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 3 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 17 taken 3 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 3 times.
✗ Branch 21 not taken.
12 GATEXX_TEST_CHECK_THROW(decoder.flush());
80 }
81
82
1/2
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
12 String decodedText = decodedData.toString();
83
4/12
✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 3 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
6 GATEXX_TEST_CHECK_EQUAL(content, decodedText);
84
85 6 }
86
87 #if !defined(GATE_ENCODE_NO_ADVANCED_COMPRESSION) && defined(GATE_EXTLIB_BZIP2)
88
89
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(Bzip2)
90 {
91 2 test_encoder_decoder<Bzip2Encoder, Bzip2Decoder>();
92 2 }
93
94 #endif
95
96 #if !defined(GATE_ENCODE_NO_ADVANCED_COMPRESSION) && defined(GATE_EXTLIB_LZMA)
97
98 GATEXX_TEST_UNIT(Xz)
99 {
100 test_encoder_decoder<XzEncoder, XzDecoder>();
101 }
102
103 #endif
104
105
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(Zlib)
106 {
107 2 test_encoder_decoder<ZlibEncoder, ZlibDecoder>();
108
109 2 test_encoder_decoder<GZipEncoder, GZipDecoder>();
110 2 }
111
112
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(Zip)
113 {
114
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 MemFileStream zip_output;
115 {
116
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 ZipWriter writer(zip_output);
117
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ZipEntry entry;
118
119
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 entry.setPath("/test.txt");
120
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 entry.setSize(content.size());
121
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 entry.setAttributes(File::Attrib_File);
122
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 entry.setAccessBits(File::Access_AllRead | File::Access_AllWrite);
123
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 entry.setModifiedDate(Time::now());
124
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 writer.add(entry, content.c_str());
125
126
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 entry.setPath("/test2.txt");
127
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 writer.add(entry, content.c_str());
128
129
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 writer.flush();
130 }
131
132 {
133
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 MemFileStream zip_input = zip_output.share();
134
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 ZipReader reader(zip_input);
135
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ZipEntry entry = reader.getFirstEntry();
136
6/16
✓ 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 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
2 GATEXX_TEST_CHECK_EQUAL(entry.getPath(), "/test.txt");
137
5/14
✓ 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 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
2 GATEXX_TEST_CHECK_EQUAL(entry.getSize(), content.size());
138
139
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 const bool_t secondEntryFound = reader.getNextEntry(entry);
140
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
2 GATEXX_TEST_CHECK(secondEntryFound);
141
6/16
✓ 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 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
2 GATEXX_TEST_CHECK_EQUAL(entry.getPath(), "/test2.txt");
142
5/14
✓ 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 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
2 GATEXX_TEST_CHECK_EQUAL(entry.getSize(), content.size());
143 }
144
145 {
146
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 MemFileStream zip_input = zip_output.share();
147
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 ZipReader reader(zip_input);
148
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 ZipEntry entry = reader.findEntry("/test.txt");
149
6/16
✓ 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 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
2 GATEXX_TEST_CHECK_EQUAL(entry.getPath(), "/test.txt");
150
5/14
✓ 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 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
2 GATEXX_TEST_CHECK_EQUAL(entry.getSize(), content.size());
151
152
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 StringStream extractedData;
153
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 reader.extractContent(extractedData);
154
5/14
✓ 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 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_EQUAL(content, extractedData.toView());
155 }
156
157 {
158
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 MemFileStream zip_input = zip_output.share();
159
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 ZipReader reader(zip_input);
160
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 ZipEntry entry = reader.findEntry("/test2.txt");
161
6/16
✓ 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 15 taken 1 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
2 GATEXX_TEST_CHECK_EQUAL(entry.getPath(), "/test2.txt");
162
5/14
✓ 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 not taken.
✗ Branch 17 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
2 GATEXX_TEST_CHECK_EQUAL(entry.getSize(), content.size());
163
164
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
4 StringStream extractedData;
165
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 reader.extractContent(extractedData);
166
5/14
✓ 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 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
2 GATEXX_TEST_CHECK_EQUAL(content, extractedData.toView());
167 }
168
169 2 }
170