aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormanuel <manuel.bott@eps.ch>2026-10-15 08:45:09 +0000
committermanuel <manuel.bott@eps.ch>2026-10-15 08:45:09 +0000
commit92176bc0615f7ea16d652cd1c6efd10c1be0b594 (patch)
treeea9c30cf9cf84d0acbd10e39f3f850c004b4e017
parent8457adfed9eb4e95e12fda70ff8156c1283f8747 (diff)
downloadkernel-92176bc0615f7ea16d652cd1c6efd10c1be0b594.tar.xz
kernel-92176bc0615f7ea16d652cd1c6efd10c1be0b594.zip
kernel/filesystem: fix inode test and add isDirectory Entry tests
-rw-r--r--kernel/kernel/filesystems/fat32/inode.tests.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/kernel/kernel/filesystems/fat32/inode.tests.cpp b/kernel/kernel/filesystems/fat32/inode.tests.cpp
index ec20c27f..62c50ae9 100644
--- a/kernel/kernel/filesystems/fat32/inode.tests.cpp
+++ b/kernel/kernel/filesystems/fat32/inode.tests.cpp
@@ -15,7 +15,7 @@ SCENARIO("Fat32 inode read/write", "[filesystem][fat32][inode]")
{
GIVEN("a fat32 inode")
{
- auto inode = kernel::filesystems::fat32::inode{};
+ auto inode = kernel::filesystems::fat32::inode{2, 0};
WHEN("reading from the inode")
{
@@ -40,3 +40,27 @@ SCENARIO("Fat32 inode read/write", "[filesystem][fat32][inode]")
}
}
}
+
+SCENARIO("Fat32 inode attributes", "[filesystem][fat32][inode]")
+{
+ GIVEN("a fat32 inode with the directory attribute")
+ {
+ auto inode = kernel::filesystems::fat32::inode{2, kernel::filesystems::fat32::constants::attribute_directory};
+
+ THEN("it is a directory and keeps its first cluster")
+ {
+ REQUIRE(inode.is_directory());
+ REQUIRE(inode.first_cluster() == 2);
+ }
+ }
+
+ GIVEN("a fat32 inode without the directory attribute")
+ {
+ auto inode = kernel::filesystems::fat32::inode{3, 0};
+
+ THEN("it is not a directory")
+ {
+ REQUIRE_FALSE(inode.is_directory());
+ }
+ }
+}