Mercurial > hg > orthanc
diff UnitTestsSources/UnitTestsMain.cpp @ 2921:0a4428aad512
variable substitution with default value
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 07 Nov 2018 12:59:03 +0100 |
parents | ad0e7def3338 |
children | 4a38d7d4f0e0 |
line wrap: on
line diff
--- a/UnitTestsSources/UnitTestsMain.cpp Wed Nov 07 11:13:30 2018 +0100 +++ b/UnitTestsSources/UnitTestsMain.cpp Wed Nov 07 12:59:03 2018 +0100 @@ -1173,12 +1173,20 @@ "Hello ${WORLD}\r\nWorld ${HELLO}\r\nDone ${WORLD}\r\n", env)); + ASSERT_EQ("world A a B world C 'c' D {\"a\":\"b\"} E ", + Toolbox::SubstituteVariables( + "${WORLD} A ${WORLD2:-a} B ${WORLD:-b} C ${WORLD2:-\"'c'\"} D ${WORLD2:-'{\"a\":\"b\"}'} E ${WORLD2:-}", + 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()); + + ASSERT_EQ("A" + env["PATH"] + "B", + Toolbox::SubstituteVariables("A${PATH}B", env)); }