From 4d142a410891144f11259b7e8432c0a81c88215c Mon Sep 17 00:00:00 2001 From: Jeremy Apthorp Date: Mon, 28 Nov 2011 14:25:16 +1100 Subject: [PATCH] Add tests for escaping spaces with '$ '. --- src/parsers_test.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/parsers_test.cc b/src/parsers_test.cc index a99b510..3cd85cb 100644 --- a/src/parsers_test.cc +++ b/src/parsers_test.cc @@ -149,6 +149,19 @@ TEST_F(ParserTest, Dollars) { EXPECT_EQ("$dollarbar$baz$blah", state.edges_[0]->EvaluateCommand()); } +TEST_F(ParserTest, EscapeSpaces) { + ASSERT_NO_FATAL_FAILURE(AssertParse( +"rule has$ spaces\n" +" command = something\n" +"build foo$ bar: has$ spaces $$one two$$$ three\n" +)); + EXPECT_TRUE(state.LookupNode("foo bar")); + EXPECT_EQ(state.edges_[0]->outputs_[0]->file_->path_, "foo bar"); + EXPECT_EQ(state.edges_[0]->inputs_[0]->file_->path_, "$one"); + EXPECT_EQ(state.edges_[0]->inputs_[1]->file_->path_, "two$ three"); + EXPECT_EQ(state.edges_[0]->EvaluateCommand(), "something"); +} + TEST_F(ParserTest, CanonicalizeFile) { ASSERT_NO_FATAL_FAILURE(AssertParse( "rule cat\n" -- 2.7.4