From 1cdf830217e46e11c6c5d27cae7571bd220afdae Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Wed, 3 Jun 2020 14:18:22 +0400 Subject: [PATCH] Testing of byte-range requests of 0-sized entries --- test/server.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/server.cpp b/test/server.cpp index 51243024b..4f37f06ec 100644 --- a/test/server.cpp +++ b/test/server.cpp @@ -490,6 +490,25 @@ TEST_F(ServerTest, InvalidAndMultiRangeByteRangeRequestsResultIn416Responses) } } +TEST_F(ServerTest, ValidByteRangeRequestsOfZeroSizedEntriesResultIn416Responses) +{ + const char url[] = "/corner_cases/-/empty.js"; + + const char* ranges[] = { + "bytes=0-", + "bytes=-100" + }; + + for( const char* range : ranges ) + { + const TestContext ctx{ {"Range", range} }; + const auto p = zfs1_->GET(url, { {"Range", range } } ); + EXPECT_EQ(416, p->status) << ctx; + EXPECT_TRUE(p->body.empty()) << ctx; + EXPECT_EQ("bytes */0", p->get_header_value("Content-Range")) << ctx; + } +} + TEST_F(ServerTest, RangeHasPrecedenceOverCompression) { const char url[] = "/zimfile/I/m/Ray_Charles_classic_piano_pose.jpg";