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

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

Issue 13145003: Rewrite std::string("") to std::string(), Linux edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ugh Created 7 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « net/http/http_stream_factory_impl_unittest.cc ('k') | net/http/http_vary_data.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/string_util.h" 8 #include "base/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 948 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 CheckCurrentNameValuePair(&parser_a, true, "beta", " b ")); 959 CheckCurrentNameValuePair(&parser_a, true, "beta", " b "));
960 960
961 // advance b, no effect on a 961 // advance b, no effect on a
962 ASSERT_NO_FATAL_FAILURE( 962 ASSERT_NO_FATAL_FAILURE(
963 CheckNextNameValuePair(&parser_b, true, true, "cappa", "c;")); 963 CheckNextNameValuePair(&parser_b, true, true, "cappa", "c;"));
964 ASSERT_NO_FATAL_FAILURE( 964 ASSERT_NO_FATAL_FAILURE(
965 CheckCurrentNameValuePair(&parser_a, true, "beta", " b ")); 965 CheckCurrentNameValuePair(&parser_a, true, "beta", " b "));
966 } 966 }
967 967
968 TEST(HttpUtilTest, NameValuePairsIteratorEmptyInput) { 968 TEST(HttpUtilTest, NameValuePairsIteratorEmptyInput) {
969 std::string data = ""; 969 std::string data;
970 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';'); 970 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';');
971 971
972 EXPECT_TRUE(parser.valid()); 972 EXPECT_TRUE(parser.valid());
973 ASSERT_NO_FATAL_FAILURE( 973 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
974 CheckNextNameValuePair(&parser, false, true, "", "")); 974 &parser, false, true, std::string(), std::string()));
975 } 975 }
976 976
977 TEST(HttpUtilTest, NameValuePairsIterator) { 977 TEST(HttpUtilTest, NameValuePairsIterator) {
978 std::string data = "alpha=1; beta= 2 ;cappa =' 3; ';" 978 std::string data = "alpha=1; beta= 2 ;cappa =' 3; ';"
979 "delta= \" \\\"4\\\" \"; e= \" '5'\"; e=6;" 979 "delta= \" \\\"4\\\" \"; e= \" '5'\"; e=6;"
980 "f='\\'\\h\\e\\l\\l\\o\\ \\w\\o\\r\\l\\d\\'';" 980 "f='\\'\\h\\e\\l\\l\\o\\ \\w\\o\\r\\l\\d\\'';"
981 "g=''; h='hello'"; 981 "g=''; h='hello'";
982 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';'); 982 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';');
983 EXPECT_TRUE(parser.valid()); 983 EXPECT_TRUE(parser.valid());
984 984
985 ASSERT_NO_FATAL_FAILURE( 985 ASSERT_NO_FATAL_FAILURE(
986 CheckNextNameValuePair(&parser, true, true, "alpha", "1")); 986 CheckNextNameValuePair(&parser, true, true, "alpha", "1"));
987 ASSERT_NO_FATAL_FAILURE( 987 ASSERT_NO_FATAL_FAILURE(
988 CheckNextNameValuePair(&parser, true, true, "beta", "2")); 988 CheckNextNameValuePair(&parser, true, true, "beta", "2"));
989 ASSERT_NO_FATAL_FAILURE( 989 ASSERT_NO_FATAL_FAILURE(
990 CheckNextNameValuePair(&parser, true, true, "cappa", " 3; ")); 990 CheckNextNameValuePair(&parser, true, true, "cappa", " 3; "));
991 ASSERT_NO_FATAL_FAILURE( 991 ASSERT_NO_FATAL_FAILURE(
992 CheckNextNameValuePair(&parser, true, true, "delta", " \"4\" ")); 992 CheckNextNameValuePair(&parser, true, true, "delta", " \"4\" "));
993 ASSERT_NO_FATAL_FAILURE( 993 ASSERT_NO_FATAL_FAILURE(
994 CheckNextNameValuePair(&parser, true, true, "e", " '5'")); 994 CheckNextNameValuePair(&parser, true, true, "e", " '5'"));
995 ASSERT_NO_FATAL_FAILURE( 995 ASSERT_NO_FATAL_FAILURE(
996 CheckNextNameValuePair(&parser, true, true, "e", "6")); 996 CheckNextNameValuePair(&parser, true, true, "e", "6"));
997 ASSERT_NO_FATAL_FAILURE( 997 ASSERT_NO_FATAL_FAILURE(
998 CheckNextNameValuePair(&parser, true, true, "f", "'hello world'")); 998 CheckNextNameValuePair(&parser, true, true, "f", "'hello world'"));
999 ASSERT_NO_FATAL_FAILURE( 999 ASSERT_NO_FATAL_FAILURE(
1000 CheckNextNameValuePair(&parser, true, true, "g", "")); 1000 CheckNextNameValuePair(&parser, true, true, "g", std::string()));
1001 ASSERT_NO_FATAL_FAILURE( 1001 ASSERT_NO_FATAL_FAILURE(
1002 CheckNextNameValuePair(&parser, true, true, "h", "hello")); 1002 CheckNextNameValuePair(&parser, true, true, "h", "hello"));
1003 ASSERT_NO_FATAL_FAILURE( 1003 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1004 CheckNextNameValuePair(&parser, false, true, "", "")); 1004 &parser, false, true, std::string(), std::string()));
1005 } 1005 }
1006 1006
1007 TEST(HttpUtilTest, NameValuePairsIteratorIllegalInputs) { 1007 TEST(HttpUtilTest, NameValuePairsIteratorIllegalInputs) {
1008 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; beta")); 1008 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; beta"));
1009 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("", "beta")); 1009 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair(std::string(), "beta"));
1010 1010
1011 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; 'beta'=2")); 1011 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", "; 'beta'=2"));
1012 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("", "'beta'=2")); 1012 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair(std::string(), "'beta'=2"));
1013 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", ";beta=")); 1013 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", ";beta="));
1014 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", 1014 ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1",
1015 ";beta=;cappa=2")); 1015 ";beta=;cappa=2"));
1016 1016
1017 // According to the spec this is an error, but it doesn't seem appropriate to 1017 // According to the spec this is an error, but it doesn't seem appropriate to
1018 // change our behaviour to be less permissive at this time. 1018 // change our behaviour to be less permissive at this time.
1019 // See NameValuePairsIteratorExtraSeparators test 1019 // See NameValuePairsIteratorExtraSeparators test
1020 // ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", ";; beta=2")); 1020 // ASSERT_NO_FATAL_FAILURE(CheckInvalidNameValuePair("alpha=1", ";; beta=2"));
1021 } 1021 }
1022 1022
1023 // If we are going to support extra separators against the spec, let's just make 1023 // If we are going to support extra separators against the spec, let's just make
1024 // sure they work rationally. 1024 // sure they work rationally.
1025 TEST(HttpUtilTest, NameValuePairsIteratorExtraSeparators) { 1025 TEST(HttpUtilTest, NameValuePairsIteratorExtraSeparators) {
1026 std::string data = " ; ;;alpha=1; ;; ; beta= 2;cappa=3;;; ; "; 1026 std::string data = " ; ;;alpha=1; ;; ; beta= 2;cappa=3;;; ; ";
1027 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';'); 1027 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';');
1028 EXPECT_TRUE(parser.valid()); 1028 EXPECT_TRUE(parser.valid());
1029 1029
1030 ASSERT_NO_FATAL_FAILURE( 1030 ASSERT_NO_FATAL_FAILURE(
1031 CheckNextNameValuePair(&parser, true, true, "alpha", "1")); 1031 CheckNextNameValuePair(&parser, true, true, "alpha", "1"));
1032 ASSERT_NO_FATAL_FAILURE( 1032 ASSERT_NO_FATAL_FAILURE(
1033 CheckNextNameValuePair(&parser, true, true, "beta", "2")); 1033 CheckNextNameValuePair(&parser, true, true, "beta", "2"));
1034 ASSERT_NO_FATAL_FAILURE( 1034 ASSERT_NO_FATAL_FAILURE(
1035 CheckNextNameValuePair(&parser, true, true, "cappa", "3")); 1035 CheckNextNameValuePair(&parser, true, true, "cappa", "3"));
1036 ASSERT_NO_FATAL_FAILURE( 1036 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1037 CheckNextNameValuePair(&parser, false, true, "", "")); 1037 &parser, false, true, std::string(), std::string()));
1038 } 1038 }
1039 1039
1040 // See comments on the implementation of NameValuePairsIterator::GetNext 1040 // See comments on the implementation of NameValuePairsIterator::GetNext
1041 // regarding this derogation from the spec. 1041 // regarding this derogation from the spec.
1042 TEST(HttpUtilTest, NameValuePairsIteratorMissingEndQuote) { 1042 TEST(HttpUtilTest, NameValuePairsIteratorMissingEndQuote) {
1043 std::string data = "name='value"; 1043 std::string data = "name='value";
1044 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';'); 1044 HttpUtil::NameValuePairsIterator parser(data.begin(), data.end(), ';');
1045 EXPECT_TRUE(parser.valid()); 1045 EXPECT_TRUE(parser.valid());
1046 1046
1047 ASSERT_NO_FATAL_FAILURE( 1047 ASSERT_NO_FATAL_FAILURE(
1048 CheckNextNameValuePair(&parser, true, true, "name", "value")); 1048 CheckNextNameValuePair(&parser, true, true, "name", "value"));
1049 ASSERT_NO_FATAL_FAILURE( 1049 ASSERT_NO_FATAL_FAILURE(CheckNextNameValuePair(
1050 CheckNextNameValuePair(&parser, false, true, "", "")); 1050 &parser, false, true, std::string(), std::string()));
1051 } 1051 }
OLDNEW
« no previous file with comments | « net/http/http_stream_factory_impl_unittest.cc ('k') | net/http/http_vary_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698