30 #if JUCE_INCLUDE_ZLIB_CODE
34 "-Wdeprecated-register",
38 "-Wimplicit-fallthrough",
39 "-Wzero-as-null-pointer-constant",
75 #include JUCE_ZLIB_INCLUDE_PATH
81 #define z_uInt unsigned int
107 zlibNamespace::inflateEnd (&
stream);
137 return (
int) (destSize -
stream.avail_out);
215 jassert (destBuffer !=
nullptr && howMany >= 0);
217 if (howMany > 0 && !
isEof)
220 auto d =
static_cast<uint8*
> (destBuffer);
224 auto n =
helper->doNextBlock (
d, (
unsigned int) howMany);
297struct GZIPDecompressorInputStreamTests :
public UnitTest
299 GZIPDecompressorInputStreamTests()
303 void runTest()
override
308 GZIPCompressorOutputStream gzipOutputStream (
mo);
309 gzipOutputStream.write (
data.getData(),
data.getSize());
310 gzipOutputStream.flush();
312 MemoryInputStream mi (
mo.getData(),
mo.getDataSize(),
false);
313 GZIPDecompressorInputStream stream (&mi,
false, GZIPDecompressorInputStream::zlibFormat, (
int64)
data.getSize());
317 expectEquals (stream.getPosition(), (
int64) 0);
318 expectEquals (stream.getTotalLength(), (
int64)
data.getSize());
319 expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
320 expect (! stream.isExhausted());
322 size_t numBytesRead = 0;
325 while (numBytesRead <
data.getSize())
327 numBytesRead += (size_t) stream.read (&readBuffer[numBytesRead], 3);
329 expectEquals (stream.getPosition(), (
int64) numBytesRead);
330 expectEquals (stream.getNumBytesRemaining(), (
int64) (
data.getSize() - numBytesRead));
331 expect (stream.isExhausted() == (numBytesRead ==
data.getSize()));
334 expectEquals (stream.getPosition(), (
int64)
data.getSize());
335 expectEquals (stream.getNumBytesRemaining(), (
int64) 0);
336 expect (stream.isExhausted());
338 expect (readBuffer ==
data);
342 stream.setPosition (0);
343 expectEquals (stream.getPosition(), (
int64) 0);
344 expectEquals (stream.getTotalLength(), (
int64)
data.getSize());
345 expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
346 expect (! stream.isExhausted());
349 const int numBytesToSkip = 5;
351 while (numBytesRead <
data.getSize())
353 stream.skipNextBytes (numBytesToSkip);
354 numBytesRead += numBytesToSkip;
355 numBytesRead = std::min (numBytesRead,
data.getSize());
357 expectEquals (stream.getPosition(), (
int64) numBytesRead);
358 expectEquals (stream.getNumBytesRemaining(), (
int64) (
data.getSize() - numBytesRead));
359 expect (stream.isExhausted() == (numBytesRead ==
data.getSize()));
362 expectEquals (stream.getPosition(), (
int64)
data.getSize());
363 expectEquals (stream.getNumBytesRemaining(), (
int64) 0);
364 expect (stream.isExhausted());
368static GZIPDecompressorInputStreamTests gzipDecompressorInputStreamTests;
#define noexcept
Definition DistrhoDefines.h:72
int64_t int64
Definition basics.h:91
Definition MemoryBlock.h:39
Definition MemoryOutputStream.h:42
Definition juce_UnitTest.h:70
unsigned d
Definition inflate.c:940
unsigned f
Definition inflate.c:1572
JSAMPIMAGE data
Definition jpeglib.h:945
#define JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE(...)
Definition juce_CompilerWarnings.h:181
#define JUCE_END_IGNORE_WARNINGS_GCC_LIKE
Definition juce_CompilerWarnings.h:182
#define JUCE_BEGIN_IGNORE_WARNINGS_MSVC(warnings)
Definition juce_CompilerWarnings.h:198
#define JUCE_END_IGNORE_WARNINGS_MSVC
Definition juce_CompilerWarnings.h:199
Definition juce_UnitTestCategories.h:27
Definition juce_GZIPDecompressorInputStream.cpp:29
Definition carla_juce.cpp:31
void zerostruct(Type &structure) noexcept
Definition juce_Memory.h:32
long long int64
Definition juce_MathsFunctions.h:54
unsigned char uint8
Definition juce_MathsFunctions.h:37
#define false
Definition ordinals.h:83
int n
Definition crypt.c:458
mo
Definition zipinfo.c:2287
#define const
Definition zconf.h:137
#define inflate
Definition zconf.h:29
#define MAX_WBITS
Definition zconf.h:161
#define Z_NEED_DICT
Definition zlib.h:173
#define inflateInit2(strm, windowBits)
Definition zlib.h:1339
#define Z_STREAM_END
Definition zlib.h:172
#define Z_OK
Definition zlib.h:171
#define Z_DATA_ERROR
Definition zlib.h:176
#define Z_PARTIAL_FLUSH
Definition zlib.h:164
#define Z_MEM_ERROR
Definition zlib.h:177