@@ -27,6 +27,7 @@ BOOST_AUTO_TEST_CASE(xor_file)
27
27
BOOST_CHECK_EXCEPTION (xor_file << std::byte{}, std::ios_base::failure, HasReason{" AutoFile::write: file handle is nullpt" });
28
28
BOOST_CHECK_EXCEPTION (xor_file >> std::byte{}, std::ios_base::failure, HasReason{" AutoFile::read: file handle is nullpt" });
29
29
BOOST_CHECK_EXCEPTION (xor_file.ignore (1 ), std::ios_base::failure, HasReason{" AutoFile::ignore: file handle is nullpt" });
30
+ BOOST_CHECK_EXCEPTION (xor_file.size (), std::ios_base::failure, HasReason{" AutoFile::size: file handle is nullptr" });
30
31
}
31
32
{
32
33
#ifdef __MINGW64__
@@ -37,6 +38,7 @@ BOOST_AUTO_TEST_CASE(xor_file)
37
38
#endif
38
39
AutoFile xor_file{raw_file (mode), xor_pat};
39
40
xor_file << test1 << test2;
41
+ BOOST_CHECK_EQUAL (xor_file.size (), 14 );
40
42
}
41
43
{
42
44
// Read raw from disk
@@ -46,6 +48,7 @@ BOOST_AUTO_TEST_CASE(xor_file)
46
48
BOOST_CHECK_EQUAL (HexStr (raw), " fc01fd03fd04fa" );
47
49
// Check that no padding exists
48
50
BOOST_CHECK_EXCEPTION (non_xor_file.ignore (1 ), std::ios_base::failure, HasReason{" AutoFile::ignore: end of file" });
51
+ BOOST_CHECK_EQUAL (non_xor_file.size (), 14 );
49
52
}
50
53
{
51
54
AutoFile xor_file{raw_file (" rb" ), xor_pat};
@@ -55,6 +58,7 @@ BOOST_AUTO_TEST_CASE(xor_file)
55
58
BOOST_CHECK_EQUAL (HexStr (read2), HexStr (test2));
56
59
// Check that eof was reached
57
60
BOOST_CHECK_EXCEPTION (xor_file >> std::byte{}, std::ios_base::failure, HasReason{" AutoFile::read: end of file" });
61
+ BOOST_CHECK_EQUAL (xor_file.size (), 14 );
58
62
}
59
63
{
60
64
AutoFile xor_file{raw_file (" rb" ), xor_pat};
@@ -66,6 +70,7 @@ BOOST_AUTO_TEST_CASE(xor_file)
66
70
// Check that ignore and read fail now
67
71
BOOST_CHECK_EXCEPTION (xor_file.ignore (1 ), std::ios_base::failure, HasReason{" AutoFile::ignore: end of file" });
68
72
BOOST_CHECK_EXCEPTION (xor_file >> std::byte{}, std::ios_base::failure, HasReason{" AutoFile::read: end of file" });
73
+ BOOST_CHECK_EQUAL (xor_file.size (), 14 );
69
74
}
70
75
}
71
76
0 commit comments