diff UnitTestsSources/StreamTests.cpp @ 1526:096a8af528c9

fix streams, initialization/finalization of libcurl and openssl
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 12 Aug 2015 10:43:10 +0200
parents f9b0169eb6bb
children 33d34bc4ac15
line wrap: on
line diff
--- a/UnitTestsSources/StreamTests.cpp	Tue Aug 11 17:50:38 2015 +0200
+++ b/UnitTestsSources/StreamTests.cpp	Wed Aug 12 10:43:10 2015 +0200
@@ -181,9 +181,9 @@
                           bool allowGzip = false,
                           bool allowDeflate = false)
 {
-  result.resize(stream.GetContentLength());
+  stream.SetupHttpCompression(allowGzip, allowDeflate);
 
-  stream.SetupHttpCompression(allowGzip, allowDeflate);
+  result.resize(stream.GetContentLength());
 
   size_t pos = 0;
   while (stream.ReadNextChunk())
@@ -209,38 +209,15 @@
 
   {
     BufferHttpSender sender;
-    sender.SetChunkSize(0);
-    sender.GetBuffer() = s;
-    ASSERT_TRUE(ReadAllStream(t, sender));
-    ASSERT_EQ(s, t);
-  }
-
-  {
-    BufferHttpSender sender;
-    sender.SetChunkSize(1);
-    sender.GetBuffer() = s;
-    ASSERT_TRUE(ReadAllStream(t, sender));
-    ASSERT_EQ(s, t);
-  }
-
-  {
-    BufferHttpSender sender;
     sender.SetChunkSize(1);
     ASSERT_TRUE(ReadAllStream(t, sender));
     ASSERT_EQ(0u, t.size());
   }
 
+  for (int cs = 0; cs < 5; cs++)
   {
     BufferHttpSender sender;
-    sender.SetChunkSize(3);
-    sender.GetBuffer() = s;
-    ASSERT_TRUE(ReadAllStream(t, sender));
-    ASSERT_EQ(s, t);
-  }
-
-  {
-    BufferHttpSender sender;
-    sender.SetChunkSize(300);
+    sender.SetChunkSize(cs);
     sender.GetBuffer() = s;
     ASSERT_TRUE(ReadAllStream(t, sender));
     ASSERT_EQ(s, t);
@@ -279,7 +256,7 @@
   std::string t;
   IBufferCompressor::Compress(t, compressor, s);
 
-  for (int cs = 0; cs < 3; cs++)
+  for (int cs = 0; cs < 5; cs++)
   {
     BufferHttpSender sender;
     sender.SetChunkSize(cs);
@@ -293,7 +270,7 @@
   }
 
   // Pass-through test, no decompression occurs
-  for (int cs = 0; cs < 3; cs++)
+  for (int cs = 0; cs < 5; cs++)
   {
     BufferHttpSender sender;
     sender.SetChunkSize(cs);
@@ -308,7 +285,7 @@
   }
 
   // Pass-through test, decompression occurs
-  for (int cs = 0; cs < 3; cs++)
+  for (int cs = 0; cs < 5; cs++)
   {
     BufferHttpSender sender;
     sender.SetChunkSize(cs);
@@ -323,7 +300,7 @@
   }
 
   // Pass-through test with zlib, no decompression occurs but deflate is sent
-  for (int cs = 0; cs < 3; cs++)
+  for (int cs = 0; cs < 16; cs++)
   {
     BufferHttpSender sender;
     sender.SetChunkSize(cs);
@@ -337,4 +314,16 @@
     ASSERT_EQ(t.size() - sizeof(uint64_t), u.size());
     ASSERT_EQ(t.substr(sizeof(uint64_t)), u);
   }
+
+  for (int cs = 0; cs < 3; cs++)
+  {
+    BufferHttpSender sender;
+    sender.SetChunkSize(cs);
+
+    HttpStreamTranscoder transcode(sender, CompressionType_ZlibWithSize);
+    std::string u;
+    ASSERT_TRUE(ReadAllStream(u, transcode, false, true));
+    
+    ASSERT_EQ(0u, u.size());
+  }
 }