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 "chrome/browser/browsing_data/browsing_data_indexed_db_helper.h" |
| 6 |
| 7 #include "base/message_loop/message_loop_proxy.h" |
| 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "chrome/test/base/testing_profile.h" |
| 10 #include "content/public/browser/browser_context.h" |
| 11 #include "content/public/browser/storage_partition.h" |
| 12 #include "content/public/test/test_browser_thread_bundle.h" |
5 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
6 | 14 |
7 #include "base/strings/utf_string_conversions.h" | |
8 #include "chrome/browser/browsing_data/browsing_data_indexed_db_helper.h" | |
9 #include "chrome/test/base/testing_profile.h" | |
10 | |
11 namespace { | 15 namespace { |
12 | 16 |
13 typedef testing::Test CannedBrowsingDataIndexedDBHelperTest; | 17 class CannedBrowsingDataIndexedDBHelperTest : public testing::Test { |
| 18 public: |
| 19 virtual void SetUp() OVERRIDE { |
| 20 IndexedDBContext()->SetTaskRunnerForTesting( |
| 21 base::MessageLoopProxy::current().get()); |
| 22 } |
| 23 |
| 24 content::IndexedDBContext* IndexedDBContext() { |
| 25 return content::BrowserContext::GetDefaultStoragePartition(&profile_)-> |
| 26 GetIndexedDBContext(); |
| 27 } |
| 28 |
| 29 private: |
| 30 content::TestBrowserThreadBundle thread_bundle_; |
| 31 TestingProfile profile_; |
| 32 }; |
14 | 33 |
15 TEST_F(CannedBrowsingDataIndexedDBHelperTest, Empty) { | 34 TEST_F(CannedBrowsingDataIndexedDBHelperTest, Empty) { |
16 const GURL origin("http://host1:1/"); | 35 const GURL origin("http://host1:1/"); |
17 const base::string16 description(base::ASCIIToUTF16("description")); | 36 const base::string16 description(base::ASCIIToUTF16("description")); |
18 | 37 |
19 scoped_refptr<CannedBrowsingDataIndexedDBHelper> helper( | 38 scoped_refptr<CannedBrowsingDataIndexedDBHelper> helper( |
20 new CannedBrowsingDataIndexedDBHelper()); | 39 new CannedBrowsingDataIndexedDBHelper(IndexedDBContext())); |
21 | 40 |
22 ASSERT_TRUE(helper->empty()); | 41 ASSERT_TRUE(helper->empty()); |
23 helper->AddIndexedDB(origin, description); | 42 helper->AddIndexedDB(origin, description); |
24 ASSERT_FALSE(helper->empty()); | 43 ASSERT_FALSE(helper->empty()); |
25 helper->Reset(); | 44 helper->Reset(); |
26 ASSERT_TRUE(helper->empty()); | 45 ASSERT_TRUE(helper->empty()); |
27 } | 46 } |
28 | 47 |
| 48 TEST_F(CannedBrowsingDataIndexedDBHelperTest, Delete) { |
| 49 const GURL origin1("http://host1:9000"); |
| 50 const base::string16 db1(base::ASCIIToUTF16("db1")); |
| 51 |
| 52 const GURL origin2("http://example.com"); |
| 53 const base::string16 db2(base::ASCIIToUTF16("db2")); |
| 54 const base::string16 db3(base::ASCIIToUTF16("db3")); |
| 55 |
| 56 scoped_refptr<CannedBrowsingDataIndexedDBHelper> helper( |
| 57 new CannedBrowsingDataIndexedDBHelper(IndexedDBContext())); |
| 58 |
| 59 EXPECT_TRUE(helper->empty()); |
| 60 helper->AddIndexedDB(origin1, db1); |
| 61 helper->AddIndexedDB(origin2, db2); |
| 62 helper->AddIndexedDB(origin2, db3); |
| 63 EXPECT_EQ(3u, helper->GetIndexedDBCount()); |
| 64 helper->DeleteIndexedDB(origin2); |
| 65 EXPECT_EQ(1u, helper->GetIndexedDBCount()); |
| 66 } |
| 67 |
29 TEST_F(CannedBrowsingDataIndexedDBHelperTest, IgnoreExtensionsAndDevTools) { | 68 TEST_F(CannedBrowsingDataIndexedDBHelperTest, IgnoreExtensionsAndDevTools) { |
30 const GURL origin1("chrome-extension://abcdefghijklmnopqrstuvwxyz/"); | 69 const GURL origin1("chrome-extension://abcdefghijklmnopqrstuvwxyz/"); |
31 const GURL origin2("chrome-devtools://abcdefghijklmnopqrstuvwxyz/"); | 70 const GURL origin2("chrome-devtools://abcdefghijklmnopqrstuvwxyz/"); |
32 const base::string16 description(base::ASCIIToUTF16("description")); | 71 const base::string16 description(base::ASCIIToUTF16("description")); |
33 | 72 |
34 scoped_refptr<CannedBrowsingDataIndexedDBHelper> helper( | 73 scoped_refptr<CannedBrowsingDataIndexedDBHelper> helper( |
35 new CannedBrowsingDataIndexedDBHelper()); | 74 new CannedBrowsingDataIndexedDBHelper(IndexedDBContext())); |
36 | 75 |
37 ASSERT_TRUE(helper->empty()); | 76 ASSERT_TRUE(helper->empty()); |
38 helper->AddIndexedDB(origin1, description); | 77 helper->AddIndexedDB(origin1, description); |
39 ASSERT_TRUE(helper->empty()); | 78 ASSERT_TRUE(helper->empty()); |
40 helper->AddIndexedDB(origin2, description); | 79 helper->AddIndexedDB(origin2, description); |
41 ASSERT_TRUE(helper->empty()); | 80 ASSERT_TRUE(helper->empty()); |
42 } | 81 } |
43 | 82 |
44 } // namespace | 83 } // namespace |
OLD | NEW |