Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(343)

Side by Side Diff: webkit/database/database_tracker_unittest.cc

Issue 11359217: Move scoped_temp_dir from base to base/files (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "base/file_path.h" 5 #include "base/file_path.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "base/files/scoped_temp_dir.h"
7 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop.h" 9 #include "base/message_loop.h"
9 #include "base/message_loop_proxy.h" 10 #include "base/message_loop_proxy.h"
10 #include "base/platform_file.h" 11 #include "base/platform_file.h"
11 #include "base/scoped_temp_dir.h"
12 #include "base/time.h" 12 #include "base/time.h"
13 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
14 #include "net/base/net_errors.h" 14 #include "net/base/net_errors.h"
15 #include "net/base/test_completion_callback.h" 15 #include "net/base/test_completion_callback.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 #include "third_party/sqlite/sqlite3.h" 17 #include "third_party/sqlite/sqlite3.h"
18 #include "webkit/database/database_tracker.h" 18 #include "webkit/database/database_tracker.h"
19 #include "webkit/database/database_util.h" 19 #include "webkit/database/database_util.h"
20 #include "webkit/quota/mock_special_storage_policy.h" 20 #include "webkit/quota/mock_special_storage_policy.h"
21 #include "webkit/quota/quota_manager.h" 21 #include "webkit/quota/quota_manager.h"
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 180
181 // We declare a helper class, and make it a friend of DatabaseTracker using 181 // We declare a helper class, and make it a friend of DatabaseTracker using
182 // the FRIEND_TEST() macro, and we implement all tests we want to run as 182 // the FRIEND_TEST() macro, and we implement all tests we want to run as
183 // static methods of this class. Then we make our TEST() targets call these 183 // static methods of this class. Then we make our TEST() targets call these
184 // static functions. This allows us to run each test in normal mode and 184 // static functions. This allows us to run each test in normal mode and
185 // incognito mode without writing the same code twice. 185 // incognito mode without writing the same code twice.
186 class DatabaseTracker_TestHelper_Test { 186 class DatabaseTracker_TestHelper_Test {
187 public: 187 public:
188 static void TestDeleteOpenDatabase(bool incognito_mode) { 188 static void TestDeleteOpenDatabase(bool incognito_mode) {
189 // Initialize the tracker database. 189 // Initialize the tracker database.
190 ScopedTempDir temp_dir; 190 base::ScopedTempDir temp_dir;
191 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 191 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
192 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy = 192 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy =
193 new quota::MockSpecialStoragePolicy; 193 new quota::MockSpecialStoragePolicy;
194 special_storage_policy->AddProtected(GURL(kOrigin2Url)); 194 special_storage_policy->AddProtected(GURL(kOrigin2Url));
195 scoped_refptr<DatabaseTracker> tracker( 195 scoped_refptr<DatabaseTracker> tracker(
196 new DatabaseTracker(temp_dir.path(), incognito_mode, 196 new DatabaseTracker(temp_dir.path(), incognito_mode,
197 special_storage_policy, NULL, NULL)); 197 special_storage_policy, NULL, NULL));
198 198
199 // Create and open three databases. 199 // Create and open three databases.
200 int64 database_size = 0; 200 int64 database_size = 0;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 file_util::PathExists(tracker->GetFullDBFilePath(kOrigin2, kDB2))); 285 file_util::PathExists(tracker->GetFullDBFilePath(kOrigin2, kDB2)));
286 EXPECT_TRUE( 286 EXPECT_TRUE(
287 file_util::PathExists(tracker->GetFullDBFilePath(kOrigin2, kDB3))); 287 file_util::PathExists(tracker->GetFullDBFilePath(kOrigin2, kDB3)));
288 288
289 tracker->DatabaseClosed(kOrigin2, kDB3); 289 tracker->DatabaseClosed(kOrigin2, kDB3);
290 tracker->RemoveObserver(&observer); 290 tracker->RemoveObserver(&observer);
291 } 291 }
292 292
293 static void TestDatabaseTracker(bool incognito_mode) { 293 static void TestDatabaseTracker(bool incognito_mode) {
294 // Initialize the tracker database. 294 // Initialize the tracker database.
295 ScopedTempDir temp_dir; 295 base::ScopedTempDir temp_dir;
296 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 296 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
297 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy = 297 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy =
298 new quota::MockSpecialStoragePolicy; 298 new quota::MockSpecialStoragePolicy;
299 special_storage_policy->AddProtected(GURL(kOrigin2Url)); 299 special_storage_policy->AddProtected(GURL(kOrigin2Url));
300 scoped_refptr<DatabaseTracker> tracker( 300 scoped_refptr<DatabaseTracker> tracker(
301 new DatabaseTracker(temp_dir.path(), incognito_mode, 301 new DatabaseTracker(temp_dir.path(), incognito_mode,
302 special_storage_policy, NULL, NULL)); 302 special_storage_policy, NULL, NULL));
303 303
304 // Add two observers. 304 // Add two observers.
305 TestObserver observer1; 305 TestObserver observer1;
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 EXPECT_TRUE(origin1_info); 434 EXPECT_TRUE(origin1_info);
435 EXPECT_EQ(0, origin1_info->TotalSize()); 435 EXPECT_EQ(0, origin1_info->TotalSize());
436 } 436 }
437 437
438 static void DatabaseTrackerQuotaIntegration() { 438 static void DatabaseTrackerQuotaIntegration() {
439 const GURL kOrigin(kOrigin1Url); 439 const GURL kOrigin(kOrigin1Url);
440 const string16 kOriginId = DatabaseUtil::GetOriginIdentifier(kOrigin); 440 const string16 kOriginId = DatabaseUtil::GetOriginIdentifier(kOrigin);
441 const string16 kName = ASCIIToUTF16("name"); 441 const string16 kName = ASCIIToUTF16("name");
442 const string16 kDescription = ASCIIToUTF16("description"); 442 const string16 kDescription = ASCIIToUTF16("description");
443 443
444 ScopedTempDir temp_dir; 444 base::ScopedTempDir temp_dir;
445 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 445 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
446 446
447 // Initialize the tracker with a QuotaManagerProxy 447 // Initialize the tracker with a QuotaManagerProxy
448 scoped_refptr<TestQuotaManagerProxy> test_quota_proxy( 448 scoped_refptr<TestQuotaManagerProxy> test_quota_proxy(
449 new TestQuotaManagerProxy); 449 new TestQuotaManagerProxy);
450 scoped_refptr<DatabaseTracker> tracker( 450 scoped_refptr<DatabaseTracker> tracker(
451 new DatabaseTracker(temp_dir.path(), false /* incognito */, 451 new DatabaseTracker(temp_dir.path(), false /* incognito */,
452 NULL, test_quota_proxy, NULL)); 452 NULL, test_quota_proxy, NULL));
453 EXPECT_TRUE(test_quota_proxy->registered_client_); 453 EXPECT_TRUE(test_quota_proxy->registered_client_);
454 454
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 const string16 kOrigin1 = 534 const string16 kOrigin1 =
535 DatabaseUtil::GetOriginIdentifier(GURL(kOrigin1Url)); 535 DatabaseUtil::GetOriginIdentifier(GURL(kOrigin1Url));
536 const string16 kOrigin2 = 536 const string16 kOrigin2 =
537 DatabaseUtil::GetOriginIdentifier(GURL(kOrigin2Url)); 537 DatabaseUtil::GetOriginIdentifier(GURL(kOrigin2Url));
538 const string16 kDB1 = ASCIIToUTF16("db1"); 538 const string16 kDB1 = ASCIIToUTF16("db1");
539 const string16 kDB2 = ASCIIToUTF16("db2"); 539 const string16 kDB2 = ASCIIToUTF16("db2");
540 const string16 kDescription = ASCIIToUTF16("database_description"); 540 const string16 kDescription = ASCIIToUTF16("database_description");
541 541
542 // Initialize the tracker database. 542 // Initialize the tracker database.
543 MessageLoop message_loop; 543 MessageLoop message_loop;
544 ScopedTempDir temp_dir; 544 base::ScopedTempDir temp_dir;
545 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 545 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
546 FilePath origin1_db_dir; 546 FilePath origin1_db_dir;
547 FilePath origin2_db_dir; 547 FilePath origin2_db_dir;
548 { 548 {
549 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy = 549 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy =
550 new quota::MockSpecialStoragePolicy; 550 new quota::MockSpecialStoragePolicy;
551 special_storage_policy->AddSessionOnly(GURL(kOrigin2Url)); 551 special_storage_policy->AddSessionOnly(GURL(kOrigin2Url));
552 scoped_refptr<DatabaseTracker> tracker( 552 scoped_refptr<DatabaseTracker> tracker(
553 new DatabaseTracker( 553 new DatabaseTracker(
554 temp_dir.path(), false, special_storage_policy, NULL, 554 temp_dir.path(), false, special_storage_policy, NULL,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 const string16 kOrigin1 = 612 const string16 kOrigin1 =
613 DatabaseUtil::GetOriginIdentifier(GURL(kOrigin1Url)); 613 DatabaseUtil::GetOriginIdentifier(GURL(kOrigin1Url));
614 const string16 kOrigin2 = 614 const string16 kOrigin2 =
615 DatabaseUtil::GetOriginIdentifier(GURL(kOrigin2Url)); 615 DatabaseUtil::GetOriginIdentifier(GURL(kOrigin2Url));
616 const string16 kDB1 = ASCIIToUTF16("db1"); 616 const string16 kDB1 = ASCIIToUTF16("db1");
617 const string16 kDB2 = ASCIIToUTF16("db2"); 617 const string16 kDB2 = ASCIIToUTF16("db2");
618 const string16 kDescription = ASCIIToUTF16("database_description"); 618 const string16 kDescription = ASCIIToUTF16("database_description");
619 619
620 // Initialize the tracker database. 620 // Initialize the tracker database.
621 MessageLoop message_loop; 621 MessageLoop message_loop;
622 ScopedTempDir temp_dir; 622 base::ScopedTempDir temp_dir;
623 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 623 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
624 FilePath origin1_db_dir; 624 FilePath origin1_db_dir;
625 FilePath origin2_db_dir; 625 FilePath origin2_db_dir;
626 { 626 {
627 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy = 627 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy =
628 new quota::MockSpecialStoragePolicy; 628 new quota::MockSpecialStoragePolicy;
629 special_storage_policy->AddSessionOnly(GURL(kOrigin2Url)); 629 special_storage_policy->AddSessionOnly(GURL(kOrigin2Url));
630 scoped_refptr<DatabaseTracker> tracker( 630 scoped_refptr<DatabaseTracker> tracker(
631 new DatabaseTracker( 631 new DatabaseTracker(
632 temp_dir.path(), false, special_storage_policy, NULL, 632 temp_dir.path(), false, special_storage_policy, NULL,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
685 685
686 static void EmptyDatabaseNameIsValid() { 686 static void EmptyDatabaseNameIsValid() {
687 const GURL kOrigin(kOrigin1Url); 687 const GURL kOrigin(kOrigin1Url);
688 const string16 kOriginId = DatabaseUtil::GetOriginIdentifier(kOrigin); 688 const string16 kOriginId = DatabaseUtil::GetOriginIdentifier(kOrigin);
689 const string16 kEmptyName; 689 const string16 kEmptyName;
690 const string16 kDescription(ASCIIToUTF16("description")); 690 const string16 kDescription(ASCIIToUTF16("description"));
691 const string16 kChangedDescription(ASCIIToUTF16("changed_description")); 691 const string16 kChangedDescription(ASCIIToUTF16("changed_description"));
692 692
693 // Initialize a tracker database, no need to put it on disk. 693 // Initialize a tracker database, no need to put it on disk.
694 const bool kUseInMemoryTrackerDatabase = true; 694 const bool kUseInMemoryTrackerDatabase = true;
695 ScopedTempDir temp_dir; 695 base::ScopedTempDir temp_dir;
696 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 696 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
697 scoped_refptr<DatabaseTracker> tracker( 697 scoped_refptr<DatabaseTracker> tracker(
698 new DatabaseTracker(temp_dir.path(), kUseInMemoryTrackerDatabase, 698 new DatabaseTracker(temp_dir.path(), kUseInMemoryTrackerDatabase,
699 NULL, NULL, NULL)); 699 NULL, NULL, NULL));
700 700
701 // Starts off with no databases. 701 // Starts off with no databases.
702 std::vector<OriginInfo> infos; 702 std::vector<OriginInfo> infos;
703 EXPECT_TRUE(tracker->GetAllOriginsInfo(&infos)); 703 EXPECT_TRUE(tracker->GetAllOriginsInfo(&infos));
704 EXPECT_TRUE(infos.empty()); 704 EXPECT_TRUE(infos.empty());
705 705
(...skipping 25 matching lines...) Expand all
731 } 731 }
732 732
733 static void HandleSqliteError() { 733 static void HandleSqliteError() {
734 const GURL kOrigin(kOrigin1Url); 734 const GURL kOrigin(kOrigin1Url);
735 const string16 kOriginId = DatabaseUtil::GetOriginIdentifier(kOrigin); 735 const string16 kOriginId = DatabaseUtil::GetOriginIdentifier(kOrigin);
736 const string16 kName(ASCIIToUTF16("name")); 736 const string16 kName(ASCIIToUTF16("name"));
737 const string16 kDescription(ASCIIToUTF16("description")); 737 const string16 kDescription(ASCIIToUTF16("description"));
738 738
739 // Initialize a tracker database, no need to put it on disk. 739 // Initialize a tracker database, no need to put it on disk.
740 const bool kUseInMemoryTrackerDatabase = true; 740 const bool kUseInMemoryTrackerDatabase = true;
741 ScopedTempDir temp_dir; 741 base::ScopedTempDir temp_dir;
742 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 742 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
743 scoped_refptr<DatabaseTracker> tracker( 743 scoped_refptr<DatabaseTracker> tracker(
744 new DatabaseTracker(temp_dir.path(), kUseInMemoryTrackerDatabase, 744 new DatabaseTracker(temp_dir.path(), kUseInMemoryTrackerDatabase,
745 NULL, NULL, NULL)); 745 NULL, NULL, NULL));
746 746
747 // Setup to observe OnScheduledForDelete notifications. 747 // Setup to observe OnScheduledForDelete notifications.
748 TestObserver observer(false, true); 748 TestObserver observer(false, true);
749 tracker->AddObserver(&observer); 749 tracker->AddObserver(&observer);
750 750
751 // Verify does no harm when there is no such database. 751 // Verify does no harm when there is no such database.
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 839
840 TEST(DatabaseTrackerTest, EmptyDatabaseNameIsValid) { 840 TEST(DatabaseTrackerTest, EmptyDatabaseNameIsValid) {
841 DatabaseTracker_TestHelper_Test::EmptyDatabaseNameIsValid(); 841 DatabaseTracker_TestHelper_Test::EmptyDatabaseNameIsValid();
842 } 842 }
843 843
844 TEST(DatabaseTrackerTest, HandleSqliteError) { 844 TEST(DatabaseTrackerTest, HandleSqliteError) {
845 DatabaseTracker_TestHelper_Test::HandleSqliteError(); 845 DatabaseTracker_TestHelper_Test::HandleSqliteError();
846 } 846 }
847 847
848 } // namespace webkit_database 848 } // namespace webkit_database
OLDNEW
« no previous file with comments | « webkit/blob/shareable_file_reference_unittest.cc ('k') | webkit/dom_storage/dom_storage_area_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698