Index: chrome/browser/sync/util/user_settings_unittest.cc |
diff --git a/chrome/browser/sync/util/user_settings_unittest.cc b/chrome/browser/sync/util/user_settings_unittest.cc |
index 073c29ca906bcd5d13c3cb24cbf2c5449bbc0e81..a39f98744742ef87fda92b65e006280d88e483f9 100644 |
--- a/chrome/browser/sync/util/user_settings_unittest.cc |
+++ b/chrome/browser/sync/util/user_settings_unittest.cc |
@@ -40,6 +40,8 @@ class UserSettingsTest : public testing::Test { |
destination_directory.Append(FilePath(kV10UserSettingsDB)); |
ASSERT_EQ(SQLITE_OK, sqlite_utils::OpenSqliteDb(v10_user_setting_db_path_, |
&primer_handle)); |
+ sqlite_utils::scoped_sqlite_db_ptr db(primer_handle); |
+ |
old_style_sync_data_path_ = |
destination_directory.Append(FilePath(kOldStyleSyncDataDB)); |
@@ -82,7 +84,6 @@ class UserSettingsTest : public testing::Test { |
LOG(FATAL) << query << "\n" << sqlite3_errmsg(primer_handle); |
} |
} |
- sqlite3_close(primer_handle); |
} |
// Creates and populates the V11 database file within |
@@ -93,6 +94,7 @@ class UserSettingsTest : public testing::Test { |
destination_directory.Append(FilePath(kV11UserSettingsDB)); |
ASSERT_EQ(SQLITE_OK, sqlite_utils::OpenSqliteDb(v11_user_setting_db_path_, |
&primer_handle)); |
+ sqlite_utils::scoped_sqlite_db_ptr db(primer_handle); |
// Create settings table. |
ExecOrDie(primer_handle, "CREATE TABLE settings" |
@@ -124,8 +126,6 @@ class UserSettingsTest : public testing::Test { |
LOG(FATAL) << query << "\n" << sqlite3_errmsg(primer_handle); |
} |
} |
- |
- sqlite3_close(primer_handle); |
} |
const std::string& sync_data() const { return sync_data_; } |
@@ -164,6 +164,7 @@ TEST_F(UserSettingsTest, MigrateFromV10ToV11) { |
sqlite3* handle = NULL; |
ASSERT_EQ(SQLITE_OK, sqlite_utils::OpenSqliteDb(v10_user_setting_db_path(), |
&handle)); |
+ sqlite_utils::scoped_sqlite_db_ptr db(handle); |
// Note that we don't use ScopedStatement to avoid closing the sqlite handle |
// before finalizing the statement. |
@@ -183,7 +184,6 @@ TEST_F(UserSettingsTest, MigrateFromV10ToV11) { |
std::string contents; |
ASSERT_TRUE(file_util::ReadFileToString(new_style_path, &contents)); |
EXPECT_TRUE(sync_data() == contents); |
- sqlite3_close(handle); |
} |
TEST_F(UserSettingsTest, MigrateFromV11ToV12) { |
@@ -197,6 +197,7 @@ TEST_F(UserSettingsTest, MigrateFromV11ToV12) { |
sqlite3* handle = NULL; |
ASSERT_EQ(SQLITE_OK, sqlite_utils::OpenSqliteDb(v11_user_setting_db_path(), |
&handle)); |
+ sqlite_utils::scoped_sqlite_db_ptr db(handle); |
{ |
SQLStatement version_query; |
@@ -222,3 +223,31 @@ TEST_F(UserSettingsTest, APEncode) { |
const string decoded = APDecode(encoded); |
ASSERT_EQ(test, decoded); |
} |
+ |
+TEST_F(UserSettingsTest, PersistEmptyToken) { |
+ ScopedTempDir temp_dir; |
+ ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
+ UserSettings settings; |
+ settings.Init(temp_dir.path().AppendASCII("UserSettings.sqlite3")); |
+ settings.SetAuthTokenForService("username", "service", ""); |
+ std::string username; |
+ std::string token; |
+ ASSERT_TRUE(settings.GetLastUserAndServiceToken("service", &username, |
+ &token)); |
+ EXPECT_EQ("", token); |
+ EXPECT_EQ("username", username); |
+} |
+ |
+TEST_F(UserSettingsTest, PersistNonEmptyToken) { |
+ ScopedTempDir temp_dir; |
+ ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
+ UserSettings settings; |
+ settings.Init(temp_dir.path().AppendASCII("UserSettings.sqlite3")); |
+ settings.SetAuthTokenForService("username", "service", "012345beefbeef"); |
+ std::string username; |
+ std::string token; |
+ ASSERT_TRUE(settings.GetLastUserAndServiceToken("service", &username, |
+ &token)); |
+ EXPECT_EQ("012345beefbeef", token); |
+ EXPECT_EQ("username", username); |
+} |