aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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());
+ }
+ }
+}