Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Side by Side Diff: net/http/http_util_unittest.cc

Issue 1149833014: Remove net::HttpUtil::PathForRequest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/http/http_util_icu.cc ('k') | net/spdy/spdy_http_utils.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "net/http/http_util.h" 9 #include "net/http/http_util.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 }; 584 };
585 for (size_t i = 0; i < arraysize(tests); ++i) { 585 for (size_t i = 0; i < arraysize(tests); ++i) {
586 std::string input = tests[i].input; 586 std::string input = tests[i].input;
587 std::replace(input.begin(), input.end(), '|', '\0'); 587 std::replace(input.begin(), input.end(), '|', '\0');
588 std::string raw = HttpUtil::AssembleRawHeaders(input.data(), input.size()); 588 std::string raw = HttpUtil::AssembleRawHeaders(input.data(), input.size());
589 std::replace(raw.begin(), raw.end(), '\0', '|'); 589 std::replace(raw.begin(), raw.end(), '\0', '|');
590 EXPECT_EQ(tests[i].expected_result, raw); 590 EXPECT_EQ(tests[i].expected_result, raw);
591 } 591 }
592 } 592 }
593 593
594 // Test SpecForRequest() and PathForRequest(). 594 // Test SpecForRequest().
595 TEST(HttpUtilTest, RequestUrlSanitize) { 595 TEST(HttpUtilTest, RequestUrlSanitize) {
596 struct { 596 struct {
597 const char* const url; 597 const char* const url;
598 const char* const expected_spec; 598 const char* const expected_spec;
599 const char* const expected_path;
600 } tests[] = { 599 } tests[] = {
601 { // Check that #hash is removed. 600 { // Check that #hash is removed.
602 "http://www.google.com:78/foobar?query=1#hash", 601 "http://www.google.com:78/foobar?query=1#hash",
603 "http://www.google.com:78/foobar?query=1", 602 "http://www.google.com:78/foobar?query=1",
604 "/foobar?query=1"
605 }, 603 },
606 { // The reference may itself contain # -- strip all of it. 604 { // The reference may itself contain # -- strip all of it.
607 "http://192.168.0.1?query=1#hash#10#11#13#14", 605 "http://192.168.0.1?query=1#hash#10#11#13#14",
608 "http://192.168.0.1/?query=1", 606 "http://192.168.0.1/?query=1",
609 "/?query=1"
610 }, 607 },
611 { // Strip username/password. 608 { // Strip username/password.
612 "http://user:pass@google.com", 609 "http://user:pass@google.com",
613 "http://google.com/", 610 "http://google.com/",
614 "/"
615 }, 611 },
616 { // https scheme 612 { // https scheme
617 "https://www.google.com:78/foobar?query=1#hash", 613 "https://www.google.com:78/foobar?query=1#hash",
618 "https://www.google.com:78/foobar?query=1", 614 "https://www.google.com:78/foobar?query=1",
619 "/foobar?query=1"
620 }, 615 },
621 { // WebSocket's ws scheme 616 { // WebSocket's ws scheme
622 "ws://www.google.com:78/foobar?query=1#hash", 617 "ws://www.google.com:78/foobar?query=1#hash",
623 "ws://www.google.com:78/foobar?query=1", 618 "ws://www.google.com:78/foobar?query=1",
624 "/foobar?query=1"
625 }, 619 },
626 { // WebSocket's wss scheme 620 { // WebSocket's wss scheme
627 "wss://www.google.com:78/foobar?query=1#hash", 621 "wss://www.google.com:78/foobar?query=1#hash",
628 "wss://www.google.com:78/foobar?query=1", 622 "wss://www.google.com:78/foobar?query=1",
629 "/foobar?query=1"
630 } 623 }
631 }; 624 };
632 for (size_t i = 0; i < arraysize(tests); ++i) { 625 for (size_t i = 0; i < arraysize(tests); ++i) {
626 SCOPED_TRACE(i);
627
633 GURL url(GURL(tests[i].url)); 628 GURL url(GURL(tests[i].url));
634 std::string expected_spec(tests[i].expected_spec); 629 std::string expected_spec(tests[i].expected_spec);
635 std::string expected_path(tests[i].expected_path);
636 630
637 EXPECT_EQ(expected_spec, HttpUtil::SpecForRequest(url)); 631 EXPECT_EQ(expected_spec, HttpUtil::SpecForRequest(url));
638 EXPECT_EQ(expected_path, HttpUtil::PathForRequest(url));
639 } 632 }
640 } 633 }
641 634
642 // Test SpecForRequest() for "ftp" scheme. 635 // Test SpecForRequest() for "ftp" scheme.
643 TEST(HttpUtilTest, SpecForRequestForUrlWithFtpScheme) { 636 TEST(HttpUtilTest, SpecForRequestForUrlWithFtpScheme) {
644 GURL ftp_url("ftp://user:pass@google.com/pub/chromium/"); 637 GURL ftp_url("ftp://user:pass@google.com/pub/chromium/");
645 EXPECT_EQ("ftp://google.com/pub/chromium/", 638 EXPECT_EQ("ftp://google.com/pub/chromium/",
646 HttpUtil::SpecForRequest(ftp_url)); 639 HttpUtil::SpecForRequest(ftp_url));
647 } 640 }
648 641
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
1109 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';'); 1102 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';');
1110 EXPECT_TRUE(parser.valid()); 1103 EXPECT_TRUE(parser.valid());
1111 1104
1112 ASSERT_NO_FATAL_FAILURE( 1105 ASSERT_NO_FATAL_FAILURE(
1113 CheckNextNameValuePair(&parser, true, true, "name", "value")); 1106 CheckNextNameValuePair(&parser, true, true, "name", "value"));
1114 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair( 1107 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1115 &parser, false, true, std::string(), std::string())); 1108 &parser, false, true, std::string(), std::string()));
1116 } 1109 }
1117 1110
1118 } // namespace net 1111 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_util_icu.cc ('k') | net/spdy/spdy_http_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698