// Copyright (c) 2020 Egor Tensin // This file is part of the "winapi-common" project. // For details, see https://github.com/egor-tensin/winapi-common. // Distributed under the MIT License. #include #include #include BOOST_AUTO_TEST_SUITE(cmd_line_tests) BOOST_AUTO_TEST_CASE(query) { const auto cmd_line = winapi::CommandLine::query(); BOOST_TEST(!cmd_line.get_argv0().empty()); BOOST_TEST_MESSAGE(cmd_line.get_argv0()); } BOOST_AUTO_TEST_CASE(escape) { wchar_t* argv[] = { L"test.exe", L"arg1 arg2", LR"(path\to\file)", LR"(path\to\dir\)", LR"(weird\\argument)", }; const auto cmd_line = winapi::CommandLine::from_main(5, argv); const auto expected = R"("test.exe" "arg1 arg2" "path\to\file" "path\to\dir\\" "weird\\argument")"; BOOST_TEST(cmd_line.to_string() == expected); } BOOST_AUTO_TEST_SUITE_END()