diff options
author | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-03 17:54:04 +0000 |
---|---|---|
committer | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-03 17:54:04 +0000 |
commit | 9ffd9adb2cceb9f68596b23e30f9ec004949df36 (patch) | |
tree | 8c91cb1b2f1039c7bd8a20c35e1f97e3cd601a16 | |
parent | b13dee3299a400d604038b6a49a161a1048a2373 (diff) | |
download | chromium_src-9ffd9adb2cceb9f68596b23e30f9ec004949df36.zip chromium_src-9ffd9adb2cceb9f68596b23e30f9ec004949df36.tar.gz chromium_src-9ffd9adb2cceb9f68596b23e30f9ec004949df36.tar.bz2 |
wstring: allow converting FilePath to wstring in tests
Many of our tests want to use Unicode literal strings with the
L"foobar" syntax. Allow us to test FilePaths against these
strings.
BUG=69467
Review URL: http://codereview.chromium.org/6606025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76763 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | base/test/test_file_util.h | 7 | ||||
-rw-r--r-- | base/test/test_file_util_posix.cc | 5 | ||||
-rw-r--r-- | base/test/test_file_util_win.cc | 4 | ||||
-rw-r--r-- | chrome/browser/download/download_util_unittest.cc | 12 | ||||
-rw-r--r-- | net/base/net_util_unittest.cc | 5 |
5 files changed, 26 insertions, 7 deletions
diff --git a/base/test/test_file_util.h b/base/test/test_file_util.h index 6a6ae7d..e59456a 100644 --- a/base/test/test_file_util.h +++ b/base/test/test_file_util.h @@ -8,6 +8,8 @@ // File utility functions used only by tests. +#include <string> + class FilePath; namespace file_util { @@ -41,6 +43,11 @@ bool VolumeSupportsADS(const FilePath& path); bool HasInternetZoneIdentifier(const FilePath& full_path); #endif // defined(OS_WIN) +// In general it's not reliable to convert a FilePath to a wstring and we use +// string16 elsewhere for Unicode strings, but in tests it is frequently +// convenient to be able to compare paths to literals like L"foobar". +std::wstring FilePathAsWString(const FilePath& path); + } // namespace file_util #endif // BASE_TEST_TEST_FILE_UTIL_H_ diff --git a/base/test/test_file_util_posix.cc b/base/test/test_file_util_posix.cc index 876e882..430e52e 100644 --- a/base/test/test_file_util_posix.cc +++ b/base/test/test_file_util_posix.cc @@ -15,6 +15,7 @@ #include "base/file_path.h" #include "base/file_util.h" #include "base/string_util.h" +#include "base/utf_string_conversions.h" namespace file_util { @@ -109,4 +110,8 @@ bool EvictFileFromSystemCache(const FilePath& file) { } #endif +std::wstring FilePathAsWString(const FilePath& path) { + return UTF8ToWide(path.value()); +} + } // namespace file_util diff --git a/base/test/test_file_util_win.cc b/base/test/test_file_util_win.cc index 9820c42..1f20740 100644 --- a/base/test/test_file_util_win.cc +++ b/base/test/test_file_util_win.cc @@ -217,4 +217,8 @@ bool HasInternetZoneIdentifier(const FilePath& full_path) { zone_path_contents[kInternetIdentifierSize] == '\n')); } +std::wstring FilePathAsWString(const FilePath& path) { + return path.value(); +} + } // namespace file_util diff --git a/chrome/browser/download/download_util_unittest.cc b/chrome/browser/download/download_util_unittest.cc index 9368938..c8143e2 100644 --- a/chrome/browser/download/download_util_unittest.cc +++ b/chrome/browser/download/download_util_unittest.cc @@ -2,12 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "chrome/browser/download/download_util.h" + #if defined(OS_POSIX) && !defined(OS_MACOSX) #include <locale.h> #endif #include "base/string_util.h" -#include "chrome/browser/download/download_util.h" +#include "base/test/test_file_util.h" #include "googleurl/src/gurl.h" #include "testing/gtest/include/gtest/gtest.h" @@ -457,7 +459,7 @@ TEST(DownloadUtilTest, GenerateFileName) { kGenerateFileNameTestCases[i].mime_type, &generated_name); EXPECT_EQ(kGenerateFileNameTestCases[i].expected_name, - generated_name.ToWStringHack()) << i; + file_util::FilePathAsWString(generated_name)) << i; } for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kGenerateFileNameTestCases); ++i) { @@ -468,7 +470,7 @@ TEST(DownloadUtilTest, GenerateFileName) { kGenerateFileNameTestCases[i].mime_type, &generated_name); EXPECT_EQ(kGenerateFileNameTestCases[i].expected_name, - generated_name.ToWStringHack()) << i; + file_util::FilePathAsWString(generated_name)) << i; } // A couple of cases with raw 8bit characters in C-D. @@ -479,7 +481,7 @@ TEST(DownloadUtilTest, GenerateFileName) { "iso-8859-1", "image/png", &generated_name); - EXPECT_EQ(L"caf\u00e9.png", generated_name.ToWStringHack()); + EXPECT_EQ(L"caf\u00e9.png", file_util::FilePathAsWString(generated_name)); } { @@ -489,7 +491,7 @@ TEST(DownloadUtilTest, GenerateFileName) { "windows-1253", "image/png", &generated_name); - EXPECT_EQ(L"caf\u03b5.png", generated_name.ToWStringHack()); + EXPECT_EQ(L"caf\u03b5.png", file_util::FilePathAsWString(generated_name)); } } diff --git a/net/base/net_util_unittest.cc b/net/base/net_util_unittest.cc index ebb3574..4201400 100644 --- a/net/base/net_util_unittest.cc +++ b/net/base/net_util_unittest.cc @@ -10,6 +10,7 @@ #include "base/string_util.h" #include "base/stringprintf.h" #include "base/sys_string_conversions.h" +#include "base/test/test_file_util.h" #include "base/time.h" #include "base/utf_string_conversions.h" #include "googleurl/src/gurl.h" @@ -517,7 +518,7 @@ TEST(NetUtilTest, FileURLConversion) { // Back to the filename. EXPECT_TRUE(net::FileURLToFilePath(file_url, &output)); - EXPECT_EQ(round_trip_cases[i].file, output.ToWStringHack()); + EXPECT_EQ(round_trip_cases[i].file, file_util::FilePathAsWString(output)); } // Test that various file: URLs get decoded into the correct file type @@ -556,7 +557,7 @@ TEST(NetUtilTest, FileURLConversion) { }; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(url_cases); i++) { net::FileURLToFilePath(GURL(url_cases[i].url), &output); - EXPECT_EQ(url_cases[i].file, output.ToWStringHack()); + EXPECT_EQ(url_cases[i].file, file_util::FilePathAsWString(output)); } // Unfortunately, UTF8ToWide discards invalid UTF8 input. |