aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authormanuel <manuel.bott@eps.ch>2026-10-15 08:45:09 +0000
committerbbuerge <b.buerge@proton.me>2026-10-22 14:21:24 +0000
commit810ee2ec07245a5d43477e52582be78a93cb5e12 (patch)
treef86dc2a7df2539ad5b5a13881363b988e104087d /kernel
parent6b8567079f2cda00cefdbac96a0ddf4b1a9a5f32 (diff)
downloadkernel-810ee2ec07245a5d43477e52582be78a93cb5e12.tar.xz
kernel-810ee2ec07245a5d43477e52582be78a93cb5e12.zip
kernel/filesystem: fix inode test and add isDirectory Entry tests
Diffstat (limited to 'kernel')
-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());
+ }
+ }
+}