blob: 1d018e279d3842584a83c66435bea43677f00138 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/exo/permission.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace exo {
namespace {
TEST(PermissionsTest, ActiveCapability) {
Permission p{Permission::Capability::kActivate, base::TimeDelta::FromDays(1)};
ASSERT_TRUE(p.Check(Permission::Capability::kActivate));
ASSERT_FALSE(p.Check(static_cast<Permission::Capability>(
(int)(Permission::Capability::kActivate) + 1)));
}
TEST(PermissionsTest, Revoke) {
Permission p{Permission::Capability::kActivate, base::TimeDelta::FromDays(1)};
ASSERT_TRUE(p.Check(Permission::Capability::kActivate));
p.Revoke();
ASSERT_FALSE(p.Check(Permission::Capability::kActivate));
}
TEST(PermissionsTest, Expire) {
Permission p{Permission::Capability::kActivate,
base::TimeDelta::FromMilliseconds(0)};
ASSERT_FALSE(p.Check(Permission::Capability::kActivate));
}
} // namespace
} // namespace exo