diff options
author | Alexei Svitkine <asvitkine@google.com> | 2011-04-26 18:49:49 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2011-04-26 18:49:49 (GMT) |
commit | 2f6ac73dad3806e771761af3a58d43d434337a4b (patch) | |
tree | de9266a1e7a635f66299a2847c6c66d894ad6637 /src/parsers_test.cc | |
parent | 5c192cda0788faeed93b3ba03a6830ed43762b24 (diff) | |
download | Ninja-2f6ac73dad3806e771761af3a58d43d434337a4b.zip Ninja-2f6ac73dad3806e771761af3a58d43d434337a4b.tar.gz Ninja-2f6ac73dad3806e771761af3a58d43d434337a4b.tar.bz2 |
include location of error in parse error messages in EvalEnv strings
E.g. when parsing "foo = ${bar", point at the correct location of
the missing curly brace.
Diffstat (limited to 'src/parsers_test.cc')
-rw-r--r-- | src/parsers_test.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/parsers_test.cc b/src/parsers_test.cc index 73c1984..c20a812 100644 --- a/src/parsers_test.cc +++ b/src/parsers_test.cc @@ -208,6 +208,30 @@ TEST_F(ParserTest, Errors) { State state; ManifestParser parser(&state, NULL); string err; + EXPECT_FALSE(parser.Parse("x = $\n", &err)); + EXPECT_EQ("line 1, col 6: expected variable after $", err); + } + + { + State state; + ManifestParser parser(&state, NULL); + string err; + EXPECT_FALSE(parser.Parse("x = \\\n $[\n", &err)); + EXPECT_EQ("line 2, col 3: expected variable after $", err); + } + + { + State state; + ManifestParser parser(&state, NULL); + string err; + EXPECT_FALSE(parser.Parse("x = a\\\n b\\\n $\n", &err)); + EXPECT_EQ("line 3, col 3: expected variable after $", err); + } + + { + State state; + ManifestParser parser(&state, NULL); + string err; EXPECT_FALSE(parser.Parse("build x: y z\n", &err)); EXPECT_EQ("line 1, col 10: unknown build rule 'y'", err); } |