blob: 3afdb4683d8729978a9064cb093482c96b2e5c47 [file] [log] [blame]
// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <gtest/gtest.h>
#include "libec/set_mkbp_wake_mask_command.h"
namespace ec {
namespace {
TEST(SetMkbpWakeMaskCommand, SetMkbpWakeMaskCommand) {
SetMkbpWakeMaskCommand cmd(EC_MKBP_HOST_EVENT_WAKE_MASK,
EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED));
EXPECT_EQ(cmd.Version(), 0);
EXPECT_EQ(cmd.Command(), EC_CMD_MKBP_WAKE_MASK);
EXPECT_EQ(cmd.Req()->action, SET_WAKE_MASK);
EXPECT_EQ(cmd.Req()->mask_type, EC_MKBP_HOST_EVENT_WAKE_MASK);
EXPECT_EQ(cmd.Req()->new_wake_mask, 1);
}
TEST(SetMkbpWakeMaskHostEventCommand, SetMkbpWakeMaskHostEventCommand) {
SetMkbpWakeMaskHostEventCommand cmd(
EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED));
EXPECT_EQ(cmd.Version(), 0);
EXPECT_EQ(cmd.Command(), EC_CMD_MKBP_WAKE_MASK);
EXPECT_EQ(cmd.Req()->action, SET_WAKE_MASK);
EXPECT_EQ(cmd.Req()->mask_type, EC_MKBP_HOST_EVENT_WAKE_MASK);
EXPECT_EQ(cmd.Req()->new_wake_mask, 1);
}
TEST(SetMkbpWakeMaskEventCommand, SetMkbpWakeMaskEventCommand) {
SetMkbpWakeMaskEventCommand cmd(EC_HOST_EVENT_MASK(EC_MKBP_EVENT_BUTTON));
EXPECT_EQ(cmd.Version(), 0);
EXPECT_EQ(cmd.Command(), EC_CMD_MKBP_WAKE_MASK);
EXPECT_EQ(cmd.Req()->action, SET_WAKE_MASK);
EXPECT_EQ(cmd.Req()->mask_type, EC_MKBP_EVENT_WAKE_MASK);
EXPECT_EQ(cmd.Req()->new_wake_mask, 4);
}
} // namespace
} // namespace ec