|
@@ -44,6 +44,13 @@ TEST_CASE(file_permission_mask_from_symbolic_notation)
|
|
|
EXPECT_EQ(mask.value().apply(0), 0555);
|
|
|
EXPECT_EQ(mask.value().apply(0664), 0555);
|
|
|
|
|
|
+ mask = Core::FilePermissionsMask::from_symbolic_notation("ugo=rx"sv);
|
|
|
+ EXPECT(!mask.is_error());
|
|
|
+ EXPECT_EQ(mask.value().clear_mask(), 0777);
|
|
|
+ EXPECT_EQ(mask.value().write_mask(), 0555);
|
|
|
+ EXPECT_EQ(mask.value().apply(0), 0555);
|
|
|
+ EXPECT_EQ(mask.value().apply(0664), 0555);
|
|
|
+
|
|
|
mask = Core::FilePermissionsMask::from_symbolic_notation("u+rw,g=rx,o-rwx"sv);
|
|
|
EXPECT(!mask.is_error());
|
|
|
EXPECT_EQ(mask.value().clear_mask(), 0077);
|
|
@@ -51,6 +58,20 @@ TEST_CASE(file_permission_mask_from_symbolic_notation)
|
|
|
EXPECT_EQ(mask.value().apply(0), 0650);
|
|
|
EXPECT_EQ(mask.value().apply(0177), 0750);
|
|
|
|
|
|
+ mask = Core::FilePermissionsMask::from_symbolic_notation("+r"sv);
|
|
|
+ EXPECT(!mask.is_error());
|
|
|
+ EXPECT_EQ(mask.value().clear_mask(), 0);
|
|
|
+ EXPECT_EQ(mask.value().write_mask(), 0444);
|
|
|
+ EXPECT_EQ(mask.value().apply(0), 0444);
|
|
|
+ EXPECT_EQ(mask.value().apply(0123), 0567);
|
|
|
+
|
|
|
+ mask = Core::FilePermissionsMask::from_symbolic_notation("=rx"sv);
|
|
|
+ EXPECT(!mask.is_error());
|
|
|
+ EXPECT_EQ(mask.value().clear_mask(), 0777);
|
|
|
+ EXPECT_EQ(mask.value().write_mask(), 0555);
|
|
|
+ EXPECT_EQ(mask.value().apply(0), 0555);
|
|
|
+ EXPECT_EQ(mask.value().apply(0664), 0555);
|
|
|
+
|
|
|
mask = Core::FilePermissionsMask::from_symbolic_notation("z+rw"sv);
|
|
|
EXPECT(mask.is_error());
|
|
|
|