blob: cb76fd767c5ef210dbb2ab983faf59544b3b322a [file] [log] [blame]
// Copyright 2019 The Fuchsia 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 "intel-hda/utils/status.h"
#include <zircon/errors.h>
#include <string>
#include <zxtest/zxtest.h>
namespace audio::intel_hda {
namespace {
TEST(Status, OkStatus) {
Status s{};
EXPECT_TRUE(s.ok());
EXPECT_OK(s.code());
}
TEST(Status, ErrorStatus) {
Status s{ZX_ERR_ACCESS_DENIED};
EXPECT_FALSE(s.ok());
EXPECT_EQ(s.code(), ZX_ERR_ACCESS_DENIED);
}
TEST(Status, EmptyMessage) {
Status s{};
EXPECT_EQ(s.message(), "");
}
TEST(Status, ConstCharMessage) {
Status s{ZX_ERR_ACCESS_DENIED, "Message"};
EXPECT_EQ(s.message(), "Message");
}
TEST(Status, StringMessage) {
Status s{ZX_ERR_ACCESS_DENIED, std::string("Message")};
EXPECT_EQ(s.message(), "Message");
}
TEST(Status, ToString) {
Status s1{};
EXPECT_EQ(s1.ToString(), "ZX_OK");
Status s2{ZX_ERR_ACCESS_DENIED};
EXPECT_EQ(s2.ToString(), "ZX_ERR_ACCESS_DENIED");
Status s3{ZX_ERR_ACCESS_DENIED, "Message"};
EXPECT_EQ(s3.ToString(), "Message (ZX_ERR_ACCESS_DENIED)");
}
TEST(PrependMessage, NoMessage) {
EXPECT_EQ(PrependMessage("prefix", Status()).ToString(), "prefix: ZX_OK (ZX_OK)");
}
TEST(PrependMessage, WithMessage) {
EXPECT_EQ(PrependMessage("prefix", Status(ZX_ERR_ACCESS_DENIED, "Access denied")).ToString(),
"prefix: Access denied (ZX_ERR_ACCESS_DENIED)");
}
} // namespace
} // namespace audio::intel_hda