summaryrefslogtreecommitdiffstats
path: root/base/file_path_unittest.cc
diff options
context:
space:
mode:
authorrolandsteiner@chromium.org <rolandsteiner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-27 05:54:51 +0000
committerrolandsteiner@chromium.org <rolandsteiner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-27 05:54:51 +0000
commitf6cb1e077174da5c9447271b8731e103a62db6ba (patch)
tree037db348655e730b203374ac632b2d793a3bd055 /base/file_path_unittest.cc
parent47f782c2f1e3c1f3c95e345494b6f5a1a670fd21 (diff)
downloadchromium_src-f6cb1e077174da5c9447271b8731e103a62db6ba.zip
chromium_src-f6cb1e077174da5c9447271b8731e103a62db6ba.tar.gz
chromium_src-f6cb1e077174da5c9447271b8731e103a62db6ba.tar.bz2
Revert 30168 - Commit patch set from http://codereview.chromium.org/149796
(see discussion and history there) BUG=10876 TEST=FilePathTest.MatchesExtension.CompareIgnoreCase TBR=rolandsteiner@chromium.org Review URL: http://codereview.chromium.org/337042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30170 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/file_path_unittest.cc')
-rw-r--r--base/file_path_unittest.cc125
1 files changed, 14 insertions, 111 deletions
diff --git a/base/file_path_unittest.cc b/base/file_path_unittest.cc
index 1946100..9d45170 100644
--- a/base/file_path_unittest.cc
+++ b/base/file_path_unittest.cc
@@ -32,11 +32,6 @@ struct BinaryBooleanTestData {
bool expected;
};
-struct BinaryIntTestData {
- const FilePath::CharType* inputs[2];
- int expected;
-};
-
// file_util winds up using autoreleased objects on the Mac, so this needs
// to be a PlatformTest
class FilePathTest : public PlatformTest {
@@ -946,38 +941,24 @@ TEST_F(FilePathTest, ReplaceExtension) {
TEST_F(FilePathTest, MatchesExtension) {
const struct BinaryBooleanTestData cases[] = {
- { { FPL("foo"), FPL("") }, true},
- { { FPL("foo"), FPL(".") }, false},
- { { FPL("foo."), FPL("") }, false},
- { { FPL("foo."), FPL(".") }, true},
- { { FPL("foo.txt"), FPL(".dll") }, false},
- { { FPL("foo.txt"), FPL(".txt") }, true},
- { { FPL("foo.txt.dll"), FPL(".txt") }, false},
- { { FPL("foo.txt.dll"), FPL(".dll") }, true},
- { { FPL("foo.TXT"), FPL(".txt") }, true},
- { { FPL("foo.txt"), FPL(".TXT") }, true},
- { { FPL("foo.tXt"), FPL(".txt") }, true},
- { { FPL("foo.txt"), FPL(".tXt") }, true},
- { { FPL("foo.tXt"), FPL(".TXT") }, true},
- { { FPL("foo.tXt"), FPL(".tXt") }, true},
+ { { FPL("foo"), FPL("") }, true},
+ { { FPL("foo"), FPL(".") }, false},
+ { { FPL("foo."), FPL("") }, false},
+ { { FPL("foo."), FPL(".") }, true},
+ { { FPL("foo.txt"), FPL(".dll") }, false},
+ { { FPL("foo.txt"), FPL(".txt") }, true},
+ { { FPL("foo.txt.dll"), FPL(".txt") }, false},
+ { { FPL("foo.txt.dll"), FPL(".dll") }, true},
#if defined(FILE_PATH_USES_DRIVE_LETTERS)
- { { FPL("c:/foo.txt.dll"), FPL(".txt") }, false},
- { { FPL("c:/foo.txt"), FPL(".txt") }, true},
+ { { FPL("c:/foo.txt.dll"), FPL(".txt") }, false},
+ { { FPL("c:/foo.txt"), FPL(".txt") }, true},
#endif // FILE_PATH_USES_DRIVE_LETTERS
#if defined(FILE_PATH_USES_WIN_SEPARATORS)
- { { FPL("c:\\bar\\foo.txt.dll"), FPL(".txt") }, false},
- { { FPL("c:\\bar\\foo.txt"), FPL(".txt") }, true},
+ { { FPL("c:\\bar\\foo.txt.dll"), FPL(".txt") }, false},
+ { { FPL("c:\\bar\\foo.txt"), FPL(".txt") }, true},
#endif // FILE_PATH_USES_DRIVE_LETTERS
- { { FPL("/bar/foo.txt.dll"), FPL(".txt") }, false},
- { { FPL("/bar/foo.txt"), FPL(".txt") }, true},
-#if defined(OS_WIN) || defined(OS_MACOSX)
- // Umlauts A, O, U: direct comparison, and upper case vs. lower case
- { { FPL("foo.\u00E4\u00F6\u00FC"), FPL(".\u00E4\u00F6\u00FC") }, true},
- { { FPL("foo.\u00C4\u00D6\u00DC"), FPL(".\u00E4\u00F6\u00FC") }, true},
- // C with circumflex: direct comparison, and upper case vs. lower case
- { { FPL("foo.\u0109"), FPL(".\u0109") }, true},
- { { FPL("foo.\u0108"), FPL(".\u0109") }, true},
-#endif
+ { { FPL("/bar/foo.txt.dll"), FPL(".txt") }, false},
+ { { FPL("/bar/foo.txt"), FPL(".txt") }, true},
};
for (size_t i = 0; i < arraysize(cases); ++i) {
@@ -989,83 +970,6 @@ TEST_F(FilePathTest, MatchesExtension) {
}
}
-TEST_F(FilePathTest, CompareIgnoreCase) {
- const struct BinaryIntTestData cases[] = {
- { { FPL("foo"), FPL("foo") }, 0},
- { { FPL("FOO"), FPL("foo") }, 0},
- { { FPL("foo.ext"), FPL("foo.ext") }, 0},
- { { FPL("FOO.EXT"), FPL("foo.ext") }, 0},
- { { FPL("Foo.Ext"), FPL("foo.ext") }, 0},
- { { FPL("foO"), FPL("foo") }, 0},
- { { FPL("foo"), FPL("foO") }, 0},
- { { FPL("fOo"), FPL("foo") }, 0},
- { { FPL("foo"), FPL("fOo") }, 0},
- { { FPL("bar"), FPL("foo") }, -1},
- { { FPL("foo"), FPL("bar") }, 1},
- { { FPL("BAR"), FPL("foo") }, -1},
- { { FPL("FOO"), FPL("bar") }, 1},
- { { FPL("bar"), FPL("FOO") }, -1},
- { { FPL("foo"), FPL("BAR") }, 1},
- { { FPL("BAR"), FPL("FOO") }, -1},
- { { FPL("FOO"), FPL("BAR") }, 1},
- // German "Eszett" (lower case and the new-fangled upper case)
- // Note that uc(<lowercase eszett>) => "SS", NOT <uppercase eszett>!
- // However, neither Windows nor Mac OSX converts these.
- // (or even have glyphs for <uppercase eszett>)
- { { FPL("\u00DF"), FPL("\u00DF") }, 0},
- { { FPL("\u1E9E"), FPL("\u1E9E") }, 0},
- { { FPL("\u00DF"), FPL("\u1E9E") }, -1},
- { { FPL("SS"), FPL("\u00DF") }, -1},
- { { FPL("SS"), FPL("\u1E9E") }, -1},
-#if defined(OS_WIN) || defined(OS_MACOSX)
- // Umlauts A, O, U: direct comparison, and upper case vs. lower case
- { { FPL("\u00E4\u00F6\u00FC"), FPL("\u00E4\u00F6\u00FC") }, 0},
- { { FPL("\u00C4\u00D6\u00DC"), FPL("\u00E4\u00F6\u00FC") }, 0},
- // C with circumflex: direct comparison, and upper case vs. lower case
- { { FPL("\u0109"), FPL("\u0109") }, 0},
- { { FPL("\u0108"), FPL("\u0109") }, 0},
- // Cyrillic letter SHA: direct comparison, and upper case vs. lower case
- { { FPL("\u0428"), FPL("\u0428") }, 0},
- { { FPL("\u0428"), FPL("\u0448") }, 0},
- // Greek letter DELTA: direct comparison, and upper case vs. lower case
- { { FPL("\u0394"), FPL("\u0394") }, 0},
- { { FPL("\u0394"), FPL("\u03B4") }, 0},
- // Japanese full-width A: direct comparison, and upper case vs. lower case
- // Note that full-width and standard characters are considered different.
- { { FPL("\uFF21"), FPL("\uFF21") }, 0},
- { { FPL("\uFF21"), FPL("\uFF41") }, 0},
- { { FPL("A"), FPL("\uFF21") }, -1},
- { { FPL("A"), FPL("\uFF41") }, -1},
- { { FPL("a"), FPL("\uFF21") }, -1},
- { { FPL("a"), FPL("\uFF41") }, -1},
-#endif
-#if defined(OS_MACOSX)
- // Codepoints > 0x1000
- // Georgian letter DON: direct comparison, and upper case vs. lower case
- { { FPL("\u10A3"), FPL("\u10A3") }, 0},
- { { FPL("\u10A3"), FPL("\u10D3") }, 0},
- // Combining characters vs. pre-composed characters, upper and lower case
- { { FPL("k\u0301u\u032Do\u0304\u0301n"), FPL("\u1E31\u1E77\u1E53n") }, 0},
- { { FPL("k\u0301u\u032Do\u0304\u0301n"), FPL("kuon") }, 1},
- { { FPL("kuon"), FPL("k\u0301u\u032Do\u0304\u0301n") }, -1},
- { { FPL("K\u0301U\u032DO\u0304\u0301N"), FPL("KUON") }, 1},
- { { FPL("KUON"), FPL("K\u0301U\u032DO\u0304\u0301N") }, -1},
- { { FPL("k\u0301u\u032Do\u0304\u0301n"), FPL("KUON") }, 1},
- { { FPL("K\u0301U\u032DO\u0304\u0301N"), FPL("\u1E31\u1E77\u1E53n") }, 0},
- { { FPL("k\u0301u\u032Do\u0304\u0301n"), FPL("\u1E30\u1E76\u1E52n") }, 0},
- { { FPL("k\u0301u\u032Do\u0304\u0302n"), FPL("\u1E30\u1E76\u1E52n") }, 1},
-#endif
- };
-
- for (size_t i = 0; i < arraysize(cases); ++i) {
- FilePath::StringType s1(cases[i].inputs[0]);
- FilePath::StringType s2(cases[i].inputs[1]);
- int result = FilePath::CompareIgnoreCase(s1, s2);
- EXPECT_EQ(cases[i].expected, result) <<
- "i: " << i << ", s1: " << s1 << ", s2: " << s2;
- }
-}
-
TEST_F(FilePathTest, ReferencesParent) {
const struct UnaryBooleanTestData cases[] = {
{ FPL("."), false },
@@ -1096,4 +1000,3 @@ TEST_F(FilePathTest, ReferencesParent) {
"i: " << i << ", input: " << input.value();
}
}
-