diff UnitTestsSources/UnitTestsMain.cpp @ 2920:ad0e7def3338

Toolbox::SubstituteVariables and SystemToolbox::GetEnvironmentVariables
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 07 Nov 2018 11:13:30 +0100
parents 9d277f8ad698
children 0a4428aad512
line wrap: on
line diff
--- a/UnitTestsSources/UnitTestsMain.cpp	Tue Nov 06 15:41:21 2018 +0100
+++ b/UnitTestsSources/UnitTestsMain.cpp	Wed Nov 07 11:13:30 2018 +0100
@@ -1162,6 +1162,26 @@
 }
 
 
+TEST(Toolbox, SubstituteVariables)
+{
+  std::map<std::string, std::string> env;
+  env["NOPE"] = "nope";
+  env["WORLD"] = "world";
+
+  ASSERT_EQ("Hello world\r\nWorld \r\nDone world\r\n",
+            Toolbox::SubstituteVariables(
+              "Hello ${WORLD}\r\nWorld ${HELLO}\r\nDone ${WORLD}\r\n",
+              env));
+
+  SystemToolbox::GetEnvironmentVariables(env);
+  ASSERT_TRUE(env.find("NOPE") == env.end());
+
+  // The "PATH" environment variable should always be available on
+  // machines running the unit tests
+  ASSERT_TRUE(env.find("PATH") != env.end());
+}
+
+
 int main(int argc, char **argv)
 {
   Logging::Initialize();