Tests: add zipios++ unit tests
This commit is contained in:
@@ -3,3 +3,4 @@ add_subdirectory(App)
|
||||
add_subdirectory(Gui)
|
||||
add_subdirectory(Misc)
|
||||
add_subdirectory(Qt)
|
||||
add_subdirectory(zipios++)
|
||||
|
||||
6
tests/src/zipios++/CMakeLists.txt
Normal file
6
tests/src/zipios++/CMakeLists.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
target_sources(
|
||||
Tests_run
|
||||
PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/collectioncollection.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/zipfile.cpp
|
||||
)
|
||||
73
tests/src/zipios++/collectioncollection.cpp
Normal file
73
tests/src/zipios++/collectioncollection.cpp
Normal file
@@ -0,0 +1,73 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include <memory>
|
||||
#include <zipios++/collcoll.h>
|
||||
|
||||
// NOLINTBEGIN(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
|
||||
TEST(Collection, TestValidity)
|
||||
{
|
||||
zipios::CollectionCollection cc;
|
||||
EXPECT_EQ(cc.isValid(), true);
|
||||
EXPECT_EQ(cc.entries().empty(), true);
|
||||
EXPECT_EQ(cc.getEntry("inexistant", zipios::FileCollection::MatchPath::MATCH), nullptr);
|
||||
EXPECT_EQ(cc.getEntry("inexistant", zipios::FileCollection::MatchPath::IGNORE), nullptr);
|
||||
EXPECT_EQ(cc.getInputStream("inexistant", zipios::FileCollection::MatchPath::MATCH), nullptr);
|
||||
EXPECT_EQ(cc.getInputStream("inexistant", zipios::FileCollection::MatchPath::IGNORE), nullptr);
|
||||
EXPECT_EQ(cc.getName(), "-"); // default name is "-"
|
||||
EXPECT_EQ(cc.size(), 0);
|
||||
cc.close();
|
||||
EXPECT_EQ(cc.isValid(), false);
|
||||
}
|
||||
|
||||
TEST(Collection, TestCopy)
|
||||
{
|
||||
zipios::CollectionCollection cc;
|
||||
zipios::CollectionCollection copy(cc);
|
||||
EXPECT_EQ(copy.isValid(), true);
|
||||
EXPECT_EQ(copy.entries().empty(), true);
|
||||
EXPECT_EQ(copy.getEntry("inexistant", zipios::FileCollection::MatchPath::MATCH), nullptr);
|
||||
EXPECT_EQ(copy.getEntry("inexistant", zipios::FileCollection::MatchPath::IGNORE), nullptr);
|
||||
EXPECT_EQ(copy.getInputStream("inexistant", zipios::FileCollection::MatchPath::MATCH), nullptr);
|
||||
EXPECT_EQ(copy.getInputStream("inexistant", zipios::FileCollection::MatchPath::IGNORE), nullptr);
|
||||
EXPECT_EQ(copy.getName(), "-"); // default name is "-"
|
||||
EXPECT_EQ(copy.size(), 0);
|
||||
}
|
||||
|
||||
TEST(Collection, TestCopyAssign)
|
||||
{
|
||||
zipios::CollectionCollection cc;
|
||||
zipios::CollectionCollection copy;
|
||||
copy = cc;
|
||||
EXPECT_EQ(copy.isValid(), true);
|
||||
EXPECT_EQ(copy.entries().empty(), true);
|
||||
EXPECT_EQ(copy.getEntry("inexistant", zipios::FileCollection::MatchPath::MATCH), nullptr);
|
||||
EXPECT_EQ(copy.getEntry("inexistant", zipios::FileCollection::MatchPath::IGNORE), nullptr);
|
||||
EXPECT_EQ(copy.getInputStream("inexistant", zipios::FileCollection::MatchPath::MATCH), nullptr);
|
||||
EXPECT_EQ(copy.getInputStream("inexistant", zipios::FileCollection::MatchPath::IGNORE), nullptr);
|
||||
EXPECT_EQ(copy.getName(), "-"); // default name is "-"
|
||||
EXPECT_EQ(copy.size(), 0);
|
||||
}
|
||||
|
||||
TEST(Collection, TestClone)
|
||||
{
|
||||
zipios::CollectionCollection cc;
|
||||
std::unique_ptr<zipios::FileCollection> pointer(cc.clone());
|
||||
EXPECT_EQ(pointer->isValid(), true);
|
||||
EXPECT_EQ(pointer->entries().empty(), true);
|
||||
EXPECT_EQ(pointer->getEntry("inexistant", zipios::FileCollection::MatchPath::MATCH), nullptr);
|
||||
EXPECT_EQ(pointer->getEntry("inexistant", zipios::FileCollection::MatchPath::IGNORE), nullptr);
|
||||
EXPECT_EQ(pointer->getInputStream("inexistant", zipios::FileCollection::MatchPath::MATCH), nullptr);
|
||||
EXPECT_EQ(pointer->getInputStream("inexistant", zipios::FileCollection::MatchPath::IGNORE), nullptr);
|
||||
EXPECT_EQ(pointer->getName(), "-"); // default name is "-"
|
||||
EXPECT_EQ(pointer->size(), 0);
|
||||
}
|
||||
|
||||
TEST(Collection, TestAdd)
|
||||
{
|
||||
zipios::CollectionCollection cc;
|
||||
zipios::FileCollection* pointer(cc.clone());
|
||||
EXPECT_EQ(cc.addCollection(pointer), true);
|
||||
EXPECT_EQ(cc.addCollection(nullptr), false);
|
||||
EXPECT_EQ(cc.addCollection(cc), false);
|
||||
}
|
||||
|
||||
// NOLINTEND(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
|
||||
71
tests/src/zipios++/zipfile.cpp
Normal file
71
tests/src/zipios++/zipfile.cpp
Normal file
@@ -0,0 +1,71 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include <memory>
|
||||
#include <cstdio>
|
||||
#include <zipios++/zipfile.h>
|
||||
|
||||
// NOLINTBEGIN(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
|
||||
TEST(ZipFile, TestValidity)
|
||||
{
|
||||
zipios::ZipFile zf;
|
||||
EXPECT_EQ(zf.isValid(), false);
|
||||
EXPECT_THROW(zf.entries(), zipios::InvalidStateException);
|
||||
EXPECT_THROW(zf.getEntry("inexistant", zipios::FileCollection::MatchPath::MATCH), zipios::InvalidStateException);
|
||||
EXPECT_THROW(zf.getEntry("inexistant", zipios::FileCollection::MatchPath::IGNORE), zipios::InvalidStateException);
|
||||
EXPECT_THROW(zf.getInputStream("inexistant", zipios::FileCollection::MatchPath::MATCH), zipios::InvalidStateException);
|
||||
EXPECT_THROW(zf.getInputStream("inexistant", zipios::FileCollection::MatchPath::IGNORE), zipios::InvalidStateException);
|
||||
EXPECT_THROW(zf.getName(), zipios::InvalidStateException);
|
||||
EXPECT_THROW(zf.size(), zipios::InvalidStateException);
|
||||
zf.close();
|
||||
EXPECT_EQ(zf.isValid(), false);
|
||||
}
|
||||
|
||||
TEST(ZipFile, TestNonExisting)
|
||||
{
|
||||
zipios::ZipFile zf("this/file/does/not/exist");
|
||||
EXPECT_EQ(zf.isValid(), false);
|
||||
}
|
||||
|
||||
class ZipFileTest : public ::testing::Test {
|
||||
protected:
|
||||
void SetUp() override {
|
||||
std::ofstream os("empty.zip", std::ios::out | std::ios::binary);
|
||||
os << static_cast<char>(0x50);
|
||||
os << static_cast<char>(0x4B);
|
||||
os << static_cast<char>(0x05);
|
||||
os << static_cast<char>(0x06);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
os << static_cast<char>(0x00);
|
||||
}
|
||||
void TearDown() override {
|
||||
// delete empty.zip
|
||||
std::remove("empty.zip");
|
||||
}
|
||||
};
|
||||
|
||||
TEST_F(ZipFileTest, TestValid)
|
||||
{
|
||||
zipios::ZipFile zf("empty.zip");
|
||||
EXPECT_EQ(zf.isValid(), true);
|
||||
EXPECT_EQ(zf.entries().empty(), true);
|
||||
EXPECT_EQ(zf.getName(), "empty.zip");
|
||||
EXPECT_EQ(zf.size(), 0);
|
||||
zf.close();
|
||||
EXPECT_EQ(zf.isValid(), false);
|
||||
}
|
||||
// NOLINTEND(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
|
||||
Reference in New Issue
Block a user