| Index: components/webdata/common/web_database_migration_unittest.cc
|
| diff --git a/components/webdata/common/web_database_migration_unittest.cc b/components/webdata/common/web_database_migration_unittest.cc
|
| index 0d0c487407001b75497d0fad519ccf548b417cbd..26563b22c58b5dc50311ec58fcc3879d03b5ba51 100644
|
| --- a/components/webdata/common/web_database_migration_unittest.cc
|
| +++ b/components/webdata/common/web_database_migration_unittest.cc
|
| @@ -248,7 +248,7 @@ class WebDatabaseMigrationTest : public testing::Test {
|
| DISALLOW_COPY_AND_ASSIGN(WebDatabaseMigrationTest);
|
| };
|
|
|
| -const int WebDatabaseMigrationTest::kCurrentTestedVersionNumber = 55;
|
| +const int WebDatabaseMigrationTest::kCurrentTestedVersionNumber = 56;
|
|
|
| void WebDatabaseMigrationTest::LoadDatabase(
|
| const base::FilePath::StringType& file) {
|
| @@ -2580,3 +2580,66 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion54ToCurrent) {
|
| ASSERT_FALSE(s.Step());
|
| }
|
| }
|
| +
|
| +// Tests that migrating from version 55 to version 56 adds the language_code
|
| +// column to autofill_profiles table.
|
| +TEST_F(WebDatabaseMigrationTest, MigrateVersion55ToCurrent) {
|
| + ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_55.sql")));
|
| +
|
| + // Verify pre-conditions. These are expectations for version 55 of the
|
| + // database.
|
| + {
|
| + sql::Connection connection;
|
| + ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
| + ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
| +
|
| + EXPECT_FALSE(
|
| + connection.DoesColumnExist("autofill_profiles", "language_code"));
|
| + }
|
| +
|
| + DoMigration();
|
| +
|
| + // Verify post-conditions. These are expectations for current version of the
|
| + // database.
|
| + {
|
| + sql::Connection connection;
|
| + ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
| + ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
|
| +
|
| + // Check version.
|
| + EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection));
|
| +
|
| + // The language_code column should have been added to autofill_profiles
|
| + // table.
|
| + EXPECT_TRUE(
|
| + connection.DoesColumnExist("autofill_profiles", "language_code"));
|
| +
|
| + // Data should have been preserved. Language code should have been set to
|
| + // empty string.
|
| + sql::Statement s_profiles(
|
| + connection.GetUniqueStatement(
|
| + "SELECT guid, company_name, street_address, dependent_locality,"
|
| + " city, state, zipcode, sorting_code, country_code, language_code,"
|
| + " date_modified, origin "
|
| + "FROM autofill_profiles"));
|
| +
|
| + ASSERT_TRUE(s_profiles.Step());
|
| + EXPECT_EQ("00000000-0000-0000-0000-000000000001",
|
| + s_profiles.ColumnString(0));
|
| + EXPECT_EQ(ASCIIToUTF16("Google Inc"), s_profiles.ColumnString16(1));
|
| + EXPECT_EQ(ASCIIToUTF16("340 Main St"),
|
| + s_profiles.ColumnString16(2));
|
| + EXPECT_EQ(base::string16(), s_profiles.ColumnString16(3));
|
| + EXPECT_EQ(ASCIIToUTF16("Los Angeles"), s_profiles.ColumnString16(4));
|
| + EXPECT_EQ(ASCIIToUTF16("CA"), s_profiles.ColumnString16(5));
|
| + EXPECT_EQ(ASCIIToUTF16("90291"), s_profiles.ColumnString16(6));
|
| + EXPECT_EQ(base::string16(), s_profiles.ColumnString16(7));
|
| + EXPECT_EQ(ASCIIToUTF16("US"), s_profiles.ColumnString16(8));
|
| + EXPECT_EQ(base::string16(), s_profiles.ColumnString16(9));
|
| + EXPECT_EQ(1395948829, s_profiles.ColumnInt(10));
|
| + EXPECT_EQ(ASCIIToUTF16("Chrome settings"), s_profiles.ColumnString16(11));
|
| +
|
| + // No more entries expected.
|
| + ASSERT_FALSE(s_profiles.Step());
|
| + }
|
| +}
|
|
|