summaryrefslogtreecommitdiffstats
path: root/src/depfile_parser_test.cc
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2011-12-27 21:48:17 (GMT)
committerEvan Martin <martine@danga.com>2011-12-27 21:48:17 (GMT)
commitfe7e51531e5df3149538007c40b8d115ceebb805 (patch)
treeb6e7e4f0499b3a3b3acdfaaa8d1cb624d1b73bf9 /src/depfile_parser_test.cc
parent51709668ab2d7d701b415a1a85cfc66c83db4510 (diff)
downloadNinja-fe7e51531e5df3149538007c40b8d115ceebb805.zip
Ninja-fe7e51531e5df3149538007c40b8d115ceebb805.tar.gz
Ninja-fe7e51531e5df3149538007c40b8d115ceebb805.tar.bz2
switch DepfileParser to take a string* to make memory clearer
Add some comments as well.
Diffstat (limited to 'src/depfile_parser_test.cc')
-rw-r--r--src/depfile_parser_test.cc44
1 files changed, 26 insertions, 18 deletions
diff --git a/src/depfile_parser_test.cc b/src/depfile_parser_test.cc
index 52a1e5c..f867c8e 100644
--- a/src/depfile_parser_test.cc
+++ b/src/depfile_parser_test.cc
@@ -16,43 +16,51 @@
#include <gtest/gtest.h>
-TEST(DepfileParser, Basic) {
- DepfileParser parser;
+struct DepfileParserTest : public testing::Test {
+ bool Parse(const char* input, string* err);
+
+ DepfileParser parser_;
+ string input_;
+};
+
+bool DepfileParserTest::Parse(const char* input, string* err) {
+ input_ = input;
+ return parser_.Parse(&input_, err);
+}
+
+TEST_F(DepfileParserTest, Basic) {
string err;
- EXPECT_TRUE(parser.Parse(
+ EXPECT_TRUE(Parse(
"build/ninja.o: ninja.cc ninja.h eval_env.h manifest_parser.h\n",
&err));
ASSERT_EQ("", err);
- EXPECT_EQ("build/ninja.o", parser.out_.AsString());
- EXPECT_EQ(4u, parser.ins_.size());
+ EXPECT_EQ("build/ninja.o", parser_.out_.AsString());
+ EXPECT_EQ(4u, parser_.ins_.size());
}
-TEST(DepfileParser, EarlyNewlineAndWhitespace) {
- DepfileParser parser;
+TEST_F(DepfileParserTest, EarlyNewlineAndWhitespace) {
string err;
- EXPECT_TRUE(parser.Parse(
+ EXPECT_TRUE(Parse(
" \\\n"
" out: in\n",
&err));
ASSERT_EQ("", err);
}
-TEST(DepfileParser, Continuation) {
- DepfileParser parser;
+TEST_F(DepfileParserTest, Continuation) {
string err;
- EXPECT_TRUE(parser.Parse(
+ EXPECT_TRUE(Parse(
"foo.o: \\\n"
" bar.h baz.h\n",
&err));
ASSERT_EQ("", err);
- EXPECT_EQ("foo.o", parser.out_.AsString());
- EXPECT_EQ(2u, parser.ins_.size());
+ EXPECT_EQ("foo.o", parser_.out_.AsString());
+ EXPECT_EQ(2u, parser_.ins_.size());
}
-TEST(DepfileParser, BackSlashes) {
- DepfileParser parser;
+TEST_F(DepfileParserTest, BackSlashes) {
string err;
- EXPECT_TRUE(parser.Parse(
+ EXPECT_TRUE(Parse(
"Project\\Dir\\Build\\Release8\\Foo\\Foo.res : \\\n"
" Dir\\Library\\Foo.rc \\\n"
" Dir\\Library\\Version\\Bar.h \\\n"
@@ -61,6 +69,6 @@ TEST(DepfileParser, BackSlashes) {
&err));
ASSERT_EQ("", err);
EXPECT_EQ("Project\\Dir\\Build\\Release8\\Foo\\Foo.res",
- parser.out_.AsString());
- EXPECT_EQ(4u, parser.ins_.size());
+ parser_.out_.AsString());
+ EXPECT_EQ(4u, parser_.ins_.size());
}