blob: 1972a3bbebbb826a1c32fbf30619c0c78e1b6172 [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_COMPOSITOR_FRAME_SINK_LOST,
SerializeAndDeserializeReason(
CommitEarlyOutReason::ABORTED_COMPOSITOR_FRAME_SINK_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