1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
3 #include "base/utility.hpp"
4 #include <BoostTestTargetConfig.h>
7 using namespace icinga;
9 BOOST_AUTO_TEST_SUITE(base_shellescape)
11 BOOST_AUTO_TEST_CASE(escape_basic)
14 BOOST_CHECK(Utility::EscapeShellCmd("%PATH%") == "^%PATH^%");
16 BOOST_CHECK(Utility::EscapeShellCmd("$PATH") == "\\$PATH");
17 BOOST_CHECK(Utility::EscapeShellCmd("\\$PATH") == "\\\\\\$PATH");
21 BOOST_AUTO_TEST_CASE(escape_quoted)
24 BOOST_CHECK(Utility::EscapeShellCmd("'hello'") == "^'hello^'");
25 BOOST_CHECK(Utility::EscapeShellCmd("\"hello\"") == "^\"hello^\"");
27 BOOST_CHECK(Utility::EscapeShellCmd("'hello'") == "'hello'");
28 BOOST_CHECK(Utility::EscapeShellCmd("'hello") == "\\'hello");
32 BOOST_AUTO_TEST_SUITE_END()