From 18f894cb9f1b4c58c6bf37296ed2430310322a9d Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Fri, 21 Apr 2017 18:17:09 +0300 Subject: [PATCH] Extens RWops tests --- tests/test_rwops.cc | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/tests/test_rwops.cc b/tests/test_rwops.cc index b2767ae..8ce7b30 100644 --- a/tests/test_rwops.cc +++ b/tests/test_rwops.cc @@ -24,6 +24,11 @@ BEGIN_TEST(int, char*[]) EXPECT_TRUE(rw.Tell() == 0); } + { + // Size + EXPECT_TRUE(rw.Size() == 4); + } + { // Seeks EXPECT_TRUE(rw.Seek(0, RW_SEEK_SET) == 0); @@ -58,18 +63,20 @@ BEGIN_TEST(int, char*[]) // Position after read EXPECT_TRUE(rw.Tell() == 4); + EXPECT_TRUE(rw.Size() == 4); } { // Read via SDL - EXPECT_TRUE(rw.Seek(0, RW_SEEK_SET) == 0); + EXPECT_TRUE(SDL_RWseek(rw.Get(), 0, RW_SEEK_SET) == 0); char buf[4] = {0}; EXPECT_TRUE(SDL_RWread(rw.Get(), buf, 1, 4) == 4); EXPECT_TRUE(buf[0] == 'a' && buf[3] == 'd'); // Position after read - EXPECT_TRUE(rw.Tell() == 4); + EXPECT_TRUE(SDL_RWtell(rw.Get()) == 4); + EXPECT_TRUE(SDL_RWsize(rw.Get()) == 4); } { @@ -95,6 +102,7 @@ BEGIN_TEST(int, char*[]) EXPECT_TRUE(rw.Tell() == 8); EXPECT_TRUE(buffer.size() == 8); EXPECT_TRUE(buffer == std::vector({'1', '2', '1', '2', '1', '2', '1', '2'})); + EXPECT_TRUE(rw.Size() == 8); } { @@ -108,6 +116,7 @@ BEGIN_TEST(int, char*[]) EXPECT_TRUE(buffer[99] == '\0'); EXPECT_TRUE(buffer[100] == 'x'); EXPECT_TRUE(buffer[101] == 'y'); + EXPECT_TRUE(rw.Size() == 102); } { @@ -174,15 +183,21 @@ BEGIN_TEST(int, char*[]) std::stringstream test; RWops rw((StreamRWops(test))); + EXPECT_EQUAL(rw.Size(), 0); + char buf[4] = { 'a', 'b', 'c', 'd' }; EXPECT_TRUE(rw.Write(buf, 1, 4) == 4); + EXPECT_EQUAL(rw.Size(), 4); + EXPECT_TRUE(rw.Seek(0, RW_SEEK_CUR) == 4); EXPECT_TRUE(rw.Seek(2, RW_SEEK_SET) == 2); EXPECT_TRUE(rw.Write(buf, 1, 4) == 4); + EXPECT_EQUAL(rw.Size(), 6); + EXPECT_EQUAL(test.str(), "ababcd"); } @@ -192,6 +207,8 @@ BEGIN_TEST(int, char*[]) std::stringstream test("abcdef"); RWops rw((StreamRWops(test))); + EXPECT_EQUAL(rw.Size(), 6); + char buf[4]; EXPECT_EQUAL(rw.Read(buf, 1, 4), 4UL); @@ -223,6 +240,8 @@ BEGIN_TEST(int, char*[]) EXPECT_EQUAL(rw.Read(buf, 1, 2), 2UL); EXPECT_EQUAL(std::string(buf, 2), "ef"); + + EXPECT_EQUAL(rw.Size(), 6); } } @@ -231,11 +250,13 @@ BEGIN_TEST(int, char*[]) RWops rw = RWops::FromFile(TESTDATA_DIR "/test.txt"); EXPECT_TRUE(rw.Tell() == 0); + EXPECT_TRUE(rw.Size() == 9); char buf[8] = {0}; EXPECT_TRUE(rw.Read(buf, 1, 8) == 8); EXPECT_TRUE(buf[0] == 'a'); EXPECT_TRUE(buf[7] == 'h'); EXPECT_TRUE(rw.Tell() == 8); + EXPECT_TRUE(rw.Size() == 9); rw.Close(); }