| // 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 |