permission_unittest.cc 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/exo/permission.h"
  5. #include "base/time/time.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. namespace exo {
  8. namespace {
  9. TEST(PermissionsTest, ActiveCapability) {
  10. Permission p{Permission::Capability::kActivate, base::Days(1)};
  11. ASSERT_TRUE(p.Check(Permission::Capability::kActivate));
  12. ASSERT_FALSE(p.Check(static_cast<Permission::Capability>(
  13. (int)(Permission::Capability::kActivate) + 1)));
  14. }
  15. TEST(PermissionsTest, Revoke) {
  16. Permission p{Permission::Capability::kActivate, base::Days(1)};
  17. ASSERT_TRUE(p.Check(Permission::Capability::kActivate));
  18. p.Revoke();
  19. ASSERT_FALSE(p.Check(Permission::Capability::kActivate));
  20. }
  21. TEST(PermissionsTest, Expire) {
  22. Permission p{Permission::Capability::kActivate, base::Milliseconds(0)};
  23. ASSERT_FALSE(p.Check(Permission::Capability::kActivate));
  24. }
  25. } // namespace
  26. } // namespace exo