blob: 128ebf9b6ff6cb71df20ff2d9e1f7c83f812a83d [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 "src/developer/cmd/tasks/unsetenv_task.h"
#include <utility>
#include <gtest/gtest.h>
namespace {
TEST(UnsetenvTask, Control) {
setenv("ANOTHER_EXAMPLE_VAR", "XYZZY", 1);
cmd::Command command;
command.Parse("unsetenv ANOTHER_EXAMPLE_VAR");
cmd::UnsetenvTask task(nullptr);
EXPECT_EQ(ZX_ERR_NEXT, task.Execute(std::move(command), nullptr));
EXPECT_EQ(nullptr, getenv("ANOTHER_EXAMPLE_VAR"));
}
TEST(UnsetenvTask, TooManyArgs) {
cmd::Command command;
command.Parse("unsetenv FOO BAR");
cmd::UnsetenvTask task(nullptr);
EXPECT_EQ(ZX_ERR_NEXT, task.Execute(std::move(command), nullptr));
}
} // namespace