1
#include <gtest/gtest.h>
4
#include <zipios++/zipfile.h>
6
// NOLINTBEGIN(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
7
TEST(ZipFile, TestValidity)
10
EXPECT_EQ(zf.isValid(), false);
11
EXPECT_THROW(zf.entries(), zipios::InvalidStateException);
12
EXPECT_THROW(zf.getEntry("inexistant", zipios::FileCollection::MatchPath::MATCH),
13
zipios::InvalidStateException);
14
EXPECT_THROW(zf.getEntry("inexistant", zipios::FileCollection::MatchPath::IGNORE),
15
zipios::InvalidStateException);
16
EXPECT_THROW(zf.getInputStream("inexistant", zipios::FileCollection::MatchPath::MATCH),
17
zipios::InvalidStateException);
18
EXPECT_THROW(zf.getInputStream("inexistant", zipios::FileCollection::MatchPath::IGNORE),
19
zipios::InvalidStateException);
20
EXPECT_THROW(zf.getName(), zipios::InvalidStateException);
21
EXPECT_THROW(zf.size(), zipios::InvalidStateException);
23
EXPECT_EQ(zf.isValid(), false);
26
TEST(ZipFile, TestNonExisting)
28
zipios::ZipFile zf("this/file/does/not/exist");
29
EXPECT_EQ(zf.isValid(), false);
32
class ZipFileTest: public ::testing::Test
37
std::ofstream os("empty.zip", std::ios::out | std::ios::binary);
38
os << static_cast<char>(0x50);
39
os << static_cast<char>(0x4B);
40
os << static_cast<char>(0x05);
41
os << static_cast<char>(0x06);
42
os << static_cast<char>(0x00);
43
os << static_cast<char>(0x00);
44
os << static_cast<char>(0x00);
45
os << static_cast<char>(0x00);
46
os << static_cast<char>(0x00);
47
os << static_cast<char>(0x00);
48
os << static_cast<char>(0x00);
49
os << static_cast<char>(0x00);
50
os << static_cast<char>(0x00);
51
os << static_cast<char>(0x00);
52
os << static_cast<char>(0x00);
53
os << static_cast<char>(0x00);
54
os << static_cast<char>(0x00);
55
os << static_cast<char>(0x00);
56
os << static_cast<char>(0x00);
57
os << static_cast<char>(0x00);
58
os << static_cast<char>(0x00);
59
os << static_cast<char>(0x00);
61
void TearDown() override
64
std::remove("empty.zip");
68
TEST_F(ZipFileTest, TestValid)
70
zipios::ZipFile zf("empty.zip");
71
EXPECT_EQ(zf.isValid(), true);
72
EXPECT_EQ(zf.entries().empty(), true);
73
EXPECT_EQ(zf.getName(), "empty.zip");
74
EXPECT_EQ(zf.size(), 0);
76
EXPECT_EQ(zf.isValid(), false);
78
// NOLINTEND(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)