From d46659675944f257a6ce0164903b745efe5a559a Mon Sep 17 00:00:00 2001 From: Xintong Lin Date: Wed, 15 Apr 2015 14:10:49 -0700 Subject: [PATCH 1/3] added gitignore --- .gitignore | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b3a1f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +*.o +*.a +*.dSYM +.cproject +.project +config_parser +config_parser_test From aac486c93f4087d4792954c16c8e6ecb58001157 Mon Sep 17 00:00:00 2001 From: Xintong Lin Date: Wed, 15 Apr 2015 20:57:53 -0700 Subject: [PATCH 2/3] added unit testing for config_parser --- config_parser_test.cc | 48 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/config_parser_test.cc b/config_parser_test.cc index 69113b2..ae8fe07 100644 --- a/config_parser_test.cc +++ b/config_parser_test.cc @@ -1,7 +1,20 @@ #include "gtest/gtest.h" #include "config_parser.h" +#include +#include -TEST(NginxConfigParserTest, SimpleConfig) { +class NginxStringConfigTest : public ::testing::Test { + protected: + bool ParseString(const std::string& config_string) { + std::stringstream config_stream(config_string); + return parser_.Parse(&config_stream, &config_); + } + + NginxConfigParser parser_; + NginxConfig config_; +}; + +TEST(NginxConfigParserTest, SimpleConfigFromFile) { NginxConfigParser parser; NginxConfig out_config; @@ -9,3 +22,36 @@ TEST(NginxConfigParserTest, SimpleConfig) { EXPECT_TRUE(success); } + +TEST(NginxConfigStatementTest, ToString) { + NginxConfigStatement statement; + statement.tokens_.push_back("foo"); + statement.tokens_.push_back("bar"); + + EXPECT_EQ("foo bar;\n", statement.ToString(0)); +} + +TEST(NginxConfigParserTest, SimpleTextConfig) { + const std::string config_test = "foo bar;"; + std::stringstream config_stream(config_test); + NginxConfigParser parser; + NginxConfig config; + + EXPECT_TRUE(parser.Parse(&config_stream, &config)); +} + +TEST_F(NginxStringConfigTest, SimpleTextConfig) { + EXPECT_TRUE(ParseString("foo bar;")); +} + +TEST_F(NginxStringConfigTest, SimpleBadTextConfig) { + EXPECT_FALSE(ParseString("foo bar")); +} + +TEST_F(NginxStringConfigTest, SimpleNestedConfig) { + EXPECT_TRUE(ParseString("foo { foo bar; }")); +} + +TEST_F(NginxStringConfigTest, DoubleNestedConfig) { + EXPECT_TRUE(ParseString("foo { foo { foo bar; } }")); +} From 92ec2d8368b1e74f600db2a068fb205edb006ef5 Mon Sep 17 00:00:00 2001 From: Xintong Lin Date: Thu, 16 Apr 2015 01:01:28 -0700 Subject: [PATCH 3/3] edited unit tests with suggestions from teammate --- config_parser_test.cc | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/config_parser_test.cc b/config_parser_test.cc index ae8fe07..2794f80 100644 --- a/config_parser_test.cc +++ b/config_parser_test.cc @@ -4,14 +4,14 @@ #include class NginxStringConfigTest : public ::testing::Test { - protected: - bool ParseString(const std::string& config_string) { - std::stringstream config_stream(config_string); - return parser_.Parse(&config_stream, &config_); - } - - NginxConfigParser parser_; - NginxConfig config_; + protected: + bool ParseString(const std::string& config_string) { + std::stringstream config_stream(config_string); + return parser_.Parse(&config_stream, &config_); + } + + NginxConfigParser parser_; + NginxConfig config_; }; TEST(NginxConfigParserTest, SimpleConfigFromFile) { @@ -24,34 +24,25 @@ TEST(NginxConfigParserTest, SimpleConfigFromFile) { } TEST(NginxConfigStatementTest, ToString) { - NginxConfigStatement statement; - statement.tokens_.push_back("foo"); - statement.tokens_.push_back("bar"); + NginxConfigStatement statement; + statement.tokens_.push_back("foo"); + statement.tokens_.push_back("bar"); - EXPECT_EQ("foo bar;\n", statement.ToString(0)); -} - -TEST(NginxConfigParserTest, SimpleTextConfig) { - const std::string config_test = "foo bar;"; - std::stringstream config_stream(config_test); - NginxConfigParser parser; - NginxConfig config; - - EXPECT_TRUE(parser.Parse(&config_stream, &config)); + EXPECT_EQ("foo bar;\n", statement.ToString(0)); } TEST_F(NginxStringConfigTest, SimpleTextConfig) { - EXPECT_TRUE(ParseString("foo bar;")); + EXPECT_TRUE(ParseString("foo bar;")); } TEST_F(NginxStringConfigTest, SimpleBadTextConfig) { - EXPECT_FALSE(ParseString("foo bar")); + EXPECT_FALSE(ParseString("foo bar")); } TEST_F(NginxStringConfigTest, SimpleNestedConfig) { - EXPECT_TRUE(ParseString("foo { foo bar; }")); + EXPECT_TRUE(ParseString("foo { foo bar; }")); } TEST_F(NginxStringConfigTest, DoubleNestedConfig) { - EXPECT_TRUE(ParseString("foo { foo { foo bar; } }")); + EXPECT_TRUE(ParseString("foo { foo { foo bar; } }")); }