summaryrefslogtreecommitdiff
path: root/unittest/test_Args.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittest/test_Args.cpp')
-rw-r--r--unittest/test_Args.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/unittest/test_Args.cpp b/unittest/test_Args.cpp
index 8ae2470c..f5d9ae7b 100644
--- a/unittest/test_Args.cpp
+++ b/unittest/test_Args.cpp
@@ -139,12 +139,12 @@ TEST_CASE("Args::from_atfile")
CHECK(args[6] == "seve\nth");
}
- SUBCASE("Only escape double quote and backslash in alternate format")
+ SUBCASE("Only escape double quote in alternate format")
{
- util::write_file("at_file", "\"\\\"\\a\\ \\\\\\ \\b\\\"\"\\");
+ util::write_file("at_file", "\"\\\"\\a\\ \\b\\\"\"\\");
args = *Args::from_atfile("at_file", Args::AtFileFormat::msvc);
CHECK(args.size() == 1);
- CHECK(args[0] == "\"\\a\\ \\\\ \\b\"\\");
+ CHECK(args[0] == "\"\\a\\ \\b\"\\");
}
SUBCASE("Ignore single quote in alternate format")
@@ -155,6 +155,14 @@ TEST_CASE("Args::from_atfile")
CHECK(args[0] == "'a");
CHECK(args[1] == "b'");
}
+
+ SUBCASE("Do not escape backslash in alternate format")
+ {
+ util::write_file("at_file", "\"-DDIRSEP='\\\\'\"");
+ args = *Args::from_atfile("at_file", Args::AtFileFormat::msvc);
+ CHECK(args.size() == 1);
+ CHECK(args[0] == "-DDIRSEP='\\\\'");
+ }
}
TEST_CASE("Args copy assignment operator")