|
@@ -97,6 +97,51 @@ TEST(FileOperations, TestingSeek)
|
|
|
ASSERT_EQ(miniffs_read(fp), '!');
|
|
|
}
|
|
|
|
|
|
+TEST(FileOperations, LargeOutOfBoundarySeeks)
|
|
|
+{
|
|
|
+ miniffs_t *fs = get_fs("simple_test.mffs");
|
|
|
+ file_t *fp = miniffs_open(fs, "HELLO.TXT");
|
|
|
+
|
|
|
+ miniffs_seek(fp, 100, MFFS_SEEK_SET);
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_SEEK_OUT_OF_BOUNDARIES);
|
|
|
+ ASSERT_EQ(miniffs_read(fp), '!');
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_END_OF_FILE);
|
|
|
+
|
|
|
+ miniffs_seek(fp, 100, MFFS_SEEK_END);
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_SEEK_OUT_OF_BOUNDARIES);
|
|
|
+ ASSERT_EQ(miniffs_read(fp), 'H');
|
|
|
+}
|
|
|
+
|
|
|
+TEST(FileOperations, SeekingAroundBoundaries)
|
|
|
+{
|
|
|
+ miniffs_t *fs = get_fs("simple_test.mffs");
|
|
|
+ file_t *fp = miniffs_open(fs, "HELLO.TXT");
|
|
|
+
|
|
|
+ miniffs_seek(fp, 10, MFFS_SEEK_SET);
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_NOERROR);
|
|
|
+ ASSERT_EQ(miniffs_read(fp), 'd');
|
|
|
+
|
|
|
+ miniffs_seek(fp, 11, MFFS_SEEK_SET);
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_NOERROR);
|
|
|
+ ASSERT_EQ(miniffs_read(fp), '!');
|
|
|
+
|
|
|
+ miniffs_seek(fp, 12, MFFS_SEEK_SET);
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_SEEK_OUT_OF_BOUNDARIES);
|
|
|
+ ASSERT_EQ(miniffs_read(fp), '!');
|
|
|
+
|
|
|
+ miniffs_seek(fp, 10, MFFS_SEEK_END);
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_NOERROR);
|
|
|
+ ASSERT_EQ(miniffs_read(fp), 'e');
|
|
|
+
|
|
|
+ miniffs_seek(fp, 11, MFFS_SEEK_END);
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_NOERROR);
|
|
|
+ ASSERT_EQ(miniffs_read(fp), 'H');
|
|
|
+
|
|
|
+ miniffs_seek(fp, 12, MFFS_SEEK_END);
|
|
|
+ ASSERT_EQ(miniffs_geterror(), MINIFFS_SEEK_OUT_OF_BOUNDARIES);
|
|
|
+ ASSERT_EQ(miniffs_read(fp), 'H');
|
|
|
+}
|
|
|
+
|
|
|
TEST(FileOperations, TestingEndOfFileBoundary)
|
|
|
{
|
|
|
miniffs_t *fs = get_fs("simple_test.mffs");
|
|
@@ -197,5 +242,4 @@ TEST(FileOperations, ReadTooManyBlocks)
|
|
|
ASSERT_EQ(buffer[9], 'l');
|
|
|
ASSERT_EQ(buffer[10], 'd');
|
|
|
ASSERT_EQ(buffer[11], '!');
|
|
|
-
|
|
|
}
|