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

Side by Side Diff: base/strings/string_util_unittest.cc

Issue 656033009: Convert ARRAYSIZE_UNSAFE -> arraysize in base/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "base/strings/string_util.h" 5 #include "base/strings/string_util.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <stdarg.h> 8 #include <stdarg.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 TEST(StringUtilTest, LowerCaseEqualsASCII) { 532 TEST(StringUtilTest, LowerCaseEqualsASCII) {
533 static const struct { 533 static const struct {
534 const char* src_a; 534 const char* src_a;
535 const char* dst; 535 const char* dst;
536 } lowercase_cases[] = { 536 } lowercase_cases[] = {
537 { "FoO", "foo" }, 537 { "FoO", "foo" },
538 { "foo", "foo" }, 538 { "foo", "foo" },
539 { "FOO", "foo" }, 539 { "FOO", "foo" },
540 }; 540 };
541 541
542 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(lowercase_cases); ++i) { 542 for (size_t i = 0; i < arraysize(lowercase_cases); ++i) {
543 EXPECT_TRUE(LowerCaseEqualsASCII(ASCIIToUTF16(lowercase_cases[i].src_a), 543 EXPECT_TRUE(LowerCaseEqualsASCII(ASCIIToUTF16(lowercase_cases[i].src_a),
544 lowercase_cases[i].dst)); 544 lowercase_cases[i].dst));
545 EXPECT_TRUE(LowerCaseEqualsASCII(lowercase_cases[i].src_a, 545 EXPECT_TRUE(LowerCaseEqualsASCII(lowercase_cases[i].src_a,
546 lowercase_cases[i].dst)); 546 lowercase_cases[i].dst));
547 } 547 }
548 } 548 }
549 549
550 TEST(StringUtilTest, FormatBytesUnlocalized) { 550 TEST(StringUtilTest, FormatBytesUnlocalized) {
551 static const struct { 551 static const struct {
552 int64 bytes; 552 int64 bytes;
(...skipping 16 matching lines...) Expand all
569 {~(1LL<<63), "8192 PB"}, 569 {~(1LL<<63), "8192 PB"},
570 570
571 {99*1024 + 103, "99.1 kB"}, 571 {99*1024 + 103, "99.1 kB"},
572 {1024*1024 + 103, "1.0 MB"}, 572 {1024*1024 + 103, "1.0 MB"},
573 {1024*1024 + 205 * 1024, "1.2 MB"}, 573 {1024*1024 + 205 * 1024, "1.2 MB"},
574 {1024*1024*1024 + (927 * 1024*1024), "1.9 GB"}, 574 {1024*1024*1024 + (927 * 1024*1024), "1.9 GB"},
575 {10LL*1024*1024*1024, "10.0 GB"}, 575 {10LL*1024*1024*1024, "10.0 GB"},
576 {100LL*1024*1024*1024, "100 GB"}, 576 {100LL*1024*1024*1024, "100 GB"},
577 }; 577 };
578 578
579 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 579 for (size_t i = 0; i < arraysize(cases); ++i) {
580 EXPECT_EQ(ASCIIToUTF16(cases[i].expected), 580 EXPECT_EQ(ASCIIToUTF16(cases[i].expected),
581 FormatBytesUnlocalized(cases[i].bytes)); 581 FormatBytesUnlocalized(cases[i].bytes));
582 } 582 }
583 } 583 }
584 TEST(StringUtilTest, ReplaceSubstringsAfterOffset) { 584 TEST(StringUtilTest, ReplaceSubstringsAfterOffset) {
585 static const struct { 585 static const struct {
586 const char* str; 586 const char* str;
587 string16::size_type start_offset; 587 string16::size_type start_offset;
588 const char* find_this; 588 const char* find_this;
589 const char* replace_with; 589 const char* replace_with;
590 const char* expected; 590 const char* expected;
591 } cases[] = { 591 } cases[] = {
592 {"aaa", 0, "a", "b", "bbb"}, 592 {"aaa", 0, "a", "b", "bbb"},
593 {"abb", 0, "ab", "a", "ab"}, 593 {"abb", 0, "ab", "a", "ab"},
594 {"Removing some substrings inging", 0, "ing", "", "Remov some substrs "}, 594 {"Removing some substrings inging", 0, "ing", "", "Remov some substrs "},
595 {"Not found", 0, "x", "0", "Not found"}, 595 {"Not found", 0, "x", "0", "Not found"},
596 {"Not found again", 5, "x", "0", "Not found again"}, 596 {"Not found again", 5, "x", "0", "Not found again"},
597 {" Making it much longer ", 0, " ", "Four score and seven years ago", 597 {" Making it much longer ", 0, " ", "Four score and seven years ago",
598 "Four score and seven years agoMakingFour score and seven years agoit" 598 "Four score and seven years agoMakingFour score and seven years agoit"
599 "Four score and seven years agomuchFour score and seven years agolonger" 599 "Four score and seven years agomuchFour score and seven years agolonger"
600 "Four score and seven years ago"}, 600 "Four score and seven years ago"},
601 {"Invalid offset", 9999, "t", "foobar", "Invalid offset"}, 601 {"Invalid offset", 9999, "t", "foobar", "Invalid offset"},
602 {"Replace me only me once", 9, "me ", "", "Replace me only once"}, 602 {"Replace me only me once", 9, "me ", "", "Replace me only once"},
603 {"abababab", 2, "ab", "c", "abccc"}, 603 {"abababab", 2, "ab", "c", "abccc"},
604 }; 604 };
605 605
606 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { 606 for (size_t i = 0; i < arraysize(cases); i++) {
607 string16 str = ASCIIToUTF16(cases[i].str); 607 string16 str = ASCIIToUTF16(cases[i].str);
608 ReplaceSubstringsAfterOffset(&str, cases[i].start_offset, 608 ReplaceSubstringsAfterOffset(&str, cases[i].start_offset,
609 ASCIIToUTF16(cases[i].find_this), 609 ASCIIToUTF16(cases[i].find_this),
610 ASCIIToUTF16(cases[i].replace_with)); 610 ASCIIToUTF16(cases[i].replace_with));
611 EXPECT_EQ(ASCIIToUTF16(cases[i].expected), str); 611 EXPECT_EQ(ASCIIToUTF16(cases[i].expected), str);
612 } 612 }
613 } 613 }
614 614
615 TEST(StringUtilTest, ReplaceFirstSubstringAfterOffset) { 615 TEST(StringUtilTest, ReplaceFirstSubstringAfterOffset) {
616 static const struct { 616 static const struct {
617 const char* str; 617 const char* str;
618 string16::size_type start_offset; 618 string16::size_type start_offset;
619 const char* find_this; 619 const char* find_this;
620 const char* replace_with; 620 const char* replace_with;
621 const char* expected; 621 const char* expected;
622 } cases[] = { 622 } cases[] = {
623 {"aaa", 0, "a", "b", "baa"}, 623 {"aaa", 0, "a", "b", "baa"},
624 {"abb", 0, "ab", "a", "ab"}, 624 {"abb", 0, "ab", "a", "ab"},
625 {"Removing some substrings inging", 0, "ing", "", 625 {"Removing some substrings inging", 0, "ing", "",
626 "Remov some substrings inging"}, 626 "Remov some substrings inging"},
627 {"Not found", 0, "x", "0", "Not found"}, 627 {"Not found", 0, "x", "0", "Not found"},
628 {"Not found again", 5, "x", "0", "Not found again"}, 628 {"Not found again", 5, "x", "0", "Not found again"},
629 {" Making it much longer ", 0, " ", "Four score and seven years ago", 629 {" Making it much longer ", 0, " ", "Four score and seven years ago",
630 "Four score and seven years agoMaking it much longer "}, 630 "Four score and seven years agoMaking it much longer "},
631 {"Invalid offset", 9999, "t", "foobar", "Invalid offset"}, 631 {"Invalid offset", 9999, "t", "foobar", "Invalid offset"},
632 {"Replace me only me once", 4, "me ", "", "Replace only me once"}, 632 {"Replace me only me once", 4, "me ", "", "Replace only me once"},
633 {"abababab", 2, "ab", "c", "abcabab"}, 633 {"abababab", 2, "ab", "c", "abcabab"},
634 }; 634 };
635 635
636 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) { 636 for (size_t i = 0; i < arraysize(cases); i++) {
637 string16 str = ASCIIToUTF16(cases[i].str); 637 string16 str = ASCIIToUTF16(cases[i].str);
638 ReplaceFirstSubstringAfterOffset(&str, cases[i].start_offset, 638 ReplaceFirstSubstringAfterOffset(&str, cases[i].start_offset,
639 ASCIIToUTF16(cases[i].find_this), 639 ASCIIToUTF16(cases[i].find_this),
640 ASCIIToUTF16(cases[i].replace_with)); 640 ASCIIToUTF16(cases[i].replace_with));
641 EXPECT_EQ(ASCIIToUTF16(cases[i].expected), str); 641 EXPECT_EQ(ASCIIToUTF16(cases[i].expected), str);
642 } 642 }
643 } 643 }
644 644
645 TEST(StringUtilTest, HexDigitToInt) { 645 TEST(StringUtilTest, HexDigitToInt) {
646 EXPECT_EQ(0, HexDigitToInt('0')); 646 EXPECT_EQ(0, HexDigitToInt('0'));
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after
1141 { L"%f", true }, 1141 { L"%f", true },
1142 { L"%f %F", false }, 1142 { L"%f %F", false },
1143 { L"%d %D", false }, 1143 { L"%d %D", false },
1144 { L"%o %O", false }, 1144 { L"%o %O", false },
1145 { L"%u %U", false }, 1145 { L"%u %U", false },
1146 { L"%f %d %o %u", true }, 1146 { L"%f %d %o %u", true },
1147 { L"%-8d (%02.1f%)", true }, 1147 { L"%-8d (%02.1f%)", true },
1148 { L"% 10s", false }, 1148 { L"% 10s", false },
1149 { L"% 10ls", true } 1149 { L"% 10ls", true }
1150 }; 1150 };
1151 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) 1151 for (size_t i = 0; i < arraysize(cases); ++i)
1152 EXPECT_EQ(cases[i].portable, base::IsWprintfFormatPortable(cases[i].input)); 1152 EXPECT_EQ(cases[i].portable, base::IsWprintfFormatPortable(cases[i].input));
1153 } 1153 }
1154 1154
1155 TEST(StringUtilTest, RemoveChars) { 1155 TEST(StringUtilTest, RemoveChars) {
1156 const char* kRemoveChars = "-/+*"; 1156 const char* kRemoveChars = "-/+*";
1157 std::string input = "A-+bc/d!*"; 1157 std::string input = "A-+bc/d!*";
1158 EXPECT_TRUE(RemoveChars(input, kRemoveChars, &input)); 1158 EXPECT_TRUE(RemoveChars(input, kRemoveChars, &input));
1159 EXPECT_EQ("Abcd!", input); 1159 EXPECT_EQ("Abcd!", input);
1160 1160
1161 // No characters match kRemoveChars. 1161 // No characters match kRemoveChars.
(...skipping 22 matching lines...) Expand all
1184 { "test", "e", "!?", "t!?st", true }, 1184 { "test", "e", "!?", "t!?st", true },
1185 { "test", "ez", "!", "t!st", true }, 1185 { "test", "ez", "!", "t!st", true },
1186 { "test", "zed", "!?", "t!?st", true }, 1186 { "test", "zed", "!?", "t!?st", true },
1187 { "test", "t", "!?", "!?es!?", true }, 1187 { "test", "t", "!?", "!?es!?", true },
1188 { "test", "et", "!>", "!>!>s!>", true }, 1188 { "test", "et", "!>", "!>!>s!>", true },
1189 { "test", "zest", "!", "!!!!", true }, 1189 { "test", "zest", "!", "!!!!", true },
1190 { "test", "szt", "!", "!e!!", true }, 1190 { "test", "szt", "!", "!e!!", true },
1191 { "test", "t", "test", "testestest", true }, 1191 { "test", "t", "test", "testestest", true },
1192 }; 1192 };
1193 1193
1194 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) { 1194 for (size_t i = 0; i < arraysize(cases); ++i) {
1195 std::string output; 1195 std::string output;
1196 bool result = ReplaceChars(cases[i].input, 1196 bool result = ReplaceChars(cases[i].input,
1197 cases[i].replace_chars, 1197 cases[i].replace_chars,
1198 cases[i].replace_with, 1198 cases[i].replace_with,
1199 &output); 1199 &output);
1200 EXPECT_EQ(cases[i].result, result); 1200 EXPECT_EQ(cases[i].result, result);
1201 EXPECT_EQ(cases[i].output, output); 1201 EXPECT_EQ(cases[i].output, output);
1202 } 1202 }
1203 } 1203 }
1204 1204
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1259 const std::string live = kLive; 1259 const std::string live = kLive;
1260 std::string dead = live; 1260 std::string dead = live;
1261 strncpy(WriteInto(&dead, 5), kDead, 4); 1261 strncpy(WriteInto(&dead, 5), kDead, 4);
1262 EXPECT_EQ(kDead, dead); 1262 EXPECT_EQ(kDead, dead);
1263 EXPECT_EQ(4u, dead.size()); 1263 EXPECT_EQ(4u, dead.size());
1264 EXPECT_EQ(kLive, live); 1264 EXPECT_EQ(kLive, live);
1265 EXPECT_EQ(4u, live.size()); 1265 EXPECT_EQ(4u, live.size());
1266 } 1266 }
1267 1267
1268 } // namespace base 1268 } // namespace base
OLDNEW
« no previous file with comments | « base/strings/string_split_unittest.cc ('k') | base/strings/utf_offset_string_conversions_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698