diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/env_var.cc | 23 | ||||
-rw-r--r-- | base/env_var.h | 9 | ||||
-rw-r--r-- | base/env_var_unittest.cc | 21 | ||||
-rw-r--r-- | base/xdg_util_unittest.cc | 4 |
4 files changed, 10 insertions, 47 deletions
diff --git a/base/env_var.cc b/base/env_var.cc index 71d9c53..d0eaa0c 100644 --- a/base/env_var.cc +++ b/base/env_var.cc @@ -44,10 +44,6 @@ class EnvVarGetterImpl : public base::EnvVarGetter { return SetEnvImpl(variable_name, new_value); } - virtual bool UnSetEnv(const char* variable_name) { - return UnSetEnvImpl(variable_name); - } - private: bool GetEnvImpl(const char* variable_name, std::string* result) { #if defined(OS_POSIX) @@ -85,17 +81,6 @@ class EnvVarGetterImpl : public base::EnvVarGetter { ASCIIToWide(new_value).c_str()) != 0; #endif } - - bool UnSetEnvImpl(const char* variable_name) { -#if defined(OS_POSIX) - // On success, zero is returned. - return unsetenv(variable_name) == 0; -#elif defined(OS_WIN) - // On success, a nonzero is returned. - return ::SetEnvironmentVariable(ASCIIToWide(variable_name).c_str(), - NULL) != 0; -#endif - } }; } // namespace @@ -114,13 +99,13 @@ const char kHome[] = "HOME"; EnvVarGetter::~EnvVarGetter() {} +bool EnvVarGetter::HasEnv(const char* variable_name) { + return GetEnv(variable_name, NULL); +} + // static EnvVarGetter* EnvVarGetter::Create() { return new EnvVarGetterImpl(); } -bool EnvVarGetter::HasEnv(const char* variable_name) { - return GetEnv(variable_name, NULL); -} - } // namespace base diff --git a/base/env_var.h b/base/env_var.h index 43d3fd6..9622e74 100644 --- a/base/env_var.h +++ b/base/env_var.h @@ -20,14 +20,11 @@ extern const char kHome[]; } // namespace env_vars +// These are used to derive mocks for unittests. class EnvVarGetter { public: virtual ~EnvVarGetter(); - // Static factory method that returns the implementation that provide the - // appropriate platform-specific instance. - static EnvVarGetter* Create(); - // Gets an environment variable's value and stores it in |result|. // Returns false if the key is unset. virtual bool GetEnv(const char* variable_name, std::string* result) = 0; @@ -39,8 +36,8 @@ class EnvVarGetter { virtual bool SetEnv(const char* variable_name, const std::string& new_value) = 0; - // Returns true on success, otherwise returns false. - virtual bool UnSetEnv(const char* variable_name) = 0; + // Create an instance of EnvVarGetter + static EnvVarGetter* Create(); }; } // namespace base diff --git a/base/env_var_unittest.cc b/base/env_var_unittest.cc index f05a9b4..d80d997 100644 --- a/base/env_var_unittest.cc +++ b/base/env_var_unittest.cc @@ -24,10 +24,9 @@ TEST_F(EnvVarTest, HasEnvVar) { } TEST_F(EnvVarTest, SetEnvVar) { - scoped_ptr<base::EnvVarGetter> env(base::EnvVarGetter::Create()); - const char kFooUpper[] = "FOO"; const char kFooLower[] = "foo"; + scoped_ptr<base::EnvVarGetter> env(base::EnvVarGetter::Create()); EXPECT_TRUE(env->SetEnv(kFooUpper, kFooLower)); // Now verify that the environment has the new variable. @@ -37,21 +36,3 @@ TEST_F(EnvVarTest, SetEnvVar) { EXPECT_TRUE(env->GetEnv(kFooUpper, &var_value)); EXPECT_EQ(var_value, kFooLower); } - -TEST_F(EnvVarTest, UnSetEnvVar) { - scoped_ptr<base::EnvVarGetter> env(base::EnvVarGetter::Create()); - - const char kFooUpper[] = "FOO"; - const char kFooLower[] = "foo"; - // First set some environment variable. - EXPECT_TRUE(env->SetEnv(kFooUpper, kFooLower)); - - // Now verify that the environment has the new variable. - EXPECT_TRUE(env->HasEnv(kFooUpper)); - - // Finally verify that the environment variable was erased. - EXPECT_TRUE(env->UnSetEnv(kFooUpper)); - - // And check that the variable has been unset. - EXPECT_FALSE(env->HasEnv(kFooUpper)); -} diff --git a/base/xdg_util_unittest.cc b/base/xdg_util_unittest.cc index 24671b1..b821921 100644 --- a/base/xdg_util_unittest.cc +++ b/base/xdg_util_unittest.cc @@ -4,10 +4,11 @@ #include "base/xdg_util.h" -#include "base/env_var.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" +#include "base/env_var.h" + using ::testing::_; using ::testing::Return; using ::testing::SetArgumentPointee; @@ -19,7 +20,6 @@ class MockEnvVarGetter : public base::EnvVarGetter { public: MOCK_METHOD2(GetEnv, bool(const char*, std::string* result)); MOCK_METHOD2(SetEnv, bool(const char*, const std::string& new_value)); - MOCK_METHOD1(UnSetEnv, bool(const char*)); }; const char* kGnome = "gnome"; |