| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/browsing_data_database_helper.h" | 5 #include "chrome/browser/browsing_data_database_helper.h" |
| 6 | 6 |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "chrome/test/testing_profile.h" | 8 #include "chrome/test/testing_profile.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| 11 namespace { | |
| 12 class TestCompletionCallback { | |
| 13 public: | |
| 14 TestCompletionCallback() | |
| 15 : have_result_(false) { | |
| 16 } | |
| 17 | |
| 18 bool have_result() const { return have_result_; } | |
| 19 | |
| 20 const std::vector<BrowsingDataDatabaseHelper::DatabaseInfo>& result() { | |
| 21 return result_; | |
| 22 } | |
| 23 | |
| 24 void callback(const std::vector< | |
| 25 BrowsingDataDatabaseHelper::DatabaseInfo>& info) { | |
| 26 have_result_ = true; | |
| 27 result_ = info; | |
| 28 } | |
| 29 | |
| 30 private: | |
| 31 bool have_result_; | |
| 32 std::vector<BrowsingDataDatabaseHelper::DatabaseInfo> result_; | |
| 33 | |
| 34 DISALLOW_COPY_AND_ASSIGN(TestCompletionCallback); | |
| 35 }; | |
| 36 } // namespace | |
| 37 | |
| 38 TEST(CannedBrowsingDataDatabaseTest, AddDatabase) { | |
| 39 TestingProfile profile; | |
| 40 | |
| 41 const GURL origin1("http://host1:1/"); | |
| 42 const GURL origin2("http://host2:1/"); | |
| 43 const char origin_str1[] = "http_host1_1"; | |
| 44 const char origin_str2[] = "http_host2_1"; | |
| 45 const char db1[] = "db1"; | |
| 46 const char db2[] = "db2"; | |
| 47 const char db3[] = "db3"; | |
| 48 | |
| 49 scoped_refptr<CannedBrowsingDataDatabaseHelper> helper( | |
| 50 new CannedBrowsingDataDatabaseHelper(&profile)); | |
| 51 helper->AddDatabase(origin1, db1, ""); | |
| 52 helper->AddDatabase(origin1, db2, ""); | |
| 53 helper->AddDatabase(origin2, db3, ""); | |
| 54 | |
| 55 TestCompletionCallback callback; | |
| 56 helper->StartFetching( | |
| 57 NewCallback(&callback, &TestCompletionCallback::callback)); | |
| 58 ASSERT_TRUE(callback.have_result()); | |
| 59 | |
| 60 std::vector<BrowsingDataDatabaseHelper::DatabaseInfo> result = | |
| 61 callback.result(); | |
| 62 | |
| 63 ASSERT_EQ(3u, result.size()); | |
| 64 EXPECT_STREQ(origin_str1, result[0].origin_identifier.c_str()); | |
| 65 EXPECT_STREQ(db1, result[0].database_name.c_str()); | |
| 66 EXPECT_STREQ(origin_str1, result[1].origin_identifier.c_str()); | |
| 67 EXPECT_STREQ(db2, result[1].database_name.c_str()); | |
| 68 EXPECT_STREQ(origin_str2, result[2].origin_identifier.c_str()); | |
| 69 EXPECT_STREQ(db3, result[2].database_name.c_str()); | |
| 70 } | |
| 71 | |
| 72 TEST(CannedBrowsingDataDatabaseTest, Unique) { | |
| 73 TestingProfile profile; | |
| 74 | |
| 75 const GURL origin("http://host1:1/"); | |
| 76 const char origin_str[] = "http_host1_1"; | |
| 77 const char db[] = "db1"; | |
| 78 | |
| 79 scoped_refptr<CannedBrowsingDataDatabaseHelper> helper( | |
| 80 new CannedBrowsingDataDatabaseHelper(&profile)); | |
| 81 helper->AddDatabase(origin, db, ""); | |
| 82 helper->AddDatabase(origin, db, ""); | |
| 83 | |
| 84 TestCompletionCallback callback; | |
| 85 helper->StartFetching( | |
| 86 NewCallback(&callback, &TestCompletionCallback::callback)); | |
| 87 ASSERT_TRUE(callback.have_result()); | |
| 88 | |
| 89 std::vector<BrowsingDataDatabaseHelper::DatabaseInfo> result = | |
| 90 callback.result(); | |
| 91 | |
| 92 ASSERT_EQ(1u, result.size()); | |
| 93 EXPECT_STREQ(origin_str, result[0].origin_identifier.c_str()); | |
| 94 EXPECT_STREQ(db, result[0].database_name.c_str()); | |
| 95 } | |
| 96 | |
| 97 TEST(CannedBrowsingDataDatabaseTest, Empty) { | 11 TEST(CannedBrowsingDataDatabaseTest, Empty) { |
| 98 TestingProfile profile; | 12 TestingProfile profile; |
| 99 | 13 |
| 100 const GURL origin("http://host1:1/"); | 14 const GURL origin("http://host1:1/"); |
| 101 const char db[] = "db1"; | 15 const char db[] = "db1"; |
| 102 | 16 |
| 103 scoped_refptr<CannedBrowsingDataDatabaseHelper> helper( | 17 scoped_refptr<CannedBrowsingDataDatabaseHelper> helper( |
| 104 new CannedBrowsingDataDatabaseHelper(&profile)); | 18 new CannedBrowsingDataDatabaseHelper(&profile)); |
| 105 | 19 |
| 106 ASSERT_TRUE(helper->empty()); | 20 ASSERT_TRUE(helper->empty()); |
| 107 helper->AddDatabase(origin, db, ""); | 21 helper->AddDatabase(origin, db, ""); |
| 108 ASSERT_FALSE(helper->empty()); | 22 ASSERT_FALSE(helper->empty()); |
| 109 helper->Reset(); | 23 helper->Reset(); |
| 110 ASSERT_TRUE(helper->empty()); | 24 ASSERT_TRUE(helper->empty()); |
| 111 } | 25 } |
| OLD | NEW |