forked from lix-project/lix
Merge branch 's3-decompress' of https://github.com/lukegb/nix
This commit is contained in:
commit
a6eebcff36
|
@ -186,7 +186,9 @@ struct BrotliDecompressionSink : ChunkedCompressionSink
|
|||
|
||||
ref<std::string> decompress(const std::string & method, const std::string & in)
|
||||
{
|
||||
if (method == "br") {
|
||||
if (method == "none" || method == "")
|
||||
return make_ref<std::string>(in);
|
||||
else if (method == "br") {
|
||||
StringSink ssink;
|
||||
auto sink = makeDecompressionSink(method, ssink);
|
||||
(*sink)(in);
|
||||
|
|
|
@ -17,6 +17,24 @@ namespace nix {
|
|||
ASSERT_EQ(*o, "this-is-a-test");
|
||||
}
|
||||
|
||||
TEST(decompress, decompressNoneCompressed) {
|
||||
auto method = "none";
|
||||
auto str = "slfja;sljfklsa;jfklsjfkl;sdjfkl;sadjfkl;sdjf;lsdfjsadlf";
|
||||
ref<std::string> o = decompress(method, str);
|
||||
|
||||
ASSERT_EQ(*o, str);
|
||||
}
|
||||
|
||||
TEST(decompress, decompressEmptyCompressed) {
|
||||
// Empty-method decompression used e.g. by S3 store
|
||||
// (Content-Encoding == "").
|
||||
auto method = "";
|
||||
auto str = "slfja;sljfklsa;jfklsjfkl;sdjfkl;sadjfkl;sdjf;lsdfjsadlf";
|
||||
ref<std::string> o = decompress(method, str);
|
||||
|
||||
ASSERT_EQ(*o, str);
|
||||
}
|
||||
|
||||
TEST(decompress, decompressXzCompressed) {
|
||||
auto method = "xz";
|
||||
auto str = "slfja;sljfklsa;jfklsjfkl;sdjfkl;sadjfkl;sdjf;lsdfjsadlf";
|
||||
|
|
Loading…
Reference in a new issue