OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/guid.h" | 9 #include "base/guid.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| 11 #include "base/path_service.h" |
11 #include "base/stl_util.h" | 12 #include "base/stl_util.h" |
12 #include "base/strings/string16.h" | 13 #include "base/strings/string16.h" |
13 #include "base/strings/string_number_conversions.h" | 14 #include "base/strings/string_number_conversions.h" |
14 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
15 #include "base/time.h" | 16 #include "base/time.h" |
16 #include "base/values.h" | 17 #include "base/values.h" |
17 #include "chrome/browser/webdata/keyword_table.h" | 18 #include "chrome/browser/webdata/keyword_table.h" |
18 #include "chrome/browser/webdata/logins_table.h" | 19 #include "chrome/browser/webdata/logins_table.h" |
19 #include "chrome/browser/webdata/token_service_table.h" | 20 #include "chrome/browser/webdata/token_service_table.h" |
20 #include "chrome/browser/webdata/web_apps_table.h" | 21 #include "chrome/browser/webdata/web_apps_table.h" |
21 #include "chrome/browser/webdata/web_intents_table.h" | 22 #include "chrome/browser/webdata/web_intents_table.h" |
22 #include "chrome/test/base/ui_test_utils.h" | |
23 #include "components/autofill/core/browser/autofill_country.h" | 23 #include "components/autofill/core/browser/autofill_country.h" |
24 #include "components/autofill/core/browser/autofill_profile.h" | 24 #include "components/autofill/core/browser/autofill_profile.h" |
25 #include "components/autofill/core/browser/autofill_type.h" | 25 #include "components/autofill/core/browser/autofill_type.h" |
26 #include "components/autofill/core/browser/credit_card.h" | 26 #include "components/autofill/core/browser/credit_card.h" |
27 #include "components/autofill/core/browser/webdata/autofill_change.h" | 27 #include "components/autofill/core/browser/webdata/autofill_change.h" |
28 #include "components/autofill/core/browser/webdata/autofill_entry.h" | 28 #include "components/autofill/core/browser/webdata/autofill_entry.h" |
29 #include "components/autofill/core/browser/webdata/autofill_table.h" | 29 #include "components/autofill/core/browser/webdata/autofill_table.h" |
30 #include "components/webdata/common/web_database.h" | 30 #include "components/webdata/common/web_database.h" |
31 #include "sql/statement.h" | 31 #include "sql/statement.h" |
32 #include "testing/gtest/include/gtest/gtest.h" | 32 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 // number and a new migration test added below. | 200 // number and a new migration test added below. |
201 static const int kCurrentTestedVersionNumber; | 201 static const int kCurrentTestedVersionNumber; |
202 | 202 |
203 base::FilePath GetDatabasePath() { | 203 base::FilePath GetDatabasePath() { |
204 const base::FilePath::CharType kWebDatabaseFilename[] = | 204 const base::FilePath::CharType kWebDatabaseFilename[] = |
205 FILE_PATH_LITERAL("TestWebDatabase.sqlite3"); | 205 FILE_PATH_LITERAL("TestWebDatabase.sqlite3"); |
206 return temp_dir_.path().Append(base::FilePath(kWebDatabaseFilename)); | 206 return temp_dir_.path().Append(base::FilePath(kWebDatabaseFilename)); |
207 } | 207 } |
208 | 208 |
209 // The textual contents of |file| are read from | 209 // The textual contents of |file| are read from |
210 // "chrome/test/data/web_database" and returned in the string |contents|. | 210 // "components/test/data/web_database" and returned in the string |contents|. |
211 // Returns true if the file exists and is read successfully, false otherwise. | 211 // Returns true if the file exists and is read successfully, false otherwise. |
212 bool GetWebDatabaseData(const base::FilePath& file, std::string* contents) { | 212 bool GetWebDatabaseData(const base::FilePath& file, std::string* contents) { |
213 base::FilePath path = ui_test_utils::GetTestFilePath( | 213 base::FilePath source_path; |
214 base::FilePath(FILE_PATH_LITERAL("web_database")), file); | 214 PathService::Get(base::DIR_SOURCE_ROOT, &source_path); |
215 return file_util::PathExists(path) && | 215 source_path = source_path.AppendASCII("components"); |
216 file_util::ReadFileToString(path, contents); | 216 source_path = source_path.AppendASCII("test"); |
| 217 source_path = source_path.AppendASCII("data"); |
| 218 source_path = source_path.AppendASCII("web_database"); |
| 219 source_path = source_path.Append(file); |
| 220 return file_util::PathExists(source_path) && |
| 221 file_util::ReadFileToString(source_path, contents); |
217 } | 222 } |
218 | 223 |
219 static int VersionFromConnection(sql::Connection* connection) { | 224 static int VersionFromConnection(sql::Connection* connection) { |
220 // Get version. | 225 // Get version. |
221 sql::Statement s(connection->GetUniqueStatement( | 226 sql::Statement s(connection->GetUniqueStatement( |
222 "SELECT value FROM meta WHERE key='version'")); | 227 "SELECT value FROM meta WHERE key='version'")); |
223 if (!s.Step()) | 228 if (!s.Step()) |
224 return 0; | 229 return 0; |
225 return s.ColumnInt(0); | 230 return s.ColumnInt(0); |
226 } | 231 } |
(...skipping 1786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2013 ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection)); | 2018 ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection)); |
2014 | 2019 |
2015 // Check version. | 2020 // Check version. |
2016 EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection)); | 2021 EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection)); |
2017 | 2022 |
2018 // A new column should have been created in both tables. | 2023 // A new column should have been created in both tables. |
2019 EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "origin")); | 2024 EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "origin")); |
2020 EXPECT_TRUE(connection.DoesColumnExist("credit_cards", "origin")); | 2025 EXPECT_TRUE(connection.DoesColumnExist("credit_cards", "origin")); |
2021 } | 2026 } |
2022 } | 2027 } |
OLD | NEW |