diff options
author | Evan Martin <martine@danga.com> | 2011-12-19 19:14:35 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2011-12-19 19:18:47 (GMT) |
commit | bbf180d581ada47011c66c735bffdd87cddd0bd1 (patch) | |
tree | eee9a168a0d1ba0f786d1a78bd10d59b82172aa6 /src/depfile_parser_test.cc | |
parent | 8b929cf7c82b5ff84a874c5a25e919446c3874d5 (diff) | |
download | Ninja-bbf180d581ada47011c66c735bffdd87cddd0bd1.zip Ninja-bbf180d581ada47011c66c735bffdd87cddd0bd1.tar.gz Ninja-bbf180d581ada47011c66c735bffdd87cddd0bd1.tar.bz2 |
handle backslashes and isolated colons in depfile parser
The logic was wrong if the input looked like
foo : bar baz
with a space before the colon.
Test from Frances <frances.buontempo@gmail.com>.
Diffstat (limited to 'src/depfile_parser_test.cc')
-rw-r--r-- | src/depfile_parser_test.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/depfile_parser_test.cc b/src/depfile_parser_test.cc index 3258529..52a1e5c 100644 --- a/src/depfile_parser_test.cc +++ b/src/depfile_parser_test.cc @@ -48,3 +48,19 @@ TEST(DepfileParser, Continuation) { EXPECT_EQ("foo.o", parser.out_.AsString()); EXPECT_EQ(2u, parser.ins_.size()); } + +TEST(DepfileParser, BackSlashes) { + DepfileParser parser; + string err; + EXPECT_TRUE(parser.Parse( +"Project\\Dir\\Build\\Release8\\Foo\\Foo.res : \\\n" +" Dir\\Library\\Foo.rc \\\n" +" Dir\\Library\\Version\\Bar.h \\\n" +" Dir\\Library\\Foo.ico \\\n" +" Project\\Thing\\Bar.tlb \\\n", + &err)); + ASSERT_EQ("", err); + EXPECT_EQ("Project\\Dir\\Build\\Release8\\Foo\\Foo.res", + parser.out_.AsString()); + EXPECT_EQ(4u, parser.ins_.size()); +} |