mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 05:50:06 +00:00
QFileInputStream and QFileBuffer test
This commit is contained in:
parent
ad6eb61898
commit
1f9392e9f6
3 changed files with 103 additions and 1 deletions
|
|
@ -1 +1 @@
|
||||||
Subproject commit cf7b1e86a0755da801040fdf24961a1e9eb0821b
|
Subproject commit d361766755107c9fbb48114b83de31f1149a14fa
|
||||||
99
test/source/scwx/qt/util/q_file_input_stream.test.cpp
Normal file
99
test/source/scwx/qt/util/q_file_input_stream.test.cpp
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
#include <scwx/qt/util/q_file_input_stream.hpp>
|
||||||
|
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
|
namespace scwx
|
||||||
|
{
|
||||||
|
namespace qt
|
||||||
|
{
|
||||||
|
namespace util
|
||||||
|
{
|
||||||
|
static const std::string kLoremIpsum_ {std::string(SCWX_TEST_DATA_DIR) +
|
||||||
|
"/text/lorem-ipsum.txt"};
|
||||||
|
|
||||||
|
TEST(QFileInputStream, Get)
|
||||||
|
{
|
||||||
|
QFileInputStream is {kLoremIpsum_};
|
||||||
|
|
||||||
|
EXPECT_EQ(is.is_open(), true);
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
|
||||||
|
std::string s;
|
||||||
|
|
||||||
|
for (size_t i = 0; i < 5; ++i)
|
||||||
|
{
|
||||||
|
int c = is.get();
|
||||||
|
EXPECT_NE(c, EOF);
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
s.push_back(static_cast<char>(c));
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPECT_EQ(s, "Lorem");
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(QFileInputStream, GetLine)
|
||||||
|
{
|
||||||
|
using namespace std::string_literals;
|
||||||
|
|
||||||
|
QFileInputStream is {kLoremIpsum_};
|
||||||
|
|
||||||
|
EXPECT_EQ(is.is_open(), true);
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
|
||||||
|
std::string s;
|
||||||
|
|
||||||
|
s.resize(5u);
|
||||||
|
is.getline(s.data(), 5u);
|
||||||
|
|
||||||
|
EXPECT_EQ(is.good(), false);
|
||||||
|
EXPECT_EQ(is.fail(), true);
|
||||||
|
EXPECT_EQ(s, "Lore\0"s);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(QFileInputStream, Read)
|
||||||
|
{
|
||||||
|
QFileInputStream is {kLoremIpsum_};
|
||||||
|
|
||||||
|
EXPECT_EQ(is.is_open(), true);
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
|
||||||
|
std::string s;
|
||||||
|
|
||||||
|
s.resize(5u);
|
||||||
|
is.read(s.data(), 5u);
|
||||||
|
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
EXPECT_EQ(s, "Lorem");
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(QFileInputStream, SeekOffset)
|
||||||
|
{
|
||||||
|
QFileInputStream is {kLoremIpsum_};
|
||||||
|
|
||||||
|
EXPECT_EQ(is.is_open(), true);
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
|
||||||
|
is.seekg(6, std::ios_base::beg);
|
||||||
|
|
||||||
|
std::string s;
|
||||||
|
s.resize(5u);
|
||||||
|
is.read(s.data(), 5u);
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
EXPECT_EQ(s, "ipsum");
|
||||||
|
|
||||||
|
is.seekg(1, std::ios_base::cur);
|
||||||
|
|
||||||
|
is.read(s.data(), 5u);
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
EXPECT_EQ(s, "dolor");
|
||||||
|
|
||||||
|
is.seekg(-8, std::ios_base::end);
|
||||||
|
|
||||||
|
is.read(s.data(), 5u);
|
||||||
|
EXPECT_EQ(is.good(), true);
|
||||||
|
EXPECT_EQ(s, "labor");
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace util
|
||||||
|
} // namespace qt
|
||||||
|
} // namespace scwx
|
||||||
|
|
@ -25,6 +25,7 @@ set(SRC_QT_MANAGER_TESTS source/scwx/qt/manager/settings_manager.test.cpp)
|
||||||
set(SRC_QT_MODEL_TESTS source/scwx/qt/model/imgui_context_model.test.cpp)
|
set(SRC_QT_MODEL_TESTS source/scwx/qt/model/imgui_context_model.test.cpp)
|
||||||
set(SRC_QT_SETTINGS_TESTS source/scwx/qt/settings/settings_container.test.cpp
|
set(SRC_QT_SETTINGS_TESTS source/scwx/qt/settings/settings_container.test.cpp
|
||||||
source/scwx/qt/settings/settings_variable.test.cpp)
|
source/scwx/qt/settings/settings_variable.test.cpp)
|
||||||
|
set(SRC_QT_UTIL_TESTS source/scwx/qt/util/q_file_input_stream.test.cpp)
|
||||||
set(SRC_UTIL_TESTS source/scwx/util/float.test.cpp
|
set(SRC_UTIL_TESTS source/scwx/util/float.test.cpp
|
||||||
source/scwx/util/rangebuf.test.cpp
|
source/scwx/util/rangebuf.test.cpp
|
||||||
source/scwx/util/streams.test.cpp
|
source/scwx/util/streams.test.cpp
|
||||||
|
|
@ -44,6 +45,7 @@ add_executable(wxtest ${SRC_MAIN}
|
||||||
${SRC_QT_MANAGER_TESTS}
|
${SRC_QT_MANAGER_TESTS}
|
||||||
${SRC_QT_MODEL_TESTS}
|
${SRC_QT_MODEL_TESTS}
|
||||||
${SRC_QT_SETTINGS_TESTS}
|
${SRC_QT_SETTINGS_TESTS}
|
||||||
|
${SRC_QT_UTIL_TESTS}
|
||||||
${SRC_UTIL_TESTS}
|
${SRC_UTIL_TESTS}
|
||||||
${SRC_WSR88D_TESTS}
|
${SRC_WSR88D_TESTS}
|
||||||
${CMAKE_FILES})
|
${CMAKE_FILES})
|
||||||
|
|
@ -57,6 +59,7 @@ source_group("Source Files\\qt\\config" FILES ${SRC_QT_CONFIG_TESTS})
|
||||||
source_group("Source Files\\qt\\manager" FILES ${SRC_QT_MANAGER_TESTS})
|
source_group("Source Files\\qt\\manager" FILES ${SRC_QT_MANAGER_TESTS})
|
||||||
source_group("Source Files\\qt\\model" FILES ${SRC_QT_MODEL_TESTS})
|
source_group("Source Files\\qt\\model" FILES ${SRC_QT_MODEL_TESTS})
|
||||||
source_group("Source Files\\qt\\settings" FILES ${SRC_QT_SETTINGS_TESTS})
|
source_group("Source Files\\qt\\settings" FILES ${SRC_QT_SETTINGS_TESTS})
|
||||||
|
source_group("Source Files\\qt\\util" FILES ${SRC_QT_UTIL_TESTS})
|
||||||
source_group("Source Files\\util" FILES ${SRC_UTIL_TESTS})
|
source_group("Source Files\\util" FILES ${SRC_UTIL_TESTS})
|
||||||
source_group("Source Files\\wsr88d" FILES ${SRC_WSR88D_TESTS})
|
source_group("Source Files\\wsr88d" FILES ${SRC_WSR88D_TESTS})
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue