Chromium Code Reviews| 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 |