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 3 // found in the LICENSE file. 4 5 #include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h" 6 7 #include "chrome/test/base/testing_profile.h" 8 #include "content/public/test/test_browser_thread_bundle.h" 9 #include "testing/gtest/include/gtest/gtest.h" 10 11 namespace { 12 13 class CannedBrowsingDataLocalStorageTest : public testing::Test { 14 content::TestBrowserThreadBundle thread_bundle_; 15 }; 16 17 TEST_F(CannedBrowsingDataLocalStorageTest, Empty) { 18 TestingProfile profile; 19 20 const GURL origin("http://host1:1/"); 21 22 scoped_refptr<CannedBrowsingDataLocalStorageHelper> helper( 23 new CannedBrowsingDataLocalStorageHelper(&profile)); 24 25 ASSERT_TRUE(helper->empty()); 26 helper->AddLocalStorage(origin); 27 ASSERT_FALSE(helper->empty()); 28 helper->Reset(); 29 ASSERT_TRUE(helper->empty()); 30 } 31 32 TEST_F(CannedBrowsingDataLocalStorageTest, Delete) { 33 TestingProfile profile; 34 35 const GURL origin1("http://host1:9000"); 36 const GURL origin2("http://example.com"); 37 const GURL origin3("http://foo.example.com"); 38 39 scoped_refptr<CannedBrowsingDataLocalStorageHelper> helper( 40 new CannedBrowsingDataLocalStorageHelper(&profile)); 41 42 EXPECT_TRUE(helper->empty()); 43 helper->AddLocalStorage(origin1); 44 helper->AddLocalStorage(origin2); 45 helper->AddLocalStorage(origin3); 46 EXPECT_EQ(3u, helper->GetLocalStorageCount()); 47 helper->DeleteOrigin(origin2); 48 EXPECT_EQ(2u, helper->GetLocalStorageCount()); 49 helper->DeleteOrigin(origin1); 50 EXPECT_EQ(1u, helper->GetLocalStorageCount()); 51 } 52 53 TEST_F(CannedBrowsingDataLocalStorageTest, IgnoreExtensionsAndDevTools) { 54 TestingProfile profile; 55 56 const GURL origin1("chrome-extension://abcdefghijklmnopqrstuvwxyz/"); 57 const GURL origin2("chrome-devtools://abcdefghijklmnopqrstuvwxyz/"); 58 59 scoped_refptr<CannedBrowsingDataLocalStorageHelper> helper( 60 new CannedBrowsingDataLocalStorageHelper(&profile)); 61 62 ASSERT_TRUE(helper->empty()); 63 helper->AddLocalStorage(origin1); 64 ASSERT_TRUE(helper->empty()); 65 helper->AddLocalStorage(origin2); 66 ASSERT_TRUE(helper->empty()); 67 } 68 69 } // namespace 70