diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-04 00:05:25 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-04 00:05:25 +0000 |
commit | b9636005dd6f235dfb4fa4ea3a83df284341667d (patch) | |
tree | bb1fb84ce9727881ecb5899f87e3833d7f5c4437 /chrome/common/pref_service_unittest.cc | |
parent | c6ba2ce4faac672e685ee3ac3765c818cbe4dc90 (diff) | |
download | chromium_src-b9636005dd6f235dfb4fa4ea3a83df284341667d.zip chromium_src-b9636005dd6f235dfb4fa4ea3a83df284341667d.tar.gz chromium_src-b9636005dd6f235dfb4fa4ea3a83df284341667d.tar.bz2 |
Add FilePath setter/getter to pref service. Change callers to use it rather than the string methods.
Update the pref service unit test and enable it on linux.
Also switch over some wstrings to filepaths where appropriate.
BUG=8154
Review URL: http://codereview.chromium.org/27354
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10844 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/pref_service_unittest.cc')
-rw-r--r-- | chrome/common/pref_service_unittest.cc | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/chrome/common/pref_service_unittest.cc b/chrome/common/pref_service_unittest.cc index 48b707a..2a43e69 100644 --- a/chrome/common/pref_service_unittest.cc +++ b/chrome/common/pref_service_unittest.cc @@ -20,26 +20,26 @@ protected: virtual void SetUp() { // Name a subdirectory of the temp directory. ASSERT_TRUE(PathService::Get(base::DIR_TEMP, &test_dir_)); - file_util::AppendToPath(&test_dir_, L"PrefServiceTest"); + test_dir_ = test_dir_.AppendASCII("PrefServiceTest"); // Create a fresh, empty copy of this directory. file_util::Delete(test_dir_, true); file_util::CreateDirectory(test_dir_); ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &data_dir_)); - file_util::AppendToPath(&data_dir_, L"pref_service"); + data_dir_ = data_dir_.AppendASCII("pref_service"); ASSERT_TRUE(file_util::PathExists(data_dir_)); } virtual void TearDown() { // Clean up test directory - ASSERT_TRUE(file_util::Delete(test_dir_, false)); + ASSERT_TRUE(file_util::Delete(test_dir_, true)); ASSERT_FALSE(file_util::PathExists(test_dir_)); } // the path to temporary directory used to contain the test operations - std::wstring test_dir_; + FilePath test_dir_; // the path to the directory where the test data is stored - std::wstring data_dir_; + FilePath data_dir_; }; class TestPrefObserver : public NotificationObserver { @@ -87,13 +87,11 @@ TEST_F(PrefServiceTest, Basic) { PrefService prefs; // Test that it fails on nonexistent file. - std::wstring bogus_input_file = data_dir_; - file_util::AppendToPath(&bogus_input_file, L"read.txt"); + FilePath bogus_input_file = data_dir_.AppendASCII("read.txt"); EXPECT_FALSE(prefs.LoadPersistentPrefs(bogus_input_file)); // Test that the persistent value can be loaded. - std::wstring input_file = data_dir_; - file_util::AppendToPath(&input_file, L"read.json"); + FilePath input_file = data_dir_.AppendASCII("read.json"); ASSERT_TRUE(file_util::PathExists(input_file)); ASSERT_TRUE(prefs.LoadPersistentPrefs(input_file)); @@ -110,6 +108,10 @@ TEST_F(PrefServiceTest, Basic) { EXPECT_EQ(cnn, prefs.GetString(prefs::kHomePage)); + const wchar_t kSomeDirectory[] = L"some_directory"; + FilePath some_path(FILE_PATH_LITERAL("/usr/sbin/")); + prefs.RegisterFilePathPref(kSomeDirectory, FilePath()); + // Now test that the transient value overrides the persistent value, // without actually altering the persistent store. EXPECT_TRUE(prefs.transient()->SetString(prefs::kHomePage, microsoft)); @@ -128,13 +130,16 @@ TEST_F(PrefServiceTest, Basic) { prefs.SetInteger(kMaxTabs, 10); EXPECT_EQ(10, prefs.GetInteger(kMaxTabs)); + EXPECT_EQ(FilePath::StringType(FILE_PATH_LITERAL("/usr/local/")), + prefs.GetFilePath(kSomeDirectory).value()); + prefs.SetFilePath(kSomeDirectory, some_path); + EXPECT_EQ(some_path.value(), prefs.GetFilePath(kSomeDirectory).value()); + // Serialize and compare to expected output. - std::wstring output_file = test_dir_; - file_util::AppendToPath(&output_file, L"write.json"); + FilePath output_file = test_dir_.AppendASCII("write.json"); prefs.pref_filename_ = output_file; ASSERT_TRUE(prefs.SavePersistentPrefs(NULL)); - std::wstring golden_output_file = data_dir_; - file_util::AppendToPath(&golden_output_file, L"write.golden.json"); + FilePath golden_output_file = data_dir_.AppendASCII("write.golden.json"); ASSERT_TRUE(file_util::PathExists(golden_output_file)); ASSERT_TRUE(file_util::ContentsEqual(golden_output_file, output_file)); } @@ -151,8 +156,7 @@ TEST_F(PrefServiceTest, Overlay) { PrefService prefs; - std::wstring persistent_file = data_dir_; - file_util::AppendToPath(&persistent_file, L"overlay.json"); + FilePath persistent_file = data_dir_.AppendASCII("overlay.json"); EXPECT_TRUE(prefs.LoadPersistentPrefs(persistent_file)); Value* transient_value; @@ -278,8 +282,7 @@ TEST_F(PrefServiceTest, Overlay) { TEST_F(PrefServiceTest, Observers) { PrefService prefs; - std::wstring input_file = data_dir_; - file_util::AppendToPath(&input_file, L"read.json"); + FilePath input_file = data_dir_.AppendASCII("read.json"); EXPECT_TRUE(file_util::PathExists(input_file)); EXPECT_TRUE(prefs.LoadPersistentPrefs(input_file)); @@ -319,6 +322,8 @@ TEST_F(PrefServiceTest, Observers) { prefs.RemovePrefObserver(pref_name, &obs2); } +// TODO(port): port this test to POSIX. +#if defined(OS_WIN) TEST_F(PrefServiceTest, LocalizedPrefs) { PrefService prefs; const wchar_t kBoolean[] = L"boolean"; @@ -340,6 +345,7 @@ TEST_F(PrefServiceTest, LocalizedPrefs) { prefs.SetString(kString, L"foo"); EXPECT_EQ(L"foo", prefs.GetString(kString)); } +#endif TEST_F(PrefServiceTest, NoObserverFire) { PrefService prefs; |