40 return file.getSize();
50 jassert (buffer !=
nullptr && bytesToRead >= 0);
84struct FileInputStreamTests :
public UnitTest
86 FileInputStreamTests()
90 void runTest()
override
92 beginTest (
"Open stream non-existent file");
95 expect (! tempFile.exists());
97 FileInputStream stream (tempFile);
98 expect (stream.failedToOpen());
101 beginTest (
"Open stream existing file");
105 expect (tempFile.exists());
107 FileInputStream stream (tempFile);
108 expect (stream.openedOk());
111 const MemoryBlock
data (
"abcdefghijklmnopqrstuvwxyz", 26);
113 f.appendData (
data.getData(),
data.getSize());
114 FileInputStream stream (
f);
118 expectEquals (stream.getPosition(), (
int64) 0);
119 expectEquals (stream.getTotalLength(), (
int64)
data.getSize());
120 expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
121 expect (! stream.isExhausted());
123 size_t numBytesRead = 0;
124 MemoryBlock readBuffer (
data.getSize());
126 while (numBytesRead <
data.getSize())
128 numBytesRead += (size_t) stream.read (&readBuffer[numBytesRead], 3);
130 expectEquals (stream.getPosition(), (
int64) numBytesRead);
131 expectEquals (stream.getNumBytesRemaining(), (
int64) (
data.getSize() - numBytesRead));
132 expect (stream.isExhausted() == (numBytesRead ==
data.getSize()));
135 expectEquals (stream.getPosition(), (
int64)
data.getSize());
136 expectEquals (stream.getNumBytesRemaining(), (
int64) 0);
137 expect (stream.isExhausted());
139 expect (readBuffer ==
data);
144 stream.setPosition (0);
145 expectEquals (stream.getPosition(), (
int64) 0);
146 expectEquals (stream.getTotalLength(), (
int64)
data.getSize());
147 expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
148 expect (! stream.isExhausted());
150 size_t numBytesRead = 0;
151 const int numBytesToSkip = 5;
153 while (numBytesRead <
data.getSize())
155 stream.skipNextBytes (numBytesToSkip);
156 numBytesRead += numBytesToSkip;
157 numBytesRead = std::min (numBytesRead,
data.getSize());
159 expectEquals (stream.getPosition(), (
int64) numBytesRead);
160 expectEquals (stream.getNumBytesRemaining(), (
int64) (
data.getSize() - numBytesRead));
161 expect (stream.isExhausted() == (numBytesRead ==
data.getSize()));
164 expectEquals (stream.getPosition(), (
int64)
data.getSize());
165 expectEquals (stream.getNumBytesRemaining(), (
int64) 0);
166 expect (stream.isExhausted());
173static FileInputStreamTests fileInputStreamTests;
int64_t int64
Definition basics.h:91
static File createTempFile(StringRef fileNameEnding)
Definition File.cpp:953
Definition juce_File.h:45
Definition juce_UnitTest.h:70
unsigned f
Definition inflate.c:1572
JSAMPIMAGE data
Definition jpeglib.h:945
Definition juce_UnitTestCategories.h:27
Definition carla_juce.cpp:31
int64 juce_fileSetPosition(void *handle, int64 pos)
Definition juce_posix_SharedCode.h:431
long long int64
Definition juce_MathsFunctions.h:54