Index: components/password_manager/core/browser/login_database_unittest.cc |
diff --git a/components/password_manager/core/browser/login_database_unittest.cc b/components/password_manager/core/browser/login_database_unittest.cc |
index 67c04ab35d192811ef7e7e1bfdd2818badf34e1a..c0466365778c5e78c69a752055a65ff0de03e991 100644 |
--- a/components/password_manager/core/browser/login_database_unittest.cc |
+++ b/components/password_manager/core/browser/login_database_unittest.cc |
@@ -1132,12 +1132,11 @@ class LoginDatabaseMigrationTest : public testing::Test { |
} |
// Creates database of specific |version|. |
- void CreateDatabase(int version) { |
+ void CreateDatabase(std::string version) { |
base::FilePath database_dump; |
PathService::Get(base::DIR_SOURCE_ROOT, &database_dump); |
- database_dump = |
- database_dump.Append(database_dump_location_) |
- .AppendASCII("login_db_v" + base::IntToString(version) + ".sql"); |
+ database_dump = database_dump.Append(database_dump_location_) |
+ .AppendASCII("login_db_v" + version + ".sql"); |
ASSERT_TRUE( |
sql::test::CreateDatabaseFromSQL(database_path_, database_dump)); |
} |
@@ -1184,12 +1183,28 @@ class LoginDatabaseMigrationTest : public testing::Test { |
// will be changed to 10, because file login_db_v10.sql doesn't exist. |
// It has to be added in order to fix test. |
TEST_F(LoginDatabaseMigrationTest, MigrationV1ToVCurrent) { |
- for (int version = 1; version < kCurrentVersionNumber; ++version) { |
+ std::vector<std::string> versions; |
+ for (int version = 1; version < kCurrentVersionNumber; ++version) |
+ versions.push_back(base::IntToString(version)); |
+ versions.push_back("9_without_use_additional_auth_field"); |
+ |
+ for (const auto& version : versions) { |
CreateDatabase(version); |
+ SCOPED_TRACE(testing::Message("Version = ") << version); |
// Original date, in seconds since UTC epoch. |
std::vector<int64_t> date_created(GetDateCreated()); |
- ASSERT_EQ(1402955745, date_created[0]); |
- ASSERT_EQ(1402950000, date_created[1]); |
+ int table_version; |
+ base::StringToInt(version, &table_version); |
+ // Migration to version 8 performs changes dates to the new format. |
+ // So for versions less of equal to 8 create date should be in old |
+ // format before migration and in new format after. |
+ if (table_version <= 8) { |
+ ASSERT_EQ(1402955745, date_created[0]); |
+ ASSERT_EQ(1402950000, date_created[1]); |
+ } else { |
+ ASSERT_EQ(13047429345000000, date_created[0]); |
+ ASSERT_EQ(13047423600000000, date_created[1]); |
+ } |
{ |
// Assert that the database was successfully opened and updated |
@@ -1212,10 +1227,12 @@ TEST_F(LoginDatabaseMigrationTest, MigrationV1ToVCurrent) { |
std::vector<int64_t> new_date_created(GetDateCreated()); |
ASSERT_EQ(13047429345000000, new_date_created[0]); |
ASSERT_EQ(13047423600000000, new_date_created[1]); |
- // Check that the two dates match up. |
- for (size_t i = 0; i < date_created.size(); ++i) { |
- EXPECT_EQ(base::Time::FromInternalValue(new_date_created[i]), |
- base::Time::FromTimeT(date_created[i])); |
+ if (table_version <= 8) { |
+ // Check that the two dates match up. |
+ for (size_t i = 0; i < date_created.size(); ++i) { |
+ EXPECT_EQ(base::Time::FromInternalValue(new_date_created[i]), |
+ base::Time::FromTimeT(date_created[i])); |
+ } |
} |
DestroyDatabase(); |
} |