diff options
| -rw-r--r-- | kernel/kernel/filesystems/fat32/inode.tests.cpp | 26 |
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()); + } + } +} |
