blob: 44d04dc8842ebdead9fee045a9ca2fa99ce60825 [file] [log] [blame]
// Copyright 2014 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 "cc/scheduler/commit_earlyout_reason.h"
#include "cc/proto/commit_earlyout_reason.pb.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace cc {
namespace {
CommitEarlyOutReason SerializeAndDeserializeReason(
CommitEarlyOutReason reason) {
proto::CommitEarlyOutReason proto;
CommitEarlyOutReasonToProtobuf(reason, &proto);
return CommitEarlyOutReasonFromProtobuf(proto);
}
TEST(CommitEarlyOutReasonUnittest, SerializeCommitEarlyOutReason) {
EXPECT_EQ(CommitEarlyOutReason::ABORTED_OUTPUT_SURFACE_LOST,
SerializeAndDeserializeReason(
CommitEarlyOutReason::ABORTED_OUTPUT_SURFACE_LOST));
EXPECT_EQ(
CommitEarlyOutReason::ABORTED_NOT_VISIBLE,
SerializeAndDeserializeReason(CommitEarlyOutReason::ABORTED_NOT_VISIBLE));
EXPECT_EQ(CommitEarlyOutReason::ABORTED_DEFERRED_COMMIT,
SerializeAndDeserializeReason(
CommitEarlyOutReason::ABORTED_DEFERRED_COMMIT));
EXPECT_EQ(
CommitEarlyOutReason::FINISHED_NO_UPDATES,
SerializeAndDeserializeReason(CommitEarlyOutReason::FINISHED_NO_UPDATES));
}
} // namespace
} // namespace cc