Index: net/test/embedded_test_server/embedded_test_server_unittest.cc |
diff --git a/net/test/embedded_test_server/embedded_test_server_unittest.cc b/net/test/embedded_test_server/embedded_test_server_unittest.cc |
index efa4b0c2211adf0438277c78455dedbcf43bf247..0db00ce32803f54c5b2c6e2e2956f962423e21cb 100644 |
--- a/net/test/embedded_test_server/embedded_test_server_unittest.cc |
+++ b/net/test/embedded_test_server/embedded_test_server_unittest.cc |
@@ -173,6 +173,48 @@ TEST_F(EmbeddedTestServerTest, ServeFilesFromDirectory) { |
EXPECT_EQ("", GetContentTypeFromFetcher(*fetcher)); |
} |
+TEST_F(EmbeddedTestServerTest, ServeFilesFromDirectories) { |
+ base::FilePath src_dir; |
+ ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &src_dir)); |
+ std::vector<base::FilePath> src_dirs; |
+ src_dirs.push_back(src_dir.AppendASCII("net").AppendASCII("data")); |
+ src_dirs.push_back(src_dir.AppendASCII("net").AppendASCII("data") |
+ .AppendASCII("embedded_test_server")); |
+ server_->ServeFilesFromDirectories(src_dirs); |
+ |
+ // There is also a file named "test.html" in directory |
+ // "embedded_test_server", but the one in net/data should match. |
+ scoped_ptr<URLFetcher> fetcher(URLFetcher::Create( |
+ server_->GetURL("/test.html"), URLFetcher::GET, this)); |
+ fetcher->SetRequestContext(request_context_getter_.get()); |
+ |
+ scoped_ptr<URLFetcher> fetcher2(URLFetcher::Create( |
+ server_->GetURL("/test2.html"), URLFetcher::GET, this)); |
+ fetcher2->SetRequestContext(request_context_getter_.get()); |
+ |
+ scoped_ptr<URLFetcher> fetcher3(URLFetcher::Create( |
+ server_->GetURL("/test3.html"), URLFetcher::GET, this)); |
+ fetcher3->SetRequestContext(request_context_getter_.get()); |
+ |
+ fetcher->Start(); |
+ fetcher2->Start(); |
+ fetcher3->Start(); |
+ WaitForResponses(3); |
+ |
+ EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher->GetStatus().status()); |
+ EXPECT_EQ(HTTP_OK, fetcher->GetResponseCode()); |
+ EXPECT_EQ("<p>Hello World!</p>", GetContentFromFetcher(*fetcher)); |
+ EXPECT_EQ("", GetContentTypeFromFetcher(*fetcher)); |
+ |
+ EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher2->GetStatus().status()); |
+ EXPECT_EQ(HTTP_OK, fetcher2->GetResponseCode()); |
+ EXPECT_EQ("<p>Second file</p>", GetContentFromFetcher(*fetcher2)); |
+ EXPECT_EQ("", GetContentTypeFromFetcher(*fetcher2)); |
+ |
+ EXPECT_EQ(URLRequestStatus::SUCCESS, fetcher3->GetStatus().status()); |
+ EXPECT_EQ(HTTP_NOT_FOUND, fetcher3->GetResponseCode()); |
+} |
+ |
TEST_F(EmbeddedTestServerTest, DefaultNotFoundResponse) { |
scoped_ptr<URLFetcher> fetcher( |
URLFetcher::Create(server_->GetURL("/non-existent"), |