MCPcopy Create free account
hub / github.com/aria2/aria2 / testGetEndByte

Method testGetEndByte

test/HttpRequestTest.cc:93–129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

91}
92
93void HttpRequestTest::testGetEndByte()
94{
95 size_t index = 1;
96 size_t length = 1_m - 1_k;
97 size_t segmentLength = 1_m;
98
99 HttpRequest httpRequest;
100 auto piece = std::make_shared<Piece>(index, length);
101 auto segment = std::make_shared<PiecedSegment>(segmentLength, piece);
102 auto fileEntry = std::make_shared<FileEntry>("file", segmentLength * 10, 0);
103
104 CPPUNIT_ASSERT_EQUAL((int64_t)0LL, httpRequest.getEndByte());
105
106 httpRequest.setSegment(segment);
107
108 CPPUNIT_ASSERT_EQUAL((int64_t)0LL, httpRequest.getEndByte());
109
110 auto request = std::make_shared<Request>();
111 request->supportsPersistentConnection(true);
112 request->setPipeliningHint(true);
113
114 httpRequest.setRequest(request);
115 httpRequest.setFileEntry(fileEntry);
116
117 CPPUNIT_ASSERT_EQUAL((int64_t)(segmentLength * index + length - 1),
118 httpRequest.getEndByte());
119
120 // The end byte of FileEntry are placed inside segment
121 fileEntry->setLength(segmentLength + 100);
122
123 CPPUNIT_ASSERT_EQUAL((int64_t)(segmentLength * index + 100 - 1),
124 httpRequest.getEndByte());
125
126 request->setPipeliningHint(false);
127
128 CPPUNIT_ASSERT_EQUAL((int64_t)0LL, httpRequest.getEndByte());
129}
130
131void HttpRequestTest::testCreateRequest()
132{

Callers

nothing calls this directly

Calls 7

getEndByteMethod · 0.80
setSegmentMethod · 0.80
setPipeliningHintMethod · 0.80
setRequestMethod · 0.45
setFileEntryMethod · 0.45
setLengthMethod · 0.45

Tested by

no test coverage detected