blob: 3ff3adb1c7cd889e598980bff25e4748339c0ee8 [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 <gtest/gtest.h>
#include <src/lib/fxl/arraysize.h>
#include "garnet/lib/debugger_utils/argv.h"
namespace debugger_utils {
namespace {
TEST(Argv, BuildFromStringView) {
const fxl::StringView no_args{""};
const Argv expected_none{};
EXPECT_EQ(BuildArgv(no_args), expected_none);
const fxl::StringView one_arg{"--foo"};
const Argv expected_one{"--foo"};
EXPECT_EQ(BuildArgv(one_arg), expected_one);
const fxl::StringView multiple_args{"a b c"};
const Argv expected_multiple{"a", "b", "c"};
EXPECT_EQ(BuildArgv(multiple_args), expected_multiple);
}
TEST(Argv, BuildFromCStrings) {
const char* const no_args[] = {};
const Argv expected_none{};
EXPECT_EQ(BuildArgv(no_args, 0), expected_none);
const char* const one_arg[] = {"--foo"};
const Argv expected_one{"--foo"};
EXPECT_EQ(BuildArgv(one_arg, arraysize(one_arg)), expected_one);
const char* const multiple_args[] = {"a", "b", "c"};
const Argv expected_multiple{"a", "b", "c"};
EXPECT_EQ(BuildArgv(multiple_args, arraysize(multiple_args)), expected_multiple);
}
TEST(Argv, ArgvToString) {
const std::string no_args{""};
EXPECT_EQ(ArgvToString(BuildArgv(no_args)), no_args);
const std::string one_arg{"--foo"};
EXPECT_EQ(ArgvToString(BuildArgv(one_arg)), one_arg);
const std::string multiple_args{"a b c"};
EXPECT_EQ(ArgvToString(BuildArgv(multiple_args)), multiple_args);
}
} // namespace
} // namespace debugger_utils