diff options
author | Evan Martin <martine@danga.com> | 2011-12-27 23:45:30 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2011-12-28 02:07:53 (GMT) |
commit | ea9746f7fe85320d3fb55aa7f3f8422e048b19fb (patch) | |
tree | 1afd9d72d89c0f9671ccfc1a9859c68596365f52 /src/depfile_parser_test.cc | |
parent | 3abfcdc5b02602091a54a79b3acff2462225f8b9 (diff) | |
download | Ninja-ea9746f7fe85320d3fb55aa7f3f8422e048b19fb.zip Ninja-ea9746f7fe85320d3fb55aa7f3f8422e048b19fb.tar.gz Ninja-ea9746f7fe85320d3fb55aa7f3f8422e048b19fb.tar.bz2 |
de-escape backslashes in depfiles while parsing
Diffstat (limited to 'src/depfile_parser_test.cc')
-rw-r--r-- | src/depfile_parser_test.cc | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/depfile_parser_test.cc b/src/depfile_parser_test.cc index 3549f97..43e677c 100644 --- a/src/depfile_parser_test.cc +++ b/src/depfile_parser_test.cc @@ -73,15 +73,32 @@ TEST_F(DepfileParserTest, BackSlashes) { EXPECT_EQ(4u, parser_.ins_.size()); } -TEST_F(DepfileParserTest, DISABLED_Spaces) { +TEST_F(DepfileParserTest, Spaces) { string err; EXPECT_TRUE(Parse( -"foo\\ bar: a\\ b a b", +"a\\ bc\\ def: a\\ b c d", &err)); ASSERT_EQ("", err); - EXPECT_EQ("foo bar", + EXPECT_EQ("a bc def", parser_.out_.AsString()); ASSERT_EQ(3u, parser_.ins_.size()); EXPECT_EQ("a b", parser_.ins_[0].AsString()); + EXPECT_EQ("c", + parser_.ins_[1].AsString()); + EXPECT_EQ("d", + parser_.ins_[2].AsString()); +} + +TEST_F(DepfileParserTest, Escapes) { + // Put backslashes before a variety of characters, see which ones make + // it through. + string err; + EXPECT_TRUE(Parse( +"\\!\\@\\#\\$\\%\\^\\&\\\\", + &err)); + ASSERT_EQ("", err); + EXPECT_EQ("\\!\\@#$\\%\\^\\&\\", + parser_.out_.AsString()); + ASSERT_EQ(0u, parser_.ins_.size()); } |