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)
|
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;
|
StringSink ssink;
|
||||||
auto sink = makeDecompressionSink(method, ssink);
|
auto sink = makeDecompressionSink(method, ssink);
|
||||||
(*sink)(in);
|
(*sink)(in);
|
||||||
|
|
|
@ -17,6 +17,24 @@ namespace nix {
|
||||||
ASSERT_EQ(*o, "this-is-a-test");
|
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) {
|
TEST(decompress, decompressXzCompressed) {
|
||||||
auto method = "xz";
|
auto method = "xz";
|
||||||
auto str = "slfja;sljfklsa;jfklsjfkl;sdjfkl;sadjfkl;sdjf;lsdfjsadlf";
|
auto str = "slfja;sljfklsa;jfklsjfkl;sdjfkl;sadjfkl;sdjf;lsdfjsadlf";
|
||||||
|
|
Loading…
Reference in a new issue