skip calls of TellI/TellO() if the stream is not seekable; more const-correctness
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -193,6 +193,8 @@ protected:
|
|||||||
{
|
{
|
||||||
CleanupHelper cleanup(this);
|
CleanupHelper cleanup(this);
|
||||||
TStreamIn &stream_in = CreateInStream();
|
TStreamIn &stream_in = CreateInStream();
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT( stream_in.IsSeekable() );
|
||||||
CPPUNIT_ASSERT(!stream_in.Eof());
|
CPPUNIT_ASSERT(!stream_in.Eof());
|
||||||
|
|
||||||
// Try to Seek in the stream...
|
// Try to Seek in the stream...
|
||||||
@@ -212,6 +214,10 @@ protected:
|
|||||||
{
|
{
|
||||||
CleanupHelper cleanup(this);
|
CleanupHelper cleanup(this);
|
||||||
TStreamIn &stream_in = CreateInStream();
|
TStreamIn &stream_in = CreateInStream();
|
||||||
|
|
||||||
|
// this test shouldn't be used at all if the stream isn't seekable
|
||||||
|
CPPUNIT_ASSERT( stream_in.IsSeekable() );
|
||||||
|
|
||||||
CPPUNIT_ASSERT(!stream_in.Eof());
|
CPPUNIT_ASSERT(!stream_in.Eof());
|
||||||
|
|
||||||
// Try to Get the location in the stream...
|
// Try to Get the location in the stream...
|
||||||
@@ -280,13 +286,13 @@ protected:
|
|||||||
CleanupHelper cleanup(this);
|
CleanupHelper cleanup(this);
|
||||||
TStreamOut &stream_out = CreateOutStream();
|
TStreamOut &stream_out = CreateOutStream();
|
||||||
|
|
||||||
char *buf = "Some text";
|
const char *buf = "Some text";
|
||||||
int i;
|
const wxFileOffset len = strlen(buf);
|
||||||
int len = strlen(buf);
|
for ( int i = 0; i < len; i++ )
|
||||||
for (i = 0; i < len; i++)
|
|
||||||
stream_out.PutC(buf[i]);
|
stream_out.PutC(buf[i]);
|
||||||
|
|
||||||
CPPUNIT_ASSERT(i == stream_out.TellO());
|
if ( stream_out.IsSeekable() )
|
||||||
|
CPPUNIT_ASSERT_EQUAL(len, stream_out.TellO());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Just try to perform a Write() on the output stream.
|
// Just try to perform a Write() on the output stream.
|
||||||
@@ -296,14 +302,17 @@ protected:
|
|||||||
TStreamOut &stream_out = CreateOutStream();
|
TStreamOut &stream_out = CreateOutStream();
|
||||||
|
|
||||||
// Do the buffer version.
|
// Do the buffer version.
|
||||||
char *buf = "Some text";
|
const char *buf = "Some text";
|
||||||
int len = strlen(buf);
|
const wxFileOffset len = strlen(buf);
|
||||||
(void)stream_out.Write(buf, len);
|
(void)stream_out.Write(buf, len);
|
||||||
CPPUNIT_ASSERT(stream_out.TellO() == len);
|
if ( stream_out.IsSeekable() )
|
||||||
|
CPPUNIT_ASSERT_EQUAL( len, stream_out.TellO() );
|
||||||
|
|
||||||
// Do the Stream version.
|
// Do the Stream version.
|
||||||
TStreamIn &stream_in = CreateInStream();
|
TStreamIn &stream_in = CreateInStream();
|
||||||
(void)stream_out.Write(stream_in);
|
(void)stream_out.Write(stream_in);
|
||||||
|
|
||||||
|
if ( stream_out.IsSeekable() )
|
||||||
CPPUNIT_ASSERT(stream_out.TellO() > len);
|
CPPUNIT_ASSERT(stream_out.TellO() > len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -313,7 +322,7 @@ protected:
|
|||||||
CleanupHelper cleanup(this);
|
CleanupHelper cleanup(this);
|
||||||
TStreamOut &stream_out = CreateOutStream();
|
TStreamOut &stream_out = CreateOutStream();
|
||||||
|
|
||||||
char *buf = "12345";
|
const char *buf = "12345";
|
||||||
(void)stream_out.Write(buf, 5);
|
(void)stream_out.Write(buf, 5);
|
||||||
CPPUNIT_ASSERT(stream_out.LastWrite() == 5);
|
CPPUNIT_ASSERT(stream_out.LastWrite() == 5);
|
||||||
(void)stream_out.PutC('1');
|
(void)stream_out.PutC('1');
|
||||||
@@ -326,8 +335,10 @@ protected:
|
|||||||
CleanupHelper cleanup(this);
|
CleanupHelper cleanup(this);
|
||||||
TStreamOut &stream_out = CreateOutStream();
|
TStreamOut &stream_out = CreateOutStream();
|
||||||
|
|
||||||
|
CPPUNIT_ASSERT( stream_out.IsSeekable() );
|
||||||
|
|
||||||
// First put some data in the stream, so it is not empty.
|
// First put some data in the stream, so it is not empty.
|
||||||
char *buf = "1234567890";
|
const char *buf = "1234567890";
|
||||||
(void)stream_out.Write(buf, 10);
|
(void)stream_out.Write(buf, 10);
|
||||||
|
|
||||||
// Try to Seek in the stream...
|
// Try to Seek in the stream...
|
||||||
@@ -348,6 +359,9 @@ protected:
|
|||||||
CleanupHelper cleanup(this);
|
CleanupHelper cleanup(this);
|
||||||
TStreamOut &stream_out = CreateOutStream();
|
TStreamOut &stream_out = CreateOutStream();
|
||||||
|
|
||||||
|
// If this test is used, the stream must be seekable
|
||||||
|
CPPUNIT_ASSERT( stream_out.IsSeekable() );
|
||||||
|
|
||||||
// Try to Get the location in the stream...
|
// Try to Get the location in the stream...
|
||||||
CPPUNIT_ASSERT(stream_out.TellO() == 0);
|
CPPUNIT_ASSERT(stream_out.TellO() == 0);
|
||||||
(void)stream_out.PutC('1');
|
(void)stream_out.PutC('1');
|
||||||
@@ -355,7 +369,7 @@ protected:
|
|||||||
if (!m_bSimpleTellOTest)
|
if (!m_bSimpleTellOTest)
|
||||||
{
|
{
|
||||||
// First put some extra data in the stream, so it's not empty.
|
// First put some extra data in the stream, so it's not empty.
|
||||||
char *buf = "1234567890";
|
const char *buf = "1234567890";
|
||||||
(void)stream_out.Write(buf, 10);
|
(void)stream_out.Write(buf, 10);
|
||||||
|
|
||||||
off_t pos = stream_out.SeekO(5, wxFromStart);
|
off_t pos = stream_out.SeekO(5, wxFromStart);
|
||||||
|
Reference in New Issue
Block a user