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

Side by Side Diff: net/base/net_util_unittest.cc

Issue 23619016: Switch the offset conversion routines from... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 3 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/base/net_util.cc ('k') | no next file » | 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 "net/base/net_util.h" 5 #include "net/base/net_util.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 size_t position, 445 size_t position,
446 const base::string16& formatted_url) { 446 const base::string16& formatted_url) {
447 EXPECT_EQ(expected, actual) << "Original URL: " << original_url 447 EXPECT_EQ(expected, actual) << "Original URL: " << original_url
448 << " (at char " << position << ")\nFormatted URL: " << formatted_url; 448 << " (at char " << position << ")\nFormatted URL: " << formatted_url;
449 } 449 }
450 450
451 void CheckAdjustedOffsets(const std::string& url_string, 451 void CheckAdjustedOffsets(const std::string& url_string,
452 const std::string& languages, 452 const std::string& languages,
453 FormatUrlTypes format_types, 453 FormatUrlTypes format_types,
454 UnescapeRule::Type unescape_rules, 454 UnescapeRule::Type unescape_rules,
455 const AdjustOffsetCase* cases, 455 const size_t* output_offsets) {
456 size_t num_cases,
457 const size_t* all_offsets) {
458 GURL url(url_string); 456 GURL url(url_string);
459 for (size_t i = 0; i < num_cases; ++i) { 457 size_t url_length = url_string.length();
460 size_t offset = cases[i].input_offset;
461 base::string16 formatted_url = FormatUrl(url, languages, format_types,
462 unescape_rules, NULL, NULL, &offset);
463 VerboseExpect(cases[i].output_offset, offset, url_string, i, formatted_url);
464 }
465
466 size_t url_size = url_string.length();
467 std::vector<size_t> offsets; 458 std::vector<size_t> offsets;
468 for (size_t i = 0; i < url_size + 1; ++i) 459 for (size_t i = 0; i <= url_length + 1; ++i)
469 offsets.push_back(i); 460 offsets.push_back(i);
461 offsets.push_back(500000); // Something larger than any input length.
462 offsets.push_back(std::string::npos);
470 base::string16 formatted_url = FormatUrlWithOffsets(url, languages, 463 base::string16 formatted_url = FormatUrlWithOffsets(url, languages,
471 format_types, unescape_rules, NULL, NULL, &offsets); 464 format_types, unescape_rules, NULL, NULL, &offsets);
472 for (size_t i = 0; i < url_size; ++i) 465 for (size_t i = 0; i < url_length; ++i)
473 VerboseExpect(all_offsets[i], offsets[i], url_string, i, formatted_url); 466 VerboseExpect(output_offsets[i], offsets[i], url_string, i, formatted_url);
474 VerboseExpect(kNpos, offsets[url_size], url_string, url_size, formatted_url); 467 VerboseExpect(formatted_url.length(), offsets[url_length], url_string,
468 url_length, formatted_url);
469 VerboseExpect(base::string16::npos, offsets[url_length + 1], url_string,
470 500000, formatted_url);
471 VerboseExpect(base::string16::npos, offsets[url_length + 2], url_string,
472 std::string::npos, formatted_url);
475 } 473 }
476 474
477 // Helper to strignize an IP number (used to define expectations). 475 // Helper to strignize an IP number (used to define expectations).
478 std::string DumpIPNumber(const IPAddressNumber& v) { 476 std::string DumpIPNumber(const IPAddressNumber& v) {
479 std::string out; 477 std::string out;
480 for (size_t i = 0; i < v.size(); ++i) { 478 for (size_t i = 0; i < v.size(); ++i) {
481 if (i != 0) 479 if (i != 0)
482 out.append(","); 480 out.append(",");
483 out.append(base::IntToString(static_cast<int>(v[i]))); 481 out.append(base::IntToString(static_cast<int>(v[i])));
484 } 482 }
(...skipping 2394 matching lines...) Expand 10 before | Expand all | Expand 10 after
2879 if (test_char && 2877 if (test_char &&
2880 strchr(kUnescapedCharacters, static_cast<char>(test_char))) { 2878 strchr(kUnescapedCharacters, static_cast<char>(test_char))) {
2881 EXPECT_NE(url.spec(), GURL(formatted).spec()); 2879 EXPECT_NE(url.spec(), GURL(formatted).spec());
2882 } else { 2880 } else {
2883 EXPECT_EQ(url.spec(), GURL(formatted).spec()); 2881 EXPECT_EQ(url.spec(), GURL(formatted).spec());
2884 } 2882 }
2885 } 2883 }
2886 } 2884 }
2887 2885
2888 TEST(NetUtilTest, FormatUrlWithOffsets) { 2886 TEST(NetUtilTest, FormatUrlWithOffsets) {
2889 const AdjustOffsetCase null_cases[] = { 2887 CheckAdjustedOffsets(std::string(), "en", kFormatUrlOmitNothing,
2890 {0, base::string16::npos}, 2888 UnescapeRule::NORMAL, NULL);
2889
2890 const size_t basic_offsets[] = {
2891 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2892 21, 22, 23, 24, 25
2891 }; 2893 };
2892 CheckAdjustedOffsets(std::string(), "en", kFormatUrlOmitNothing, 2894 CheckAdjustedOffsets("http://www.google.com/foo/", "en",
2893 UnescapeRule::NORMAL, null_cases, arraysize(null_cases), NULL); 2895 kFormatUrlOmitNothing, UnescapeRule::NORMAL,
2896 basic_offsets);
2894 2897
2895 const AdjustOffsetCase basic_cases[] = { 2898 const size_t omit_auth_offsets_1[] = {
2896 {0, 0}, 2899 0, 1, 2, 3, 4, 5, 6, 7, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 7,
2897 {3, 3}, 2900 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
2898 {5, 5},
2899 {6, 6},
2900 {13, 13},
2901 {21, 21},
2902 {22, 22},
2903 {23, 23},
2904 {25, 25},
2905 {26, base::string16::npos},
2906 {500000, base::string16::npos},
2907 {base::string16::npos, base::string16::npos},
2908 }; 2901 };
2909 const size_t basic_offsets[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2902 CheckAdjustedOffsets("http://foo:bar@www.google.com/", "en",
2910 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25}; 2903 kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL,
2911 CheckAdjustedOffsets("http://www.google.com/foo/", "en", 2904 omit_auth_offsets_1);
2912 kFormatUrlOmitNothing, UnescapeRule::NORMAL, basic_cases,
2913 arraysize(basic_cases), basic_offsets);
2914 2905
2915 const AdjustOffsetCase omit_auth_cases_1[] = { 2906 const size_t omit_auth_offsets_2[] = {
2916 {6, 6}, 2907 0, 1, 2, 3, 4, 5, 6, 7, kNpos, kNpos, kNpos, 7, 8, 9, 10, 11, 12, 13, 14,
2917 {7, base::string16::npos}, 2908 15, 16, 17, 18, 19, 20, 21
2918 {8, base::string16::npos},
2919 {10, base::string16::npos},
2920 {12, base::string16::npos},
2921 {14, base::string16::npos},
2922 {15, 7},
2923 {25, 17},
2924 }; 2909 };
2925 const size_t omit_auth_offsets_1[] = {0, 1, 2, 3, 4, 5, 6, kNpos, kNpos, 2910 CheckAdjustedOffsets("http://foo@www.google.com/", "en",
2926 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2911 kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL,
2927 16, 17, 18, 19, 20, 21}; 2912 omit_auth_offsets_2);
2928 CheckAdjustedOffsets("http://foo:bar@www.google.com/", "en",
2929 kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, omit_auth_cases_1,
2930 arraysize(omit_auth_cases_1), omit_auth_offsets_1);
2931 2913
2932 const AdjustOffsetCase omit_auth_cases_2[] = { 2914 const size_t dont_omit_auth_offsets[] = {
2933 {9, base::string16::npos}, 2915 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
2934 {11, 7}, 2916 kNpos, kNpos, 11, 12, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
2917 kNpos, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2918 30, 31
2935 }; 2919 };
2936 const size_t omit_auth_offsets_2[] = {0, 1, 2, 3, 4, 5, 6, kNpos, kNpos, 2920 // Unescape to "http://foo\x30B0:\x30B0bar@www.google.com".
2937 kNpos, kNpos, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}; 2921 CheckAdjustedOffsets("http://foo%E3%82%B0:%E3%82%B0bar@www.google.com/", "en",
2938 CheckAdjustedOffsets("http://foo@www.google.com/", "en", 2922 kFormatUrlOmitNothing, UnescapeRule::NORMAL,
2939 kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, omit_auth_cases_2, 2923 dont_omit_auth_offsets);
2940 arraysize(omit_auth_cases_2), omit_auth_offsets_2);
2941 2924
2942 // "http://foo\x30B0:\x30B0bar@www.google.com" 2925 const size_t view_source_offsets[] = {
2943 const AdjustOffsetCase dont_omit_auth_cases[] = { 2926 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, kNpos,
2944 {0, 0}, 2927 kNpos, kNpos, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33
2945 /*{3, base::string16::npos},
2946 {7, 0},
2947 {11, 4},
2948 {12, base::string16::npos},
2949 {20, 5},
2950 {24, 9},*/
2951 }; 2928 };
2952 const size_t dont_omit_auth_offsets[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2929 CheckAdjustedOffsets("view-source:http://foo@www.google.com/", "en",
2953 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 11, 12, kNpos, 2930 kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL,
2954 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 13, 14, 15, 16, 17, 18, 2931 view_source_offsets);
2955 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
2956 CheckAdjustedOffsets("http://foo%E3%82%B0:%E3%82%B0bar@www.google.com/", "en",
2957 kFormatUrlOmitNothing, UnescapeRule::NORMAL, dont_omit_auth_cases,
2958 arraysize(dont_omit_auth_cases), dont_omit_auth_offsets);
2959 2932
2960 const AdjustOffsetCase view_source_cases[] = { 2933 const size_t idn_hostname_offsets_1[] = {
2961 {0, 0}, 2934 0, 1, 2, 3, 4, 5, 6, 7, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
2962 {3, 3}, 2935 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 12,
2963 {11, 11}, 2936 13, 14, 15, 16, 17, 18, 19
2964 {12, 12},
2965 {13, 13},
2966 {18, 18},
2967 {19, base::string16::npos},
2968 {20, base::string16::npos},
2969 {23, 19},
2970 {26, 22},
2971 {base::string16::npos, base::string16::npos},
2972 }; 2937 };
2973 const size_t view_source_offsets[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2938 // Convert punycode to "http://\x671d\x65e5\x3042\x3055\x3072.jp/foo/".
2974 12, 13, 14, 15, 16, 17, 18, kNpos, kNpos, kNpos, kNpos, 19, 20, 21, 22, 2939 CheckAdjustedOffsets("http://xn--l8jvb1ey91xtjb.jp/foo/", "ja",
2975 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33}; 2940 kFormatUrlOmitNothing, UnescapeRule::NORMAL,
2976 CheckAdjustedOffsets("view-source:http://foo@www.google.com/", "en", 2941 idn_hostname_offsets_1);
2977 kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, view_source_cases,
2978 arraysize(view_source_cases), view_source_offsets);
2979 2942
2980 // "http://\x671d\x65e5\x3042\x3055\x3072.jp/foo/" 2943 const size_t idn_hostname_offsets_2[] = {
2981 const AdjustOffsetCase idn_hostname_cases_1[] = { 2944 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, kNpos, kNpos, kNpos, kNpos, kNpos,
2982 {8, base::string16::npos}, 2945 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 14, 15, kNpos, kNpos, kNpos,
2983 {16, base::string16::npos}, 2946 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
2984 {24, base::string16::npos}, 2947 kNpos, 19, 20, 21, 22, 23, 24
2985 {25, 12},
2986 {30, 17},
2987 }; 2948 };
2988 const size_t idn_hostname_offsets_1[] = {0, 1, 2, 3, 4, 5, 6, 7, kNpos, kNpos, 2949 // Convert punycode to
2989 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 2950 // "http://test.\x89c6\x9891.\x5317\x4eac\x5927\x5b78.test/".
2990 kNpos, kNpos, kNpos, kNpos, kNpos, 12, 13, 14, 15, 16, 17, 18, 19};
2991 CheckAdjustedOffsets("http://xn--l8jvb1ey91xtjb.jp/foo/", "ja",
2992 kFormatUrlOmitNothing, UnescapeRule::NORMAL, idn_hostname_cases_1,
2993 arraysize(idn_hostname_cases_1), idn_hostname_offsets_1);
2994
2995 // "http://test.\x89c6\x9891.\x5317\x4eac\x5927\x5b78.test/"
2996 const AdjustOffsetCase idn_hostname_cases_2[] = {
2997 {7, 7},
2998 {9, 9},
2999 {11, 11},
3000 {12, 12},
3001 {13, base::string16::npos},
3002 {23, base::string16::npos},
3003 {24, 14},
3004 {25, 15},
3005 {26, base::string16::npos},
3006 {32, base::string16::npos},
3007 {41, 19},
3008 {42, 20},
3009 {45, 23},
3010 {46, 24},
3011 {47, base::string16::npos},
3012 {base::string16::npos, base::string16::npos},
3013 };
3014 const size_t idn_hostname_offsets_2[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3015 12, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
3016 kNpos, 14, 15, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
3017 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 19, 20, 21, 22, 23, 24};
3018 CheckAdjustedOffsets("http://test.xn--cy2a840a.xn--1lq90ic7f1rc.test/", 2951 CheckAdjustedOffsets("http://test.xn--cy2a840a.xn--1lq90ic7f1rc.test/",
3019 "zh-CN", kFormatUrlOmitNothing, UnescapeRule::NORMAL, 2952 "zh-CN", kFormatUrlOmitNothing, UnescapeRule::NORMAL,
3020 idn_hostname_cases_2, arraysize(idn_hostname_cases_2),
3021 idn_hostname_offsets_2); 2953 idn_hostname_offsets_2);
3022 2954
3023 // "http://www.google.com/foo bar/\x30B0\x30FC\x30B0\x30EB" 2955 const size_t unescape_offsets[] = {
3024 const AdjustOffsetCase unescape_cases[] = { 2956 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3025 {25, 25}, 2957 21, 22, 23, 24, 25, kNpos, kNpos, 26, 27, 28, 29, 30, kNpos, kNpos, kNpos,
3026 {26, base::string16::npos}, 2958 kNpos, kNpos, kNpos, kNpos, kNpos, 31, kNpos, kNpos, kNpos, kNpos, kNpos,
3027 {27, base::string16::npos}, 2959 kNpos, kNpos, kNpos, 32, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
3028 {28, 26}, 2960 kNpos, 33, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos
3029 {35, base::string16::npos},
3030 {41, 31},
3031 {59, 33},
3032 {60, base::string16::npos},
3033 {67, base::string16::npos},
3034 {68, base::string16::npos},
3035 }; 2961 };
3036 const size_t unescape_offsets[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2962 // Unescape to "http://www.google.com/foo bar/\x30B0\x30FC\x30B0\x30EB".
3037 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, kNpos, kNpos, 26, 27,
3038 28, 29, 30, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 31,
3039 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 32, kNpos, kNpos,
3040 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 33, kNpos, kNpos, kNpos, kNpos,
3041 kNpos, kNpos, kNpos, kNpos};
3042 CheckAdjustedOffsets( 2963 CheckAdjustedOffsets(
3043 "http://www.google.com/foo%20bar/%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB", 2964 "http://www.google.com/foo%20bar/%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB",
3044 "en", kFormatUrlOmitNothing, UnescapeRule::SPACES, unescape_cases, 2965 "en", kFormatUrlOmitNothing, UnescapeRule::SPACES, unescape_offsets);
3045 arraysize(unescape_cases), unescape_offsets);
3046 2966
3047 // "http://www.google.com/foo.html#\x30B0\x30B0z" 2967 const size_t ref_offsets[] = {
3048 const AdjustOffsetCase ref_cases[] = { 2968 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3049 {30, 30}, 2969 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, kNpos, kNpos, 32, kNpos, kNpos,
3050 {31, 31}, 2970 33
3051 {32, base::string16::npos},
3052 {34, 32},
3053 {35, base::string16::npos},
3054 {37, 33},
3055 {38, base::string16::npos},
3056 }; 2971 };
3057 const size_t ref_offsets[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2972 // Unescape to "http://www.google.com/foo.html#\x30B0\x30B0z".
3058 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3059 kNpos, kNpos, 32, kNpos, kNpos, 33};
3060 CheckAdjustedOffsets( 2973 CheckAdjustedOffsets(
3061 "http://www.google.com/foo.html#\xE3\x82\xB0\xE3\x82\xB0z", "en", 2974 "http://www.google.com/foo.html#\xE3\x82\xB0\xE3\x82\xB0z", "en",
3062 kFormatUrlOmitNothing, UnescapeRule::NORMAL, ref_cases, 2975 kFormatUrlOmitNothing, UnescapeRule::NORMAL, ref_offsets);
3063 arraysize(ref_cases), ref_offsets);
3064 2976
3065 const AdjustOffsetCase omit_http_cases[] = { 2977 const size_t omit_http_offsets[] = {
3066 {0, base::string16::npos}, 2978 0, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
3067 {3, base::string16::npos}, 2979 10, 11, 12, 13, 14
3068 {7, 0},
3069 {8, 1},
3070 }; 2980 };
3071 const size_t omit_http_offsets[] = {kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 2981 CheckAdjustedOffsets("http://www.google.com/", "en", kFormatUrlOmitHTTP,
3072 kNpos, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}; 2982 UnescapeRule::NORMAL, omit_http_offsets);
msw 2013/09/10 17:01:14 nit: extra space between args.
3073 CheckAdjustedOffsets("http://www.google.com/", "en",
3074 kFormatUrlOmitHTTP, UnescapeRule::NORMAL, omit_http_cases,
3075 arraysize(omit_http_cases), omit_http_offsets);
3076 2983
3077 const AdjustOffsetCase omit_http_start_with_ftp_cases[] = { 2984 const size_t omit_http_start_with_ftp_offsets[] = {
3078 {0, 0}, 2985 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
3079 {3, 3},
3080 {8, 8},
3081 }; 2986 };
3082 const size_t omit_http_start_with_ftp_offsets[] = {0, 1, 2, 3, 4, 5, 6, 7, 8,
3083 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21};
3084 CheckAdjustedOffsets("http://ftp.google.com/", "en", kFormatUrlOmitHTTP, 2987 CheckAdjustedOffsets("http://ftp.google.com/", "en", kFormatUrlOmitHTTP,
3085 UnescapeRule::NORMAL, omit_http_start_with_ftp_cases, 2988 UnescapeRule::NORMAL, omit_http_start_with_ftp_offsets);
3086 arraysize(omit_http_start_with_ftp_cases),
3087 omit_http_start_with_ftp_offsets);
3088 2989
3089 const AdjustOffsetCase omit_all_cases[] = { 2990 const size_t omit_all_offsets[] = {
3090 {12, 0}, 2991 0, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 0, kNpos, kNpos, kNpos, kNpos,
3091 {13, 1}, 2992 0, 1, 2, 3, 4, 5, 6, 7
3092 {0, base::string16::npos},
3093 {3, base::string16::npos},
3094 }; 2993 };
3095 const size_t omit_all_offsets[] = {kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
3096 kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 0, 1, 2, 3, 4, 5, 6, kNpos};
3097 CheckAdjustedOffsets("http://user@foo.com/", "en", kFormatUrlOmitAll, 2994 CheckAdjustedOffsets("http://user@foo.com/", "en", kFormatUrlOmitAll,
3098 UnescapeRule::NORMAL, omit_all_cases, 2995 UnescapeRule::NORMAL, omit_all_offsets);
3099 arraysize(omit_all_cases), omit_all_offsets);
3100 } 2996 }
3101 2997
3102 TEST(NetUtilTest, SimplifyUrlForRequest) { 2998 TEST(NetUtilTest, SimplifyUrlForRequest) {
3103 struct { 2999 struct {
3104 const char* input_url; 3000 const char* input_url;
3105 const char* expected_simplified_url; 3001 const char* expected_simplified_url;
3106 } tests[] = { 3002 } tests[] = {
3107 { 3003 {
3108 // Reference section should be stripped. 3004 // Reference section should be stripped.
3109 "http://www.google.com:78/foobar?query=1#hash", 3005 "http://www.google.com:78/foobar?query=1#hash",
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
3572 TEST_P(NetUtilNonUniqueNameTest, IsHostnameNonUnique) { 3468 TEST_P(NetUtilNonUniqueNameTest, IsHostnameNonUnique) {
3573 const NonUniqueNameTestData& test_data = GetParam(); 3469 const NonUniqueNameTestData& test_data = GetParam();
3574 3470
3575 EXPECT_EQ(test_data.is_unique, IsUnique(test_data.hostname)); 3471 EXPECT_EQ(test_data.is_unique, IsUnique(test_data.hostname));
3576 } 3472 }
3577 3473
3578 INSTANTIATE_TEST_CASE_P(, NetUtilNonUniqueNameTest, 3474 INSTANTIATE_TEST_CASE_P(, NetUtilNonUniqueNameTest,
3579 testing::ValuesIn(kNonUniqueNameTestData)); 3475 testing::ValuesIn(kNonUniqueNameTestData));
3580 3476
3581 } // namespace net 3477 } // namespace net
OLDNEW
« no previous file with comments | « net/base/net_util.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698