diff options
Diffstat (limited to 'net/server/http_server_response_info_unittest.cc')
-rw-r--r-- | net/server/http_server_response_info_unittest.cc | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/net/server/http_server_response_info_unittest.cc b/net/server/http_server_response_info_unittest.cc new file mode 100644 index 0000000..f7b8e25 --- /dev/null +++ b/net/server/http_server_response_info_unittest.cc @@ -0,0 +1,51 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "net/http/http_status_code.h" +#include "net/server/http_server_response_info.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace net { + +TEST(HttpServerResponseInfoTest, StatusLine) { + HttpServerResponseInfo response; + ASSERT_EQ(HTTP_OK, response.status_code()); + ASSERT_EQ("HTTP/1.1 200 OK\r\n\r\n", response.Serialize()); +} + +TEST(HttpServerResponseInfoTest, Headers) { + HttpServerResponseInfo response; + response.AddHeader("A", "1"); + response.AddHeader("A", "2"); + ASSERT_EQ("HTTP/1.1 200 OK\r\nA:1\r\nA:2\r\n\r\n", response.Serialize()); +} + +TEST(HttpServerResponseInfoTest, Body) { + HttpServerResponseInfo response; + ASSERT_EQ(std::string(), response.body()); + response.SetBody("body", "type"); + ASSERT_EQ("body", response.body()); + ASSERT_EQ( + "HTTP/1.1 200 OK\r\nContent-Length:4\r\nContent-Type:type\r\n\r\nbody", + response.Serialize()); +} + +TEST(HttpServerResponseInfoTest, CreateFor404) { + HttpServerResponseInfo response = HttpServerResponseInfo::CreateFor404(); + ASSERT_EQ( + "HTTP/1.1 404 Not Found\r\n" + "Content-Length:0\r\nContent-Type:text/html\r\n\r\n", + response.Serialize()); +} + +TEST(HttpServerResponseInfoTest, CreateFor500) { + HttpServerResponseInfo response = + HttpServerResponseInfo::CreateFor500("mess"); + ASSERT_EQ( + "HTTP/1.1 500 Internal Server Error\r\n" + "Content-Length:4\r\nContent-Type:text/html\r\n\r\nmess", + response.Serialize()); +} + +} // namespace net |