Index: tools/gn/escape_unittest.cc |
diff --git a/tools/gn/escape_unittest.cc b/tools/gn/escape_unittest.cc |
index a637e87a3a942826654e416d9af162e479bdf0e6..44440de6e91a065c25d99178c8841c5084a7b040 100644 |
--- a/tools/gn/escape_unittest.cc |
+++ b/tools/gn/escape_unittest.cc |
@@ -5,6 +5,25 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
#include "tools/gn/escape.h" |
+TEST(Escape, Ninja) { |
+ EscapeOptions opts; |
+ opts.mode = ESCAPE_NINJA; |
+ std::string result = EscapeString("asdf: \"$\\bar", opts, NULL); |
+ EXPECT_EQ("asdf$:$ \"$$\\bar", result); |
+} |
+ |
+TEST(Escape, Shell) { |
+ EscapeOptions opts; |
+ opts.mode = ESCAPE_SHELL; |
+ std::string result = EscapeString("asdf: \"$\\bar", opts, NULL); |
+#if defined(OS_WIN) |
+ // Windows shell doesn't escape backslashes. |
+ EXPECT_EQ("\"asdf: \"$\\bar\"", result); |
+#else |
+ EXPECT_EQ("\"asdf: \\\"$\\\\bar\"", result); |
+#endif |
+} |
+ |
TEST(Escape, UsedQuotes) { |
EscapeOptions shell_options; |
shell_options.mode = ESCAPE_SHELL; |