Index: mojo/edk/system/handle_unittest.cc |
diff --git a/mojo/edk/system/handle_unittest.cc b/mojo/edk/system/handle_unittest.cc |
index 5183c9c2814b71d80ebfd4e45b45edffec191027..141b3905865aa61324ee00358039677607d2162e 100644 |
--- a/mojo/edk/system/handle_unittest.cc |
+++ b/mojo/edk/system/handle_unittest.cc |
@@ -114,6 +114,37 @@ TEST(HandleTest, Basic) { |
} |
} |
+TEST(HandleTest, HasAllRights) { |
+ { |
+ Handle h; |
+ |
azani
2016/05/09 21:52:24
nit: Maybe add a test for for MOJO_HANDLE_RIGHT_NO
|
+ EXPECT_FALSE(h.has_all_rights(MOJO_HANDLE_RIGHT_DUPLICATE)); |
+ EXPECT_FALSE(h.has_all_rights(MOJO_HANDLE_RIGHT_TRANSFER)); |
+ EXPECT_FALSE(h.has_all_rights(MOJO_HANDLE_RIGHT_READ)); |
+ EXPECT_FALSE(h.has_all_rights(MOJO_HANDLE_RIGHT_WRITE)); |
+ } |
+ |
+ { |
+ Handle h(MakeRefCounted<test::MockSimpleDispatcher>(), |
+ MOJO_HANDLE_RIGHT_DUPLICATE | MOJO_HANDLE_RIGHT_READ); |
+ |
+ EXPECT_TRUE(h.has_all_rights(MOJO_HANDLE_RIGHT_DUPLICATE)); |
+ EXPECT_FALSE(h.has_all_rights(MOJO_HANDLE_RIGHT_TRANSFER)); |
+ EXPECT_TRUE(h.has_all_rights(MOJO_HANDLE_RIGHT_READ)); |
+ EXPECT_FALSE(h.has_all_rights(MOJO_HANDLE_RIGHT_WRITE)); |
+ |
+ EXPECT_TRUE( |
+ h.has_all_rights(MOJO_HANDLE_RIGHT_DUPLICATE | MOJO_HANDLE_RIGHT_READ)); |
+ EXPECT_FALSE(h.has_all_rights(MOJO_HANDLE_RIGHT_DUPLICATE | |
+ MOJO_HANDLE_RIGHT_READ | |
+ MOJO_HANDLE_RIGHT_WRITE)); |
+ EXPECT_FALSE(h.has_all_rights(MOJO_HANDLE_RIGHT_DUPLICATE | |
+ MOJO_HANDLE_RIGHT_WRITE)); |
+ |
+ EXPECT_EQ(MOJO_RESULT_OK, h.dispatcher->Close()); |
+ } |
+} |
+ |
} // namespace |
} // namespace system |
} // namespace mojo |