upgrade to JUCE 5.4.3. Remove (probably) unused JUCE modules. Remove VST2 target (it's been end-of-life'd by Steinberg and by JUCE)
This commit is contained in:
@ -78,4 +78,81 @@ bool SubregionStream::isExhausted()
|
||||
return source->isExhausted();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
#if JUCE_UNIT_TESTS
|
||||
|
||||
struct SubregionInputStreamTests : public UnitTest
|
||||
{
|
||||
SubregionInputStreamTests()
|
||||
: UnitTest ("SubregionInputStream", "Streams")
|
||||
{}
|
||||
|
||||
void runTest() override
|
||||
{
|
||||
const MemoryBlock data ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz", 52);
|
||||
MemoryInputStream mi (data, true);
|
||||
|
||||
const int offset = getRandom().nextInt ((int) data.getSize());
|
||||
const size_t subregionSize = data.getSize() - (size_t) offset;
|
||||
|
||||
SubregionStream stream (&mi, offset, (int) subregionSize, false);
|
||||
|
||||
beginTest ("Read");
|
||||
|
||||
expectEquals (stream.getPosition(), (int64) 0);
|
||||
expectEquals (stream.getTotalLength(), (int64) subregionSize);
|
||||
expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
|
||||
expect (! stream.isExhausted());
|
||||
|
||||
size_t numBytesRead = 0;
|
||||
MemoryBlock readBuffer (subregionSize);
|
||||
|
||||
while (numBytesRead < subregionSize)
|
||||
{
|
||||
numBytesRead += (size_t) stream.read (&readBuffer[numBytesRead], 3);
|
||||
|
||||
expectEquals (stream.getPosition(), (int64) numBytesRead);
|
||||
expectEquals (stream.getNumBytesRemaining(), (int64) (subregionSize - numBytesRead));
|
||||
expect (stream.isExhausted() == (numBytesRead == subregionSize));
|
||||
}
|
||||
|
||||
expectEquals (stream.getPosition(), (int64) subregionSize);
|
||||
expectEquals (stream.getNumBytesRemaining(), (int64) 0);
|
||||
expect (stream.isExhausted());
|
||||
|
||||
const MemoryBlock memoryBlockToCheck (data.begin() + (size_t) offset, data.getSize() - (size_t) offset);
|
||||
expect (readBuffer == memoryBlockToCheck);
|
||||
|
||||
beginTest ("Skip");
|
||||
|
||||
stream.setPosition (0);
|
||||
expectEquals (stream.getPosition(), (int64) 0);
|
||||
expectEquals (stream.getTotalLength(), (int64) subregionSize);
|
||||
expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
|
||||
expect (! stream.isExhausted());
|
||||
|
||||
numBytesRead = 0;
|
||||
const int64 numBytesToSkip = 5;
|
||||
|
||||
while (numBytesRead < subregionSize)
|
||||
{
|
||||
stream.skipNextBytes (numBytesToSkip);
|
||||
numBytesRead += numBytesToSkip;
|
||||
numBytesRead = std::min (numBytesRead, subregionSize);
|
||||
|
||||
expectEquals (stream.getPosition(), (int64) numBytesRead);
|
||||
expectEquals (stream.getNumBytesRemaining(), (int64) (subregionSize - numBytesRead));
|
||||
expect (stream.isExhausted() == (numBytesRead == subregionSize));
|
||||
}
|
||||
|
||||
expectEquals (stream.getPosition(), (int64) subregionSize);
|
||||
expectEquals (stream.getNumBytesRemaining(), (int64) 0);
|
||||
expect (stream.isExhausted());
|
||||
}
|
||||
};
|
||||
|
||||
static SubregionInputStreamTests subregionInputStreamTests;
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace juce
|
||||
|
Reference in New Issue
Block a user